Newsgroup: it.comp.www.php
Titolo: Parse error....

---------------------------
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in
c:\programmi\easyphp\www\newww\form.php on line 11
---------------------------
...e questa è la riga incriminata:
---------------------------
$dati= " INSERT INTO nomi VALUES ("'$nome','$cognome'");";
---------------------------
Grazie all'aiuto di un paio di grandissimi amici sono riuscito a
visualizzare il contenuto di un database (cosa che per un principiante come
me era difficilissima).
Naturalmente la prima domanda che mi sono fatto era:"e ora come li inserisco
i dati?" Non volendoli inserire tutti col phpmyadmin ho preso un paio di
guide in rete e ne ho copiato/adattato il codice.
Io dovrei solamente riempire "la colonna" **nome** e quella **cognome**.
C'è un particolare che mi sfugge...
Per comodità sotto scrivo l'intero file.php
---------------------------
<?
$db_host="localhost";
$db_name="ricman";
$db_user="root";
$db_pass="";
$conn=mysql_connect($db_host,$db_user,$db_pass) or die("Impossibile
connettersi al server MySQL.");
$dati= " INSERT INTO nomi VALUES ("'$nome','$cognome'");";
mysql_query ($dati, $link) or die ("Non riesco ad eseguire la query $dati");
echo "I dati sono stati archiviati con successo nel Database $database";
mysql_close ($conn);
echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
<html>
<head>
      <meta name=Proprietà content=Apache3000>
      <meta name=ProgID content=PHP Pratico>
      <title> Form per la Rubrica</title>
</head>
<body>
<table border=0 width=100% cellpadding=3>
<tr>
<td width=100% colspan=2>
<p align=center><b>Inserisci nuovi recapiti nella rubrica
<form method=POST action= <? $PATH_INFO ?>>
</b></td>
</tr>
<tr>
<td width=18%><b>Titolo</b></td>
<td width=82%><input type=text name=nome size=20></td>
</tr>
<tr>
<td width=18%><b>Nome</b></td>
<td width=82%><input type=text name=cognome size=20></td>
</tr>
</table>
</body>
</html>
---------------------------
Grazie a tutti

 $dati= " INSERT INTO nomi VALUES ("'$nome','$cognome'");";
$dati= "INSERT INTO nomi VALUES ('$nome','$cognome')";
il resto non l'ho controllato
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.php.net

 $dati= " INSERT INTO nomi VALUES ("'$nome','$cognome'");";
$dati= "INSERT INTO nomi VALUES ('".$nome."','".$cognome."')";
-- 
Fox Mulder
...the truth is out there

Rivisto e corretto compare il form ma il database si riempe solo di campi
vuoti!!!
helppppp
-----------------------
<?
$db_host="localhost";
$db_name="ricman";
$db_user="root";
$db_pass="";
$conn=mysql_connect($db_host,$db_user,$db_pass) or die("Impossibile
connettersi al server MySQL.");
mysql_select_db($db_name,$conn) or die("Impossibile connettersi al
database $db_name.<br>");
$dati= " INSERT INTO nomi VALUES ('$nome','$cognome');";
mysql_query ($dati, $conn) or die ("Non riesco ad eseguire la query $dati");
echo "I dati sono stati archiviati con successo nel Database $database";
mysql_close ($conn);
echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
?>
<html>
<head>
      <meta name=Proprietą content=Apache3000>
      <meta name=ProgID content=PHP Pratico>
      <title> Form per la Rubrica</title>
</head>
<body>
<table border=0 width=100% cellpadding=3>
<tr>
<td width=100% colspan=2>
<p align=center><b>Inserisci nuovi recapiti nella rubrica
<form method=POST action= <? $PATH_INFO ?>>
</b></td>
</tr>
<tr>
<td width=18%><b>Nome</b></td>
<td width=82%><input type=text name=nome size=20></td>
</tr>
<tr>
<td width=18%><b>Cognome</b></td>


Prova a usare questo:
<?
$db_host="localhost";
$db_name="ricman";
$db_user="root";
$db_pass="";
mysql_connect($db_host,$db_user,$db_pass) or die("Impossibile connettersi al
server MySQL.");
mysql_select_db($db_name,$conn) or die("Impossibile connettersi al database
$db_name.<br>");
if (mysql_query("insert into nomi values ('$nome','$cognome')") or die ("Non
riesco ad eseguire la query $dati")) {
echo "I dati sono stati archiviati con successo nel Database $database";}
else {echo "Impossibile archiviare i dati nel database";}
echo "<meta http-equiv=\"refresh\" content=\"3;url=".$PATH_INFO."\">";
?>


In effetti, l'identificatore di connessione e l'istruzione mysql_close()
servono solo quando vi sono altre e diverse connessioni al server MySQL,
altrimenti sono inutili, specie mysql_close(), visto che terminato il
parsing dello script la connessione al DB viene chiusa automaticamente...

 $dati= " INSERT INTO nomi VALUES ('$nome','$cognome');";
error_reporting(E_ALL);
leggi la FAQ (in quella breve le prime righe).
$nome=$_REQUEST['nome'];
-- 
I'm not a signature.

L'ho provato...però si comporta allo stesso modo. Il database si riempe di
campi bianchi

 </html>
Questo dovrebbe funzionare, non avevo capito che i valori delle variabili
nome e cognome arrivavano tramite POST da un form...