Newsgroup: it.comp.www.php
Titolo: Parse error: parse error, unexpected $end

da questo script per recuperare e visualizzare i dati da un db mi da :
 Parse error: parse error, unexpected $end in 
c:\programmi\easyphp1-7\www\farafina\tmpk6a3v9yh7x.php on line 146 , non 
riesco a vedere dove ho dimenticato qqcosa...aiuto!
 <?
// controllo dove si recuperano i messaggi.
if(!($start)) :{$start=="0";}
// cerco i messaggi.
$rec = mysql_query("SELECT * FROM guestbook Order by id Desc LIMIT 
$start,$nb");
?>
<? // prelevo i dati tramite While() ;
while ($row = mysql_fetch_array($rec))
{
<div align="center">
<center>
<table border="0" cellpadding="4" cellspacing="0" width="60%"> ;
<tr>
<td width="100%" style="border: 1 solid #000000">Da: <?  echo $row[pseudo]; 
?> il <? echo $row[date]; ?></td>
</tr>
<tr>
<td width="100%" style="border: 1 solid #000000"><? echo 
nl2br($row[message]); ?></td>
</tr>
</table>
</center>
</div>
<br><br>
<?
}
// libero la memoria.
mysql_free_result($rec);
//conto i messaggi.
$result=mysql_query("SELECT COUNT(*) FROM guestbook");
$row=mysql_fetch_row($result);
// publico i risultati :
if ($start == "0") {
echo"<b><font size=\"1\" face=\"Verdana\">[1]</font></b>";
} else {
echo"<a href=\"guestbook.php?start=0\">[1]</a> ";
}
for($index=1;($index*$nb)<$row[0];$index++) {
$pg = $index+1;
if(($index*$nb)!=$start) {
print("<a href=\"guestbook.php?start=".($index*$nb)."\">");
echo"[$pg]";
print("</a>");
}
else {
echo" <b><font size=\"1\" face=\"Verdana\">[$pg]</font></b>";
}
}
?>
}
</body>
</html> <<linea 145
-- 
André Ebongué
Via Milani 130
40014 Crevalcore ( BO)

 riesco a vedere dove ho dimenticato qqcosa...aiuto!
Se ti da errore nell'ultima riga o in una riga su cui non ci dovrebbero 
essere errori le spiegazioni sono due: o ti sei dimenticato un punto e 
virgola nella riga prima di php oppure hai chiuso male le graffe.
Ciao
-- 
Andrea Azzini
Arya Interactive Media srl
www.inarya.com

