Parse error

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao ragazzi e ragazze! Ho un problema con questo codice, premetto che sono neofita :hammer:

PHP:
<?php
 mysql_connect("","5","9");
 mysql_select_db("_2");
//creo l'array con il giorno/mese/anno
$arr_data =  explode ( "/", $_POST['data_di_nascita3'] );
//converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
$data_di_nascita = mktime( 0 , 0 , 0 , $arr_data[1] , $arr_data[0] , $arr_data[2] );
//inserimento dei nuovi dati
$query =    "INSERT INTO parametri VALUES (" . 
            "  ''" . 
            ", '" . addslashes ( $_POST['pa'] ) . "'" . 
            ", '" . addslashes ( $_POST['fc'] ) . "'" . 
            ", '" . addslashes ( $_POST['fr'] ) . "'" .
            ", '" . addslashes ( $_POST['tc'] ) . "'" .  
            ", '" . addslashes ( $_POST['sp'] ) . "'" . 
            ")";
$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );
//prendo i parametri e li mostro per ordine di data di registrazione
$query = "SELECT * FROM parametri ORDER BY data_di_registrazione";
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );
while ( $parametri = mysql_fetch_array( $risultato ) )
{
echo      '.stripslashes ( $parametri['pa'] ) . '
          '.stripslashes ( $parametri['fc'] ) . '
          '.stripslashes ( $parametri['fr'] ) . '
          '.stripslashes ( $parametri['tc'] ) . '
          '.stripslashes ( $parametri['sp'] ) . '
          'accettato il ' . date( 'd/m/Y', $cliente['data_registrazione'] ) . 
            'alle ' . date( 'H:i' , $cliente['data_registrazione'] ) . 
            '<br>';
}
?>

mi dà questo errore:

Parse error: parse error, expecting `','' or `';'' in c:\programmi\easyphp1-8\www\parametri.php on line 32

Grazie! :)
 
ciao
prova così

PHP:
echo      stripslashes ( $parametri['pa'] ) .
          stripslashes ( $parametri['fc'] ) . 
          stripslashes ( $parametri['fr'] ) . 
          stripslashes ( $parametri['tc'] ) . 
          stripslashes ( $parametri['sp'] ) . 
          "accettato il " . date( 'd/m/Y', $cliente['data_registrazione'] ) . 
            "alle " . date( 'H:i' , $cliente['data_registrazione'] ) . 
            "<br>";

mal che vada non funzia

p.s.
non so come hai fato la tabella "parametri", quindi non posso giudicare, ma mi sembra che ci sia un errore anche nella query di inserimento.
 
Grazie Borgo, ho fatto così e ho parzialmente risolto, ma mi dà questa notice "Notice: Undefined index: data_registrazione in c:\programmi\easyphp1-8\www\parametri.php on line 26"
PHP:
<?php

// avvio la sessione
session_start();

// Dati connessione al database
$db_host = 'localhost';		// Host - solitamente localhost
$db_utente = 'root';		// Nome utente del Database
$db_password = '';		// Password del Database
$db_nomedb = ''; 	// Nome del Database

// Effettua la connessione al database
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);


//inserimento dei nuovi dati
$query =    "INSERT INTO parametri VALUES (" . 
            "  ''" . 
            ", '" . addslashes ( $_POST['pa'] ) . "'" . 
            ", '" . addslashes ( $_POST['fc'] ) . "'" . 
            ", '" . addslashes ( $_POST['fr'] ) . "'" .
            ", '" . addslashes ( $_POST['tc'] ) . "'" .  
            ", '" . addslashes ( $_POST['sp'] ) . "'" . 
            ", '" . addslashes ( $_POST['cons'] ) . "'" . 
            ", '" . addslashes ( $_POST['data_registrazione'] ) . "'" . 
            ")";

$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );

//prendo i parametri e li mostro per ordine di data registrazione

$query = "SELECT * FROM parametri ORDER BY data_registrazione";
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );

while ( $parametri = mysql_fetch_array( $risultato ) )
{

echo      stripslashes ( $parametri['pa'] ) . "<br>" .
          stripslashes ( $parametri['fc'] ) . "<br>" .
          stripslashes ( $parametri['fr'] ) . "<br>" .
          stripslashes ( $parametri['tc'] ) . "<br>" .
          stripslashes ( $parametri['sp'] ) . "<br>" .
          stripslashes ( $parametri['cons'] ) . "<br>" .
          stripslashes ( $parametri['data_registrazione'] ) . "<br>" .
          'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) . 
            'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) . 
            '<br>';  

}

