form che non invia al DB un campo

  • Creatore Discussione Creatore Discussione asevenx
  • Data di inizio Data di inizio

asevenx

Utente Attivo
7 Nov 2009
312
0
16
salve, avrei bisogno del vostro aiuto...ho realizzato un form con due campi collegati ad un db, un per il nome e l'altro per il commento. In un'altra pagina voglio visualizzare i commenti e i loro autore. Quando vado a visualizzare però mi appare solo il commento, dove sbaglio?

HTML:
<form name='form' method='post' action='commenti_ins.php'>
	<div class='box'>
		<textarea nome'titolare'></textarea>
		<textarea name='commento' style='width: 450px; height: 100px;' wrap='hard'></textarea><br>
	</div>
							
	<div class='bottoni'>
		<input type='submit' name='invia' value='Aggiungi'>
		<input type='reset' name='annulla' value='Cancella'>		
	</div>
</form>

PHP:
$host = "localhost";
$username = "xxxusername";
$password = "";
$database = "xxxdb";
$tabella = "commentibb";

$commento =$_POST['commento'];
$titolare =$_POST['titolare'];

$connessione = mysql_connect($host, $username, $password) or die("Connessione DB fallita");
mysql_select_db($database, $connessione) or die("Selezione DB fallita");

$comment = "INSERT INTO $tabella VALUES ('','$titolare','$commento')"; 
var_dump($comment);   
mysql_query($comment) or die(mysql_error('Errore...'));

grazie
 
ciao
prova in questo modo
PHP:
<?php
//.....
$commento =$_POST['commento']; 
$titolare =$_POST['titolare'];
//se non l'hai fatto metti delle verifiche sui $_POST
//non è sicuro inserire i dati così brutalmente
//comunque verifica anche qui
var_dump($_POST['commento']);
var_dump($_POST['titolare']);
$connessione = mysql_connect($host, $username, $password) or die("Connessione DB fallita"); 
mysql_select_db($database, $connessione) or die("Selezione DB fallita"); 
//immagino che $tabella provenga da qualche parte (che non vedo)
//io ho messo campo_tit,campo_com, ma tu devi mettere i nomi dei tuoi campi
$comment = "INSERT INTO $tabella(campo_tit,campo_com) VALUES('$titolare','$commento')";  
var_dump($comment);    
mysql_query($comment) or die(mysql_error('Errore...'));  
?>
 
ho fatto come hai detto, ecco cosa restituisce:

string(5) "prova" NULL string(63) "INSERT INTO commentibb(titolare,commento) VALUES('','','prova')"

e quando vado a visualizzare i risultati il commento è presente, ma il titolare no!


PS: che significa non è sicuro inserire i dati così brutalmente?

grazie
 
Modifica questa riga:
HTML:
<textarea nome'titolare'></textarea>
Così:
HTML:
<textarea name="titolare"></textarea>
E poi qualche appunto:
  1. Usa le doppie virgolette invece degli apici singoli per i valori degli attributi dei tag HTML.
  2. Leggiti una guida alla sicurezza in PHP, perché un malintenzionato potrebbe senza troppa fatica distruggerti il database.
 

Discussioni simili