Grazie ho controlato i tutti le graffe dei miei cicli ( ho in effetti degli 
if imbricati nelle while ma tutte hanno un apertura e una chiusura, provo a 
guardare + in alto...se becco quel ";" va a finire male....per lui
"Andrea Azzini" <andreaazzini_@_inarya_._com> ha scritto nel messaggio 
news:1OzDd.72451$C94....@tornado.fastwebnet.it...


 if(!($start)) :{$start=="0";}
Ma questa if sopra è corretta? quei due punti vanno bene?
Poi non capisco il confronto $start=="0". Potrebbe essere una sintassi 
che non conosco (probabile), ma non è che volevi scrivere questo sotto?
if(!($start)) $start="0";
Ciao
Gianni

 ha scritto nel 
messaggio news:i3BDd.653142$35.26...@news4.tin.it...

 quella variabile dovrebbe controllare se ho gia iniziato a recupare i dati 
nel db, se si riparto da dove mis ono fermato, se non comincio da zero. l'ho 
aggiunta perche vorrei eventualmente distribuire i dati su + pagine da 
confrontare con $nb che è il numero di righe.
con la tua correzione mi da :
 Undefined variable: start in 
c:\programmi\easyphp1-7\www\farafina\tmpu74h9z2tf.php on line 87
metto sotto il mio script sperando sia troppo lungo...
<? //include configurazione connessione
include ('config.php');
// Test del campo hidden posted.
if(isset($_POST['submit']))
{
// controllo riempimento campi.
if(!empty($pseudo) AND !empty($email) AND !empty($message))
{
// pulizia dei dati.
$pseudo = trim(ucfirst($pseudo));
$email = trim($email);
$message = trim(ucfirst($message));
// richiesta inserimento dati.
$insert = "INSERT INTO guestbook 
VALUES('','$pseudo','$email','$message','$date') ";
// eseguo inserimento dati.
$query = mysql_query($insert) OR die("Impossibile aggiungere tuo messaggio ! 
");
// messaggio 4 utente
echo '<script>';
echo 'alert("messaggio inserito con successo! Grazie !");';
echo '</script>';
}
else // header in caso di errore.
{
echo '<script>';
echo 'alert("tutti i campi devono essere compilati !");';
echo 'javascript:history.back(1);';
echo '</script>';
}
}
?>
 <?
// controllo dove si recuperano i messaggi.
if(!($start)) $start="0";
// cerco i messaggi.
$rec = mysql_query("SELECT * FROM guestbook Order by id Desc LIMIT 
$start,$nb");
?>
<? // prelevo i dati tramite While() ;
while ($row = mysql_fetch_array($rec))
{ ?>
<div align="center">
<center>
<table border="0" cellpadding="4" cellspacing="0" width="60%"> ;
<tr>
<td width="100%" style="border: 1 solid #000000">Da: <?  echo $row[pseudo]; 
?> il <? echo $row[date]; ?></td>
</tr>
<tr>
<td width="100%" style="border: 1 solid #000000"><? echo 
nl2br($row[message]); ?></td>
</tr>
</table>
</center>
</div>
<br><br>
<?
}
?>
<?
// libero la memoria.
mysql_free_result($rec);
//conto i messaggi.
$result=mysql_query("SELECT COUNT(*) FROM guestbook");
$row=mysql_fetch_row($result);
// publico i risultati :
if ($start == "0") {
echo"<b><font size=\"1\" face=\"Verdana\">[1]</font></b>";
} else {
echo"<a href=\"guestbook.php?start=0\">[1]</a> ";
}
for($index=1;($index*$nb)<$row[0];$index++) {
$pg = $index+1;
if(($index*$nb)!=$start) {
print("<a href=\"guestbook.php?start=".($index*$nb)."\">");
echo"[$pg]";
print("</a>");
}
else {
echo" <b><font size=\"1\" face=\"Verdana\">[$pg]</font></b>";
}
}
?>
davvero mi sfuge cosa ho dimenticato, ho controlatto variabile x 
variabile... 

 nel db, se si riparto da dove mis ono fermato, 
Quindi vuoi verificare se è inizialiazzata giusto?
Ho provato la riga del if... sul mio e funge.
Prova questa sotto per scrupolo.
if (!isset($start)) $start='0';
Ciao
Gianni

 
oltre al consiglio sopra (che dovrebbe risolvere il tuo problema), 
controlla il tuo file ini e verifica che nella sezione dei messaggi 
errore, sia simile alla mia (quella riportata sotto)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field.
; E_ALL             - All errors and warnings
; E_ERROR           - fatal run-time errors
; E_WARNING         - run-time warnings (non-fatal errors)
; E_PARSE           - compile-time parse errors
; E_NOTICE          - run-time notices
; E_CORE_ERROR      - fatal errors that occur during PHP's
; E_CORE_WARNING    - warnings
; E_COMPILE_ERROR   - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings
; E_USER_ERROR      - user-generated error message
; E_USER_WARNING    - user-generated warning message
; E_USER_NOTICE     - user-generated notice message
error_reporting  =  E_ALL & ~E_NOTICE
Ciao
Gianni

 ha scritto nel 
messaggio news:BFNDd.654925$35.26...@news4.tin.it...


> error_reporting  =  E_ALL & ~E_NOTICE
1) il settaggio del php.ini è quello
2) mi ha rislto quel problema ma...
3) ne è sorto uno à monte, non mi prende il php_self
avevo questa riga:
<form action="<? echo $PHP_SELF ?>" method="POST">
e mi da dopo l'invio del form questo errore:
You don't have permission to access /Farafina/<br /><b>Notice</b>: Undefined 
variable: PHP_SELF in ....
suppongo sia un errore di sintassi ma a me sembra corretta o no?
ad ogni modo ho provato con questo:
 form action="<? echo $_SERVER['PHP_SELF'] ?>", sembra averlo preso a 
apraentemente non "vede" i campi compilati, perche dopo l'invio scatta il 
java che chiede di compilare tutti i campi... 

 3) ne è sorto uno à monte, non mi prende il php_self
No, aspetta, quella modifica che ti ho fatto fare non può aver creato 
quello sopra.
Il problema sopra, come probabilmente quello che avevi, si sono 
verificati perchè hai smanettato ;-) nel php.ini (o hai aggiornato php) 
e sei passato dalla confifurazione di register_global = on a 
register_global= off.
Questo non è un male, anzi...
Però devi un attimo rivedere il tuo codice per cui:
$PHP_SELF diventa $_SERVER['PHP_SELF']
i post diventano $_POST['nomevariabile']
i get diventano $_GET['nomevariabile'] e così via....
Quindi se nel form hai <input type=text name=pippo> la recuperi con:
$_POST['pippo']
oppure
$_GET['pippo']
secondo il metodo che hai usato nel form (e questo è il motivo per cui 
non ti vede i dati del form)
http://it.php.net/manual/it/language.variables.predefined.php
Ciao
Gianni


 ha scritto nel 
messaggio news:0KRDd.380415$b5.18...@news3.tin.it...


correzioni effetuate....ma adesso mi compare un parse error:
lo script inizia cosi:
<? //include configurazione connessione
include ('config.php');
// Test del campo hidden posted.
if(isset($_POST['submit']))
{
// controllo riempimento campi.
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND 
!empty($_POST['message']))
{
// pulizia dei dati.
$pseudo = trim(ucfirst($_POST['pseudo']));
$email = trim($_POST['email']);
$message = trim(ucfirst($_POST['message']);<< linea 55
// richiesta inserimento dati.
$insert = "INSERT INTO guestbook 
VALUES('','$pseudo','$email','$message','$date') ";
...
 Parse error: parse error, unexpected ';' in 
c:\programmi\easyphp1-7\www\farafina\tmp7dcdxa0lxs.php on line 55
adesso dove sbaglio? il php è bello ma mi sta cominciando a fare andare 
fuori di testa... 

risolto, mancava un ")"...devo ancora lavorare molto sulla sintassi!
grazie di tutto