Parse error

ciao
non capisco una cosa, quale è la data automatica?
se intendi quella nell'INSERT, no peche viene (almeno dovrebbe) venire dal form.
se vuoi che sia effettivamente automatica al posto del

", '" . addslashes ( $_POST['data_registrazione'] ) . "'" .

dovresti inserite

", '" .time() . "'" .

in questo modo inserisce la data in formato timestamp corrispondente alla data del computer al momento dell'inserimento, conviene che il campo data sia tipo int(12) per prendere tutte le cifre.
quando lo prelevi con select non serve lo stipslashes, anzi conviene forzare ad intero (non si sa mai)


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

volendo puoi togliere la riga sopra "accettato il" cioè $parametri['data_registrazione'] . "<br>" . tanto ti da solo una serie di numeri (secondi dal 01011970)
 
scusa dimenticavo
non mi hai detto cosa ti dava il var:dum del post 13
è importante perchè con quello vedi cosa stai cercando di inserire
 
Allora non ci stò più capendo niente :hammer:

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'] ) . "'" . 
                       ", '" .time() . "'" .

            ")"; 

$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>';   

} 

?>

Ho messo il ", '" .time() . "'" . ma niente mi dà questo

query 'INSERT INTO parametri VALUES ( '', 'tytytyytyty', 'ytytyty', 'tytytyty', 'tytytyut', 'ytyutyutyutyt', 'ytyutytyty', '13/6/2209', 1244994827)' fallita::::Il numero delle colonne non corrisponde al conteggio alla riga 1
 
Ti prego andiamo piano piano poco alla volta perchè ho il cervello in pappa :hammer::hammer::hammer:

Come lo faresti tu per farti dare la data automatica, quella del pc all'invio input?
Grazie!!!:)
 
Se dal codice ci tolgo questo ", '" .time() . "'" . allora non mi da errori ma mi esce 01-01-1970, il campo nel database è data_registrazione varchar 15 no null.
 
ciao
due cose
1. posta la tabella del db che vediamo
2. è evidente che non hai una corrispondeza tra la tabella e l'insert, come ti avevo detto in uno dei primi post, mi sembrava che l'insert non fosse corretto


3. se non hai bisogno di modificare la data è meglio l'automatico con time(), coè time restituisce la data del computer in formato time stamp.
se fai una piccola perova
echo ("'d/m/Y", time());
vedrai che ti restituisce la data del giorno
 
Gentilissimo Borgo :)

Allora la tabella database è questa

immagineuan.png


Codice html
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>

CONSEGNE INFERMIERISTICHE<br>
<textarea name="consegne_infermieristiche" 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>

Codice php
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['consegne_infermieristiche'] ) . "'" .  
            ", '" . addslashes ( $_POST['data_registrazione'] ) . "'" . 
                        ",  " . time() . "" .
            ")"; 

$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['consegne_infermieristiche'] ) . "<br>" . 
          stripslashes ( $parametri['data_registrazione'] ) . "<br>" .
          'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) .  
            'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) .  
            '<br>';   

}

?>
Grazie!
 
Ultima modifica:
ciao
per prima cosa togli nell'insert la parte relativa all' idi, per seconda indica le colonne è meglio
PHP:
$query="INSERT INTO parametri (
pa,
fc,
fr,
tc,
sp,
consegne_infermieristiche,
data_refistrazione)
VALUES(
", '" . addslashes ( $_POST['pa'] ) . "'" .   
", '" . addslashes ( $_POST['fc'] ) . "'" .   
", '" . addslashes ( $_POST['fr'] ) . "'" .  
", '" . addslashes ( $_POST['tc'] ) . "'" .    
", '" . addslashes ( $_POST['sp'] ) . "'" .   
", '" . addslashes ( $_POST['consegne_infermieristiche'] ) . "'" .   
", '" . addslashes ( $_POST['data_registrazione'] ) . "'" .  
", '" . time() . "')";//gli apici anche su time

terzo se metti time(), non serve nel form che tu metta l'input della data
REGISTRATO IL <input type="text" name="data_registrazione"><br><br>
 
Ciao Borgo! Ti ringrazio molto! :) Stasera provo...ora non sono a casa, sigh!

Ho racchiuso tutto in <table> come avevamo detto ricordi? ok tutto bene, solo che quando scrivo un testo più lungo nel campo "consegne" tutti i campi si allungano ed esteticamente è bruttissimo.
Cosa mi conviene fare un div? oppure dividere e fare un <table> a parte?

Perchè devo togliere l'id nel database?
Grazie Borgo :)
 
ciao
Perchè devo togliere l'id nel database?
perchè è auto increment e ci pensa php a "autoincrementarlo"
PHP:
solo che quando scrivo un testo più lungo
prowa ad attribuira alla table una width fissa (es. 800) a ai vari td altrettanto in modo che la somma delle loro width dia 800