?>

Inoltre, mi da sempre la stessa data di registrazione 01/01/1970 alle 01:00
 
Ultima modifica:
Se il parametro 'pa' voglio farlo andare dentro un <table> dove lo devo inserire il tag?

echo stripslashes ( $parametri['pa'] ) . "<br>" .

Grazie!
 
controlla il campo di input che invia $_POST['data_registrazione'], l'errore è dovuto al fatto che questo non arriva alla pagina che raccoglie i dati del form.
 
ciao
prima dl while
echo "<table>";
dentro il while e prima di echo
echo "<tr>";

ogni valore
echo "<td>".stripslashes ( $parametri['pa'] ) . "</td>" .
"<td>".stripslashes ( $parametri[''fc''] ) . "</td>" .
eccetera..........
echo echo "</tr>";
e dopo la chiusura del while
echo "</table>";
 
ciao
prima dl while
echo "<table>";
dentro il while e prima di echo
echo "<tr>";

ogni valore
echo "<td>".stripslashes ( $parametri['pa'] ) . "</td>" .
"<td>".stripslashes ( $parametri[''fc''] ) . "</td>" .
eccetera..........
echo echo "</tr>";
e dopo la chiusura del while
echo "</table>";
Gentilissimo Borgo :)
 
controlla il campo di input che invia $_POST['data_registrazione'], l'errore è dovuto al fatto che questo non arriva alla pagina che raccoglie i dati del form.
Ciao Eliox :)

Ho messo il form "REGISTRATO IL" ma mi esce questo:

7676766 ho messo io il parametro
7676767 idem
6767676 idem
767676767 idem
6767676 idem
YFYFYFYTYTYTYT idem
13/6/2209 idem ed è ok
accettato il 01/01/1970alle 01:00 questo vorrei che si aggiornasse automaticamente ogni volta che dò invia...lo faceva una volta ora non più accidenti...la casella text nel form non l'avevo neanche messa e funzionava...boh?

Grazie!
 
controlla il campo di input che invia $_POST['data_registrazione'], l'errore è dovuto al fatto che questo non arriva alla pagina che raccoglie i dati del form.
PHP:
'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) .  
            'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .  
            '<br>';

Questo non dovrebbe dare data e ora in modo automatico? invece continua a darmi 01/01/1970 :incazz2:

Grazie molte :hammer:
 
ciao
PHP:
invece continua a darmi 01/01/1970

probabilmente in

'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'][/B] ) .
'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .
'<br>';

hai $parametri['data_registrazione'] =0, inafatti ti restituisce la data del timestamp = 0 01/01/1970, oppure vuoto che in queto caso php interpreta come 0

quindi o non inserisci bene i dati nel db o il $_post come diveva elio non viene valorizzato
 
ciao
PHP:
invece continua a darmi 01/01/1970

probabilmente in

'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'][/B] ) .
'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .
'<br>';

hai $parametri['data_registrazione'] =0, inafatti ti restituisce la data del timestamp = 0 01/01/1970, oppure vuoto che in queto caso php interpreta come 0

quindi o non inserisci bene i dati nel db o il $_post come diveva elio non viene valorizzato

Non capisco :hammer: nel database data_registrazione l'ho messa...

data_registrazione tipo varchar(15) (va bene?) latin1_swedish_ci Null No :incazz:

Per quanto riguarda il $_post non valorizzato riuscite ad accorgervi se nel codice postato prima c'è qualcosa che non và?

Grazie!

Grazie!
 
Ultima modifica:
Vi posto anche il form

HTML:
<html>   
<head>
<title>PARAMETRI</title>
</head>

<center><b><font size=5>PARAMETRI</font></center></b><br>
<form action="parametri.php" name="modulo1" method="post">

PA<input type="text" name="pa"><br><br>
FC<input type="text" name="fc"><br><br>
FR<input type="text" name="fr"><br><br>
TC<input type="text" name="tc"><br><br>
SpO2<input type="text" name="sp"><br><br>
<br><br>

CONS<br>
<textarea name="cons" rows="7" cols="50"></textarea><br><br><br><br>

REGISTRATO IL <input type="text" name="data_registrazione"><br><br>


 
<input type="submit" value="INVIA I DATI">

</head>
</html>
 
ciao
1.per vedere se il valore di $_POST è trasmesso inserisci (poi lo togli)

PHP:
//inserimento nuovi dati
var_dump($_POST['data_registrazione'] );

se ti da NULL vuol dire che non viene trasmesso

