problema con inserimento dati

  • Creatore Discussione Creatore Discussione gigimex
  • Data di inizio Data di inizio

gigimex

Nuovo Utente
9 Lug 2009
2
0
0
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 :mad:. 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.
 
Vuoi vedere che è solo perchè manca il ";" nella riga

$data_corretta=data_giusta($_POST[data])
?!?!

Ciao

ariete50

Graaaaaaazie
..della serie: il momento del cretino capita a tutti prima o poi :)
Era prorpio quello, ma visto che l'errore me lo segnalava la riga dopo (ovviamente) non ci ho fatto caso nonostante i mille tentativi che ho fatto per sistemarlo.
Grazie ancora. Ciao
Gigi
 
ciao
altre due piccole quisquiglie:D

$_POST[data]
$_POST['data']

VALUES
('$data_corretta','$_POST[tipo]'..........

VALUES
('$data_corretta','$_POST['tipo']'..........
 
scusa dimenticavo.
non so se è un problema di php ma quando nella stessa riga (query) si deve utilizzare array trovo meglio utilizzare il punto di concatenemento

PHP:
$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']."')";
 

Discussioni simili