puoi provare con i div ma il discorso non cambia di molto
 
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 ( 
pa, 
fc, 
fr, 
tc, 
sp, 
consegne_infermieristiche, 
data_registrazione) 
VALUES( 
", '" . addslashes ( $_POST['pa'] ) . "'" .    
", '" . addslashes ( $_POST['fc'] ) . "'" .    
", '" . addslashes ( $_POST['fr'] ) . "'" .   
", '" . addslashes ( $_POST['tc'] ) . "'" .     
", '" . addslashes ( $_POST['sp'] ) . "'" .    
", '" . addslashes ( $_POST['cons'] ) . "'" .    
", '" . addslashes ( $_POST['data_registrazione'] ) . "'" .   
", '" . time() . "')";//gli apici anche su time  


$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 "<table>

<style>
table {
border: solid 2px #000000;
text-align: center;
}
td {
solid 1px #000000;
color: Black;
background: #F1EBAD;
} 
</style>

 
           <tr>

                <td>PA  " . stripslashes($parametri['pa']) . "</td></tr>
                <td>FC  " . stripslashes($parametri['fc']) . "</td></tr>
                <td>FR  " . stripslashes($parametri['fr']) . "</td></tr>
                <td>TC  " . stripslashes($parametri['tc']) . "</td></tr>
                <td>SP  " . stripslashes($parametri['sp']) . "</td></tr>
                <td>CONSEGNE  " . stripslashes($parametri['cons']) . "</td></tr>
                

            </tr>
           </table><br />"; 


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


}

?>
Va bene come ho incollato il codice?

Mi dà questo errore...

Parse error: parse error in c:\programmi\easyphp1-8\www\parametri.php on line 28

Grazie!
 
ciao
se la riga 28 è questa
VALUES(
", '" . addslashes ( $_POST['pa'] ) . "'" .

l'errore è qui

VALUES(
'" . addslashes ( $_POST['pa'] ) . "'" .

le altre righe vanno bene
tra l'altro, ma non è un errore

potresti scivere anche così evitando diversi punti


PHP:
VALUES('" .  
addslashes ( $_POST['pa'] ) . "', '" .     
addslashes ( $_POST['fc'] ) . "', '" .
addslashes ( $_POST['fr'] ) . "', '" .  
addslashes ( $_POST['tc'] ) . "', '" .     
addslashes ( $_POST['sp'] ) . "', '" .    
addslashes ( $_POST['cons'] ) . "', '" .  
addslashes ( $_POST['data_registrazione'] ) . "', '" .   
time() . "')";
 
ciao
scusa ho notato una cosa, porta tra <head> </head> e scrivi

HTML:
<style type="text/css">
<!--

table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
-->
</style>

se lo tieni dentro il while te lo stampa un sacco di volte
 
Ciao Borgo :) ora va bene, solo il solito problema della data di registrazione...non sò proprio come fare, con sò cosa devo fare, mi sembra un gran casino :hammer:

Per linkare una voce dove lo devo mettere <a href> e il tag di chiusura </a>?

<td>PA " . stripslashes($parametri['pa']) . "</td></tr>

Deve risolvere assolutamente la data e l'ora "automatica" :hammer: :)

Questa è la funzione, giusto? ", '" . time() . "')";
...poi...

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

giusto? o sbaglio qualcosa? beh sicuramente sì...accidenti! SIGH!!!
 
Ultima modifica:
ciao
Per linkare una voce dove lo devo mettere <a href> e il tag di chiusura </a>?
SI

<td>PA " . stripslashes($parametri['pa']) . "</td></tr> QUOTE]

quello che hai scritto non va bene
o tutto php

echo "<td>PA " . stripslashes($parametri['pa']) . "</td></tr>";
o ,e vuoi sia php e html

<td>PA <?php echo stripslashes($parametri['pa']); ?></td></tr>


", '" . time() . "')";
SI

puoi fare anche prima dell'insert
$t=time();
e poi
", '" . $t . "')";

la riga

PHP:
echo 'accettato il ' . date( 'd/m/Y', $parametri['data_registrazione'] ) . 
'alle ' . date( 'H:i' , $parametri['data_registrazione'] ) . 
'<br>';
è corretta anche se io utilizzo le virgolette

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

se la riga sopra continua a darti errori vvuol dire che probabilmente hai un errore nella tabella

prova a mettere prima della riga

PHP:
var_dump($parametri['data_registrazione']);

e dimmi cosa ti risulta
 
Grazie Borgo, non ho capito però come fare per linkarlo...ho provato a mettere <a href=""> e </a> in varie parti ma mi dà parse error...

Stasera che sono più tranquillo, provo con la data, speriamo...:)
 
Ultima modifica:

Discussioni simili