2. il campo data_registrazione potrebbe andare anche bene dipende da come inserisci la data

3. per trasformare una data "normale" in timestamp la data deve essere nella forma anno/mese/giorno
nel prossimo post ti dico come fare
 
ecco alcune info sulle date

PHP:
//la data deve essere in formato US English
$data_US="2009/14/05";
$data_time_stamp=strtotime($data_US);//trasforma la data in time stamp
//se metti 14/05/2009 si incasina
//se hai una data in formato europeo devi trasformarla in US
$data_EU="14/05/2009";
$esplosa=explode("/",$data_EU);
$data_US=$esplosa[2]."/".$esplosa[1]."/".$esplosa[0];
//a questo punto puoi trasformarla in time stamp
$data_time_stamp=strtotime($data_US);//trasforma la data in time stamp
//se vuoi ritrasformarla
$data_EU= date("d/m/Y", $data_time_stamp);
$data_US= date("Y/m/d", $data_time_stamp);

per sperne di più guarda questo link (ci trovi tutto)

http://it.php.net/manual/en/ref.datetime.php


p.s.
ho notato che tu explodi

$arr_data = explode ( "/", $_POST['data_di_nascita3'] );

ma da dove viene $_POST['data_di_nascita3']?
 
Ciao Borgo! No, il data_di_nascita3 era di un altro codice, quello valevole era il secondo che ho postato.
Guarda il codice va bene c'è solo quella data che non mi viene...sai il bello?
Ho tutto su host aruba e lì funziona tutto alla PERFEZIONE, ora che stò facendo in locale dà problemi...non sò il perchè, il codice è perfettamente uguale eppure il locale non và...porca miseria!
 
ciao
non avevo visto il tuo ultimo post
se su aruba va bene vuol dire che il codice "dovrebbe" essere giusto.

verifica perche i dat di connessione tra aruba e locale sono diversi

$conn = @mysql_connect('localhost' ,$username,$password) or die (mysql_error());

e verifica anche il nome del db (generalmente su aruba sono del tipo Sql565656_2)
 
Sì si la connessione è ok, ma mi dà errore query che su aruba invece non c'è problema...che ti devo dire??? ci stò perdendo la testa! :confused:
 
Facendo ordine...ho due codici, diciamo molto simili, uno (quello dei parametri) è ok, quello che non và è la data e l'ora "automatica".

Stavo pensando...tolgo l'ora automatica e la metto manualmente? beh non ci riesco, appena tolto parte del codice non mi funziona più

PHP:
<?php 

// avvio la sessione
session_start();

// Dati connessione al database
$db_host = 'localhost';		// Host - solitamente localhost
$db_utente = 'root';		// Nome utente del Database
$db_password = '';		// Password del Database
$db_nomedb = ''; 	// Nome del Database

// Effettua la connessione al database
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);



//inserimento dei nuovi dati 
$query =    "INSERT INTO parametri VALUES (" .  
            "  ''" .  
            ", '" . addslashes ( $_POST['pa'] ) . "'" .  
            ", '" . addslashes ( $_POST['fc'] ) . "'" .  
            ", '" . addslashes ( $_POST['fr'] ) . "'" . 
            ", '" . addslashes ( $_POST['tc'] ) . "'" .   
            ", '" . addslashes ( $_POST['sp'] ) . "'" .  
            ", '" . addslashes ( $_POST['cons'] ) . "'" .  
            ", '" . addslashes ( $_POST['data_registrazione'] ) . "'" .  
            ")"; 

$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() ); 

//prendo i parametri e li mostro per ordine di data registrazione 

$query = "SELECT * FROM parametri ORDER BY data_registrazione"; 
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() ); 

while ( $parametri = mysql_fetch_array( $risultato ) ) 
{ 

echo      stripslashes ( $parametri['pa'] ) . "<br>" . 
          stripslashes ( $parametri['fc'] ) . "<br>" . 
          stripslashes ( $parametri['fr'] ) . "<br>" . 
          stripslashes ( $parametri['tc'] ) . "<br>" . 
          stripslashes ( $parametri['sp'] ) . "<br>" . 
          stripslashes ( $parametri['cons'] ) . "<br>" . 
          stripslashes ( $parametri['data_registrazione'] ) . "<br>" . 
          'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) .  
            'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .  
            '<br>';   

} 

?>
Non devo togliere questa parte: "'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) .
'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .
'<br>'; "

Per il secondo script, lo posto dopo aver risolto questo altrimenti ci confondiamo :)

Grazie tante! :fonzie:
 

Discussioni simili