Form php

di il
1 risposte

Form php

Ciao, ho creato una form html e ho bisogno di inviare i dati della form al mio database.
Ho il seguente codice php:

<?php

if(isset($_POST['mySubmit'])) {
    $db = mysqli_connect('localhost','root','','DBsito');
    if (!$db)
    {
        die('Could not connect to database: ' . mysqli_error());
    }

    $db_select = mysqli_select_db($db, 'DBsito');

        //Salva il nome del file
        $imagename = $_FILES['immagine']['name'];
        //tipo del file
        $imagetype = $_FILES['immagine']['type'];
        $imagetemp = $_FILES['immagine']['tmp_name'];
        
        //Path dell'upload
        $imagePath = "img/stanza/";
        
        if(is_uploaded_file($imagetemp)) {
            if(move_uploaded_file($imagetemp, $imagePath . $imagename)) {
                echo "Sussecfully uploaded your image.";
            }
            else {
                echo "Failed to move your image.";
            }
            
        }
        else {
            echo "Failed to upload your image.";
        }

    $stanza = mysqli_real_escape_string($db, $_POST['stanza']);
    $username = mysqli_real_escape_string($db, $_POST['utente']);
    $categoria=mysqli_real_escape_string($db, $_POST['categoria']);

    $result = mysqli_query($db, "SELECT stanza.nome_stanza FROM stanza WHERE BINARY stanza.nome_stanza = BINARY '$stanza' AND BINARY stanza.nome_categoria = BINARY '$categoria' AND BINARY stanza.user_utente = BINARY '$username' ");
    

    if(!empty($stanza) && mysqli_num_rows($result)) {
        $name_error = "Stanza già creata per questa categoria!";

    }
    else if (!empty($stanza)){
        $query = "INSERT INTO stanza (nome_stanza, nome_categoria, user_utente, immagine) values ('$stanza', $categoria','$username', '$imagename')";

        if(!mysqli_query($db, $query)){
            die("DAMMIT");
        }
        else{ 
            { header("Location: categoria.php"); }
        }
        mysqli_query($db, $query);
    }
    else {
        $name_error = "";
    }
    mysqli_close($db);
}
?>

Il problema è che quando invio la form, ho il seguente output: Sussecfully uploaded your image.DAMMIT
Quindi l'immagine caricata dall'utente viene spostata correttamente nella cartella indicata, ma qualcosa va storto quando poi richiamo la "insert to". Anche perché ho controllato tramite var_dump() il contenuto di ogni singola variabile php ($categoria, $stanza, $username, $imagename) e tutti i valori sono corretti.
Quale potrebbe essere il problema?

1 Risposte

  • Re: Form php

    Mostra qualche tipo di errore https://www.php.net/manual/en/mysqli.error.ph
    Nel codice non è tra virgolette, controlla nuovamente.
    Comunque puoi usare header quando non esiste output. Invece controlla solo se diversa da vera e in quel caso mostri a schermo l'errore e comunque non usi header.
    if(is_uploaded_file($imagetemp)) {
                if(move_uploaded_file($imagetemp, $imagePath . $imagename) != true) {
                    $my_error = "Failed to move your image.";
                }
            }
            else {
                $my_error = "Failed to upload your image.";
            }
    Infine se è definita $my_error per qualche motivo non va.
Devi accedere o registrarti per scrivere nel forum
1 risposte