Non riesco a connettermi al database

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Gigi_xx_1

Nuovo Utente
Messaggi
24
Reazioni
0
Punteggio
26
Ciao ho appena generato un file php da chatgpt nel file ho inserito le credenziali per connettermi al database,nel database ho creato le tabelle con un utente già inserito (si perchè non voglio la pagina registrazione) ma voglio dare l'accesso a chi dico io. il problema e che non si connette, non rileva i dati dell'utente che ho creato.
mi potete aiutare
Grazie!
 
Si scusami
PER PRIVACY HO TOLTO I DATI DEL DATABASE
ECCO IL CODICE
PHP:
<?php
// Parametri di connessione al database
$servername = "";
$username = "";
$password = "";
$dbname = "";

// Connessione al database
$conn = new mysqli($servername, $username, $password, $dbname);

// Verifica della connessione
if ($conn->connect_error) {
    die("Connessione fallita: " . $conn->connect_error);
}

// Controllo delle credenziali di accesso
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];

    // Esegue una query per verificare le credenziali
    $sql = "SELECT * FROM utenti WHERE username = '$username' AND password = '$password'";
    $result = $conn->sqli($sql);

    if ($result->num_rows == 1) {
        // Credenziali corrette, reindirizza alla pagina desiderata
        header("Location: google.com");
        exit();
    } else {
        // Credenziali errate, mostra un messaggio di errore
        $error_message = "Credenziali non valide. Riprova.";
    }
}

// Chiusura della connessione
$conn->close();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
    <style>
        /* Stili CSS */
        body {
            background-color: #f1f1f1;
            font-family: Arial, sans-serif;
        }

        .container {
            max-width: 400px;
            margin: 0 auto;
            padding: 40px;
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            margin-top: 100px;
        }

        .container h2 {
            text-align: center;
            color: #333333;
            margin-bottom: 30px;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 5px;
            color: #666666;
            font-weight: bold;
        }

        .form-group input {
            width: 100%;
            padding: 10px;
            border: 1px solid #cccccc;
            border-radius: 3px;
        }

        .form-group input[type="submit"] {
            background-color: #339966;
            color: #ffffff;
            cursor: pointer;
        }

        .form-group input[type="submit"]:hover {
            background-color: #26734d;
        }

        .error-message {
            color: red;
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>Login</h2>
        <form action="process-login.php" method="POST">
            <div class="form-group">
                <label for="username">Username</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">Password</label>
                <input type="password" id="password" name="password" required>
            </div>
            <div class="form-group">
                <input type="submit" value="Login">
            </div>
        </form>
        <?php
?>


<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
    <style>
        /* Stili CSS */
        body {
            background-color: #f1f1f1;
            font-family: Arial, sans-serif;
        }

        .container {
            max-width: 400px;
            margin: 0 auto;
            padding: 40px;
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            margin-top: 100px;
        }

        .container h2 {
            text-align: center;
            color: #333333;
            margin-bottom: 30px;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 5px;
            color: #666666;
            font-weight: bold;
        }

        .form-group input {
            width: 100%;
            padding: 10px;
            border: 1px solid #cccccc;
            border-radius: 3px;
        }

        .form-group input[type="submit"] {
            background-color: #339966;
            color: #ffffff;
            cursor: pointer;
        }

        .form-group input[type="submit"]:hover {
            background-color: #26734d;
        }

        .error-message {
            color: red;
            margin-top: 10px;
        }
    </style>
</head>
</html>
 
Ultima modifica da un moderatore:
Ti ho corretto ilk post.. quando si posta del codice va usato il tag CODE, altrimenti diventa uno schifo illeggibile!

Ma ti da qualche errore o semplicemente non fa niente?
Inoltre non so se hai semplicemente copiato male o è proprio questo il tuo codice, ma hai duplicato la parte dell'header html e del css
 
allora premesso che il db non lo connetterei in una pagina ma farei uno script a parte
 
Magari il problema non è neanche nella pagina. L'utente che usi per il login ha i permessi per accedere a quel db da quell'indirizzo ip? (probabilmente lo stesso del db ma metti il caso il db stia altrove...)
Non è che stai confondendo l'utente mysql con quello nella tabella utenti del tuo db? Mi par strano che usino le stesse credenziali...
 
Non è che stai confondendo l'utente mysql con quello nella tabella utenti del tuo db? Mi par strano che usino le stesse credenziali...

Non sta usando le medesime credenziali, o meglio, non lo puoi sapere. Quelli che usa come dati per la ricerca vengono sovrascritti dalla variabile $_POST.

@Gigi_xx_1 se lo stai facendo per imparare non è un buon inizio farsi scrivere il codice da ChatGPT. Piuttosto prova a fartelo correggere o chiedi come migliorare.

Concordo con Skills.

Che ccredenziali hai a database? Verifica non ci siano spazi e che siano effettivamente identiche (maiuscole/minuscole).

Inoltre mi sembra proprio sbagliato quel codice: non mi risulta che in mysqli esista il metodo sqli() utilizzato per fare una query...
Per altro, se fosse anche il metodo corretto (che penso proprio sia query()), è anche vulnerabile a SQL Injection.
Si usa prepared statement per le query.

Come noti non è un buon modo per imparare... ti conviene scriverti il codice, così oltre a capire cosa stai facendo tu, capisci gli aiuti di chatgpt, se sono attinenti o meno. 😉


PS. giusto per sperimentare. Prova a dire a chatgpt che ha sbagliato, perchè non esiste il metodo sqli() e perchè è vulnerabile a sql injection. Prova a vedere cosa produce...
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top