Visualizzazione risultati 1 fino 2 di 2

Discussione: Problemi di database

  1. #1
    teniamoci non è connesso Utente Blog
    Data registrazione
    27-12-2023
    Messaggi
    3

    Predefinito Problemi di database

    Buongiorno,
    Ho provato ad inserire un query sul mio database
    ma ottengo sempre questo risultato
    Codice:
    Error: INSERT INTO utente ( 'username', 'email', 'password' ) VALUES ('ddddd', 'email@gmail.com', 'a4a08d704184705167c14bf7a1f5bb3a')
    Ho scritto il seguente codice per inserire la query ed
    inviare l'email:
    Codice PHP:
    <?php
    require 'condb.php';

    // recupero dei valori dal form di registrazione
    $username=$_POST["username"];
    $email=$_POST["email"];
    $password=$_POST["password"];
    $invio_email=0;
    //Verifica che sia una stringa di email valida
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailErr = "Formato email invalido";
    echo
    $emailErr;
    exit;
    }

    //Verifica che l'username non sia vuoto
    if (empty($username)) {
    $usernameErr = "inserire username";
    echo
    $usernameErr;
    exit;
    }

    // Validating password strength
    $uppercase = preg_match('@[A-Z]@', $password);
    $lowercase = preg_match('@[a-z]@', $password);
    $number = preg_match('@[0-9]@', $password);
    $specialChars = preg_match('@[^\w]@', $password);

    // Verifica che la password rispetti la stringa di validazione e la lunghezza caratteri
    if(!$uppercase || !$lowercase || !$number || !$specialChars || strlen($password) < 8) {
    echo
    '
    La password deve essere lunga 8 caratteri e deve includere una lettera maiuscola una minuscola, un numero
    ed un carattere speciale'
    ;
    exit;
    }

    // Sotto verifica se esiste già un email uguale nel database
    if (isset($_POST["username"], $_POST["email"], $_POST["password"])) {

    // sotto query che verifica l'email.
    $query_verifica_email= "SELECT email FROM utente WHERE email = '$email'";

    $query = mysqli_query($db_connection,$query_verifica_email);
    // SE TROVA GIA' UN EMAIL REINDIRIZZA ALLA PAGINA /utente_gia_registrato.php
    if(mysqli_num_rows($query) >= 1)
    {
    //Se trova un'altra email uguale reindirizza ad una determinata pagina
    header('Location: http://localhost/teniamoci_test%20-%20Copia%20(5)/utente_gia_registrato.php');
    exit;
    }
    //cripta la password
    $password=md5($password);

    // query di inserimento valori del form nel database

    echo "e1"; // verifica db in altervista

    $sql = "INSERT INTO utente ( 'username', 'email', 'password' )

    VALUES ('
    $username', '$email', '$password')";

    echo
    "e2"; // verifica db in altervista

    if (mysqli_query($db_connection, $sql) == true) {
    echo
    "New record created successfully";
    $invio_email = 1;
    } else {
    echo
    "Error: " . $sql . "<br>" . mysqli_error($connessione);
    }

    $db_connection->close();

    } else {
    echo
    "Parametri non passati ";
    }

    if(
    $invio_email == 1){
    $to = '$email';
    $subject = 'Benvenuto su Teniamoci ';
    $message = 'Hello, this is a test email.';
    $headers = 'From: email@example.com';

    if(
    mail($to, $subject, $message, $headers)) {
    echo
    "<br> Email sent successfully!";
    } else {
    echo
    "<br> Email sending failed.";
    }
    }
    Qualcuno può sapere da cosa dipende l'errore? Grazie.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,011

    Predefinito

    Verifica che db_connection sia === true.

    Infine, provalo così:
    Codice PHP:
    $sql = "INSERT INTO utente ( username, email, password) VALUES ('$username', '$email', '$password')";
    (senza apici nei nomi delle colonne).

    In generale, testa le query su phpMyAdmin.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •