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

    Stesso PHP ma INSERT non funzionante

    Ciao a tutti, ho nella stessa pagina html due form diverse per l'inserimento di dati in due tabelle dello stesso database collegate con action a due pagine php diverse. Il problema è che con il quasi identico codice l'insert in una tabella funzione mentre nell'altra no, ho controllato mille volte i nomi dei campi e dovrebbero essere giusti.

    codice:
    <?php    $hostname="localhost";
        $username="carfinish";
        $password="";
    	
        $con = mysql_connect($hostname,$username,$password);
        $db = mysql_select_db("my_carfinish", $con);
    	
    	$nome = $_POST["nome"];
    	$sede = $_POST["sede"];
    	$tel = $_POST["tel"];
    	
    	$q = "INSERT INTO fornitori (nomF, sede, telF) VALUES ('".$nome."', '".$sede."', '".$tel."')";
    	mysql_query($q);
    	
    	header("Location: home.html");
    	
    	mysql_close($con);
    
    ?>

    Questo funziona perfettamente, compresi l'autocompletamento dei campi non specificati con numerazione automatica e valori predefinti

    codice:
    <?php    $hostname="localhost";
        $username="carfinish";
        $password="";
    	
        $con = mysql_connect($hostname,$username,$password);
        $db = mysql_select_db("my_carfinish", $con);
    	
    	$nome = $_POST["nome"];
    	$citta = $_POST["citta"];
    	$ind = $_POST["ind"];
    	$tel = $_POST["tel"];
    	
    	$q = "INSERT INTO clienti (nomC, città, indirizzo, telC) VALUES ('".$nome."', '".$citta."', '".$ind."', '".$tel."')";
    	mysql_query($q);
    	 
    	header("Location: home.html");
    	
    	mysql_close($con);
    
    ?>

    Mentre questo arriva a fare la Location ma non riempe la tabella, ho anche controllato con una echo che prendesse i valori dalle caselle col $_POST e li prende

  2. #2
    Hai controllato se la query funziona lanciandola da client mysql.
    Il campo città con la a accentata non crea problemi? la lancio cosi ma è una cosa di cui non sono sicuro, prova a cambiare da città a citta.

  3. #3
    sisi ho provato a scrivere la query sql in phpmyadmin e la prende correttamente, ora provo a cambiare citta

  4. #4
    Il problema potrebbe essere causato dal fatto che non esegui nessun replace su eventuali apici che potrebbero "spezzare" la stringa SQL.

    Quando valorizzi le variabili che contengono i dati post, usa addslashes()

    Codice PHP:

    $var
    =addslashes($_POST['input_name']); 

  5. #5
    Ok, il problema era proprio la a accentata che il php non riesce ad interpretare direttamente in una stringa di query sql

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.