Ciao a tutti
Sono due giorni che non riesco a trovare l'errore nell'inserimento di dati
da una form nella tabella di mysql.
la tabella e' del tipo:
id_comunicati int(5) UNSIGNED No auto_increment
data date Sì NULL
tipo varchar(20) Sì NULL
argomento varchar(100) Sì NULL
url_html varchar(100) Sì NULL
commento text Sì NULL
url_pdf varchar(100) Sì NULL
riservato char(1) Sì NULL
la pagina con la form passa correttamente le variabili al modulo che le deve inserire (insert.php) ma quando invio i dati al modulo esce fuori il solito errore:
Parse error: syntax error, unexpected T_VARIABLE in /membri/.../insert.php on line 12
il codice della pagina in questione e' questo:
<?php
$con = mysql_connect("localhost","user","passw");
if (!$con)
{
die('Non mi posso connettere: ' . mysql_error());
}
mysql_select_db("mio_database", $con);
$data_corretta=data_giusta($_POST[data])
$sql = "INSERT INTO comunicati (data, tipo, argomento, url_html, commento, url_pdf, riservato)
VALUES
('$data_corretta','$_POST[tipo]','$_POST['argomento']','$_POST['url_html']','$_POST['commento']','$_POST['url_pdf']','$_POST['riservato']')";
var_dump($sql);
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record aggiunto";
mysql_close($con)
?>
<?php
function data_giusta($data)
{
// Riorganizzo la data immessa in stile DD/MM/YY e creo una data YYYY-MM-DD compatibile con mysql
$anno = substr($data,6); // prende le ultime 2 cifre della data immessa
$anno_4 = "20".$anno;
$giorno = substr($data,0,2); // prende le prime 2 cifre della data immessa
$mese = substr($data,3,2); // prende le 2 cifre del mese della data immessa
$data_mysql = $anno_4."-".$mese."-".$giorno; // questo e' la data in formato YYYY-MM-DD
// Restituisco il valore della data in formato valido per mysql
return $data_mysql;
}
?>
<html>
<head>
<title>mostra valori form</title>
</head>
<body>
<?php
echo 'Data: '.data_giusta($_POST[data]);
echo '<br>';
echo $_POST['argomento'];
echo '<br>';
echo $_POST['riservato'];
echo '<br>';
echo $_POST['tipo'];
echo '<br>';
echo $_POST['commento'];
echo '<br>';
echo $_POST['url_html'];
echo '<br>';
echo $_POST['url_pdf'];
echo '<br>';
?>
</body>
</html>
Ho fatto mille prove ma senza risultati e sono un po' depresso . Magari e' una cavolata ma non la riesco a trovare.
Se salto la parte di inserimento vedo correttamente tutte le variabili:
echo $_POST['...'];
Mi date una mano e ....grazie in anticipo.
Sono due giorni che non riesco a trovare l'errore nell'inserimento di dati
da una form nella tabella di mysql.
la tabella e' del tipo:
id_comunicati int(5) UNSIGNED No auto_increment
data date Sì NULL
tipo varchar(20) Sì NULL
argomento varchar(100) Sì NULL
url_html varchar(100) Sì NULL
commento text Sì NULL
url_pdf varchar(100) Sì NULL
riservato char(1) Sì NULL
la pagina con la form passa correttamente le variabili al modulo che le deve inserire (insert.php) ma quando invio i dati al modulo esce fuori il solito errore:
Parse error: syntax error, unexpected T_VARIABLE in /membri/.../insert.php on line 12
il codice della pagina in questione e' questo:
<?php
$con = mysql_connect("localhost","user","passw");
if (!$con)
{
die('Non mi posso connettere: ' . mysql_error());
}
mysql_select_db("mio_database", $con);
$data_corretta=data_giusta($_POST[data])
$sql = "INSERT INTO comunicati (data, tipo, argomento, url_html, commento, url_pdf, riservato)
VALUES
('$data_corretta','$_POST[tipo]','$_POST['argomento']','$_POST['url_html']','$_POST['commento']','$_POST['url_pdf']','$_POST['riservato']')";
var_dump($sql);
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record aggiunto";
mysql_close($con)
?>
<?php
function data_giusta($data)
{
// Riorganizzo la data immessa in stile DD/MM/YY e creo una data YYYY-MM-DD compatibile con mysql
$anno = substr($data,6); // prende le ultime 2 cifre della data immessa
$anno_4 = "20".$anno;
$giorno = substr($data,0,2); // prende le prime 2 cifre della data immessa
$mese = substr($data,3,2); // prende le 2 cifre del mese della data immessa
$data_mysql = $anno_4."-".$mese."-".$giorno; // questo e' la data in formato YYYY-MM-DD
// Restituisco il valore della data in formato valido per mysql
return $data_mysql;
}
?>
<html>
<head>
<title>mostra valori form</title>
</head>
<body>
<?php
echo 'Data: '.data_giusta($_POST[data]);
echo '<br>';
echo $_POST['argomento'];
echo '<br>';
echo $_POST['riservato'];
echo '<br>';
echo $_POST['tipo'];
echo '<br>';
echo $_POST['commento'];
echo '<br>';
echo $_POST['url_html'];
echo '<br>';
echo $_POST['url_pdf'];
echo '<br>';
?>
</body>
</html>
Ho fatto mille prove ma senza risultati e sono un po' depresso . Magari e' una cavolata ma non la riesco a trovare.
Se salto la parte di inserimento vedo correttamente tutte le variabili:
echo $_POST['...'];
Mi date una mano e ....grazie in anticipo.