Newsgroup: it.comp.www.php
Titolo: scrivere in una tabella

ciao
sto studiando come consigliato. Ho creato un database e seguendo questa 
guida 
http://php.html.it/guide/leggi/77/guida-phpmysql-pratica/
 ho creato un 
form per l'inserimento e una pagina che controlla e inserisce i dati.
Purtroppo per� i dati non vengono inseriti n� controllati dalla pagina di 
salvataggio...
Dove sbaglio?
Grazie fin da ora a chi mi risponder�.
cio
---Pagina Form---insert.php
<form method="post" action="save.php">
Titolo:<br />
<input type="text" size="40" name="titolo" />
<br /><br />
Data:<br />
<select name="giorno">
<?php
for ($i=1; $i<=31; $i++)
  echo "<option value=\"$i\">$i</option>";
?>
</select>
<select name="mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="anno">
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select>
<br /><br />
Autore:<br />
<input type="text" size="40" name="autore" />
<br /><br />
E-mail:<br />
<input type="text" size="40" name="mail" />
<br /><br />
Testo:<br />
<textarea cols="60" rows="40" name="testo" wrap="hard"></textarea><br />
<br />
Password:<br />
<input type="password" size="40" name="pass" />
<br /><br />
<input type="submit" value="Invia" />
</form>
<?php
// chiusura pagina
foot();
?>
---Pagina di Controllo e Inserimento dati---save.php
//controllo la password
if ($pass != $password): echo "Password errata";
//se la password corrisponde recupero i dati inviati dallo script
$titolo=$_REQUEST['titolo'];
$autore=$_REQUEST['autore'];
$mail=$_REQUEST['mail'];
$testo=$_REQUEST['testo'];
$pass=$_REQUEST['pass'];
$giorno=$_REQUEST['giorno'];
$mese=$_REQUEST['mese'];
$anno=$_REQUEST['anno'];
//controllo che i dati inseriti nei campi obbligatori (quelli con la 
dicitura "not null") siano effettivamente inseriti
elseif (trim($titolo) == "" OR trim($testo) == ""):
  echo "I campi obbligatori Titolo e Testo devono essere riempiti!";
//controllo caratteri particolari e li sostituisco con slash
else :
  $titolo = addslashes(stripslashes($titolo));
  $autore = addslashes(stripslashes($autore));
  $mail = addslashes(stripslashes($mail));
  $testo = addslashes(stripslashes($testo));
//per normalizzare la visualizzazione html del risultato finale sostituisco 
i caratteri particolari con i rispettivi in html
  $titolo = str_replace("<", "&lt;", $titolo);
  $titolo = str_replace(">", "&gt;", $titolo);
  $autore = str_replace("<", "&lt;", $autore);
  $autore = str_replace(">", "&gt;", $autore);
  $testo = str_replace("<", "&lt;", $testo);
  $testo = str_replace(">", "&gt;", $testo);
  $testo = nl2br($testo);
  //converto la data timestamp
    $data = mktime("0", "0", "0", $mese, $giorno, $anno)
  //connessione al database
   $db = mysql_connect($db_host, $db_user, $db_password);
  if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file 
config.inc.php");
  mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel 
file config.inc.php");
   $query1 = "INSERT INTO news (titolo, testo, data, nome) VALUES 
('$titolo', '$testo', '$data', '$autore')";
 $query2 = "INSERT IGNORE INTO autori (nome, mail) VALUES ('$autore', 
'$mail')";
 if (mysql_query($query1, $db) AND mysql_query($query2, $db))
  echo "L'articolo � stato inserito correttamente";
 else
  echo "Errore durante l'inserimento $query";
 endif;
 foot();
 ?>

 Dove sbaglio?
Non dici che output ottieni.
Prova ad usare $_POST invece di $_REQUEST, stampa il vettore con 
print_r() e controlla che 'if (condition): ' sia una sintassi valida.

"Andrea D'Amore" <and.da...@LOSPAM.gmail.com.invalid> ha scritto nel 
messaggio news:and.damoreVIA-093...@nntp.aioe.org...

ottengo una pagina save.php completamente bianca.
Scusa la mia niubbaggine, ma non ho capito praticamente niente di quello che 
vuoi che faccia... a parte sostituire $_REQUEST con $_POST... :-|
cio 

>> Dove sbaglio?
Da manuale di mysql:
If you use the IGNORE keyword, errors that occur while executing the 
INSERT statement are treated as warnings instead. For example, without 
IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY 
value in the table causes a duplicate-key error and the statement is 
aborted. With IGNORE, the row still is not inserted, but no error is 
issued.
In pratica se metti IGNORE e hai qualche problema nell'insert, lui non 
te lo segnala.. un pï¿œ come anteporre il carattere @ davanti a 
un'istruzione php..
Prova a toglierlo e ci fai sapere..
Bye =)
Merlink.

io ho provato il codice che hai postato eliminando la condizione di 
password il tutto funziona ottengo i campi corretti anche utilizando 
request...


ho risolto non so cosa faceva, ho messo un echo alle variabili in insert.php 
e mi ha inserito il record... ora non oso toglierlo!
Grazie 1000 per la pazienza
cio