Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [PHP] Problema inserimento dati in database

    Eseguo il codice e mi esce questo errore.
    "Parse error: syntax error, unexpected 'if' (T_IF) in /membri/xxx/xxx.php on line 89
    La line 89 è questa qui sotto, la prima riga dopo il commento. A cosa è dovuto? come risolvo?

    Codice PHP:
    // esecuzione della query
    if (!$cn->query($sql)) {
      echo 
    "Errore della query: " $cn->error ".";
    }else{
      echo 
    "Registrazione effettuata correttamente.";



    Codice completo (oscuro dati db):

    Codice PHP:
    <?php
    $nome 
    $_POST['nome'];
    $data $_POST['data'];


    // verifico che tutti i campi siano stati compilati
    if (!$nome || !$data) {
      echo 
    'Tutti i campi del modulo sono obbligatori!';    
    }
    // verifico che il nome non contenga caratteri nocivi
    elseif (!preg_match('/^[A-Za-z \'-]+$/i',$nome)) {
      echo 
    'Il nome contiene caratteri non ammessi';    

    }else{
        


    $target_dir "uploads/";
    $target_file $target_dir basename($_FILES["fileToUpload"]["name"]);
    $uploadOk 1;
    $imageFileType strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    // Check if image file is a actual image or fake image
    if(isset($_POST["submit"])) {
        
    $check getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if(
    $check !== false) {
            echo 
    "Il file è una immagine - " $check["mime"] . ".";
            
    $uploadOk 1;
        } else {
            echo 
    "Il file che cerchi di caricare non è una immagine.";
            
    $uploadOk 0;
        }
    }
    // Check if file already exists
    if (file_exists($target_file)) {
        echo 
    "Il nome scelto è già stato utilizzato, per favore riprova.";
        
    $uploadOk 0;
    }
    // Check file size
    if ($_FILES["fileToUpload"]["size"] > 500000) {
        echo 
    "Scusaci, il tuo file è troppo grande. Per favore prova con un file di dimensioni più piccole.";
        
    $uploadOk 0;
    }
    // Allow certain file formats
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
    && $imageFileType != "gif" ) {
        echo 
    "Scusaci, sono permessi solo file con estensione JPG, JPEG, PNG & GIF.";
        
    $uploadOk 0;
    }
    // Check if $uploadOk is set to 0 by an error
    if ($uploadOk == 0) {
        echo 
    "Il caricamento non è andato a buon fine, per favore riprovare.";

    }
     
    // if everything is ok, try to upload file 
     
    else {
        if (
    move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo 
    "Il file "basename$_FILES["fileToUpload"]["name"]). " è stato caricato con successo.";
            
            
    // da qui nuovo
            // Recupero i valori inseriti nel form
    $nome $_POST['nome'];
    $data $_POST['data'];
    $missioni $_POST['missioni'];

    // dati di connessione al mio database MySQL
    $db_host 'localhost';
    $db_user 'USER';
    $db_pass 'PASS';
    $db_name 'NOME';

    // connessione al DB utilizzando MySQLi
    $cn = new mysqli($db_host$db_user$db_pass$db_name);

    // verifica su eventuali errori di connessione
    if (!$cn->connect_errno) {
        echo 
    "Connessione fallita: "$cn->connect_error ".";
        exit();
    }

    // definisco la query di inserimento dati
    $sql "INSERT INTO moduli (nome, data, missioni, file) VALUES ("
         
    "'" $nome "',"
         
    "'" $data "',"
         
    "'" $missioni "',"
         
    "'" $file "')"

    // esecuzione della query
    if (!$cn->query($sql)) {
      echo 
    "Errore della query: " $cn->error ".";
    }else{
      echo 
    "Registrazione effettuata correttamente.";
    }

    // chiusura della connessione
    $cn->close();

    //fino a qui nuovo
        
    } else {
            echo 
    "Scusaci, c'è stato un errore nel caricamento del tuo modulo, per favore riprovare.";
        }
    }

    }

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Ti manca un ; sulla riga precedente.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da flippo995 Visualizza il messaggio
    ...
    /membri/xxx/xxx.php
    ...

  4. #4
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Ti manca un ; sulla riga precedente.
    Ho risolto tutti i problemi!!! C'era anche qualche altro errorino di distrazione.
    Ora ho questo problema....

    quando richiedo la variabile "file"
    [CODE][// definisco la query di inserimento dati
    $sql = "INSERT INTO moduli (nome, data, missioni, file) VALUES ("
    . "'" . $nome . "',"
    . "'" . $data . "',"
    . "'" . $missioni . "',"
    . "'" . $file . "')"
    /CODE]

    Vorrei che mi postasse il nome del file caricato...invece mi posta campo vuoto perchè?
    Ultima modifica di flippo995; 06-09-2018 a 16:38

  5. #5
    Ho risolto tutti i problemi!!! C'era anche qualche altro errorino di distrazione.
    Ora ho questo problema....

    quando richiedo la variabile "file"
    // definisco la query di inserimento dati
    $sql = "INSERT INTO moduli (nome, data, missioni, file) VALUES ("
    . "'" . $nome . "',"
    . "'" . $data . "',"
    . "'" . $missioni . "',"
    . "'" . $file . "')"


    Vorrei che mi postasse il nome del file caricato...invece mi posta campo vuoto perchè?

  6. #6
    . "'" . $target_file . "')"

    mancava target davanti a file, oggi proprio non ci sono...

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Da sapere. Dal momento in cui usi " come delimitatore di stringa puoi tranquillamente rimpiazzare :

    Codice PHP:
    $sql "INSERT INTO moduli (nome, data, missioni, file) VALUES ("
    "'" $nome "',"
    "'" $data "',"
    "'" $missioni "',"
    "'" $file "')"
    con

    Codice PHP:
    $sql "INSERT INTO moduli (nome, data, missioni, file) VALUES ('$nome','$data','$missioni','$file')"
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Piccola modifica già apportata, per evitare errori futuri! Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.