- Home
- Categorie
- Coding e Sistemistica
- Coding
- problema inserimento record in mysql
- 
							
							
							
							
							
problema inserimento record in mysqlSalve a tutti, sto cercando di imparare l'utilizzo di php associato a mysql. Seguendo qualche guida on-line ho creato il database e i file php necessari al collegamento e all'inserimento dei record nel database. Il problema è che non fungono, posto quindi il codice in cerca di aiuto. - file config.inc.php
 [php]<?
 // parametri del database
 $db_host = "localhost";
 $db_user = "root";
 $db_password = "";
 $db_name = "prova";
 ?>
 [/php]- file top_foot.inc.php
 [php]<? function top() { ?>
 <html>
 <head>
 </head> 
 <body bgcolor=ffffff text=000000>
 <font face=verdana,tahoma,arial size=-1>
 <h1>PROVA</h1><br>
 <? }function foot() { ?> 
 </font>
 </body>
 </html>
 <? } ?>[/php]- file insert.php[php]<? 
 include ("config.inc.php");
 include ("top_foot.inc.php");//intestazione 
 top();
 ?><form method="post" action="save.php"> 
 Titolo:<br />
 <input type="text" size="40" name="titolo" />
 <br /><br />
 Data:<br /><select name="giorno"> 
 <?
 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="2001">2001</option>
 <option value="2002">2002</option>
 <option value="2003">2003</option>
 <option value="2004">2004</option>
 <option value="2005">2005</option>
 <option value="2003">2006</option>
 <option value="2004">2007</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"></textarea><br />
 <br /><br /><br /> 
 <input type="submit" value="Invia2" />
 </form>
 <?
 // chiusura pagina
 foot();
 ?>[/php]- file save.php
 [php]<?
 include("top_foot.inc.php");
 include("config.inc.php");
 top();$titolo=$_REQUEST['titolo']; 
 $autore=$_REQUEST['autore'];
 $mail=$_REQUEST['mail'];
 $testo=$_REQUEST['testo'];
 $pass=$_REQUEST['pass'];
 $giorno=$_REQUEST['giorno'];
 $mese=$_REQUEST['mese'];
 $anno=$_REQUEST['anno'];else if (trim($titolo) == "" OR trim($testo) == ""): 
 echo "I campi Titolo e Testo devono essere riempiti!";else : 
 $titolo = addslashes(stripslashes($titolo));
 $autore = addslashes(stripslashes($autore));
 $mail = addslashes(stripslashes($mail));
 $testo = addslashes(stripslashes($testo));$titolo = str_replace("<", "<", $titolo); 
 $titolo = str_replace(">", ">", $titolo);
 $autore = str_replace("<", "<", $autore);
 $autore = str_replace(">", ">", $autore);
 $testo = str_replace("<", "<", $testo);
 $testo = str_replace(">", ">", $testo);
 $testo = nl2br($testo);$data = mktime("0", "0", "0", $mese, $giorno, $anno); $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");$query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')"; if (mysql_query($query, $db)) 
 echo "L'articolo è stato inserito correttamente";
 else
 echo "Errore durante l'inserimento";mysql_close($db); 
 endif; // chiude la verifica della presenza dei dati
 foot();
 ?>[/php]l'errore che viene fuori è questoParse error: parse error in c:\users\liberlux\documents\easyphp1-8\www\prova 2\save.php on line 18ringrazio anticipatamente chi vorrà aiutarmi 
 
- file config.inc.php
- 
							
							
							
							
							
Che linguaggio usi? Questo pezzo: else if (trim($titolo) == "" OR trim($testo) == ""):dovrebbe essere: if (trim($titolo) == "" OR trim($testo) == "")i : in fondo agli if non ci vanno, se devi fare una parte intera nell'if devi usare un blocco tra aperta e chiusa graffa... 
 
- 
							
							
							
							
							
Si hai ragione, grazie mille per la disponibilità. Grandissimo!!!  
 
- 
							
							
							
							
							
Ciao, 
 approfitto del post per lasciare lascio un appunto sulla sintassi alternativa (poco conosciuta ed utilizzata) che php consente per le strutture di controllo if, while, for, foreach e switch.Sostanzialmente php permette di sostituire alla parentesi graffa aperta i : (due punti) e a quella chiusa endif; endwhile; endfor; endforeach; o endswitch; (a seconda dei casi) Alcuni esempi: 
 [PHP]
 for ($i=0; $i<10; $i++):
 //operazioni da eseguire
 endfor;
 [/PHP][PHP] 
 switch ($condizione):
 case 0:
 //operazioni da eseguire
 break;
 case 1:
 //operazioni da eseguire
 break;
 case 2:
 //operazioni da eseguire
 break;
 default:
 //operazioni da eseguire
 endswitch;
 [/PHP][PHP] 
 if ($condizione):
 //operazioni da eseguire
 else:
 //operazioni da eseguire
 endif;
 [/PHP][PHP] 
 if ($condizione):
 //operazioni da eseguire
 elseif ($condizione2):
 //operazioni da eseguire
 else:
 //operazioni da eseguire
 endif;
 [/PHP]
 Nota*: utilizzando la sintassi alternativa elseif deve esse scritto tutto attaccato, mentre utilizzando le graffe è possibile scrivere else if*.Alessandro