Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

PHP Parse Error: non riesco a risolvere!!

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

PHP Parse Error: non riesco a risolvere!!

Messaggioda BlackJack » ven gen 18, 2013 5:46 pm

Ciao a tutti, inizio con il postarvi l'intero codice della pagina:

Codice: Seleziona tutto
<?php
session_start();
$tmpuser = $_SESSION['tmpuser'];
$tmppass = $_SESSION['tmppass'];

if(isset($tmpuser) AND ($tmppass))
{
   $id=$_GET['id'];
   require ('../config/dbconn.php');
   $sql="SELECT * FROM listino WHERE id='$id'";
   $risultati=mysql_query($sql);
   $prezzo_min=mysql_result($risultati,0,"prezzo_min");
    $prezzo_max=mysql_result($risultati,0,"prezzo_max");
    $camera=mysql_result($risultati,0,"camera");
    $trattamento=mysql_result($risultati,0,"trattamento");
   $note=mysql_result($risultati,0,"note");
   mysql_close();

?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Modifica listino</title>
<meta name="Microsoft Theme" content="none">
</head>

<body>

<table align="center" border="0" cellpadding="0" cellspacing="0" width="200" id="table1">
   <tr>
      <td bgcolor="#FFFFCC">
      <div align="center">
         <font color="#000066" face="Verdana, Arial, Helvetica, sans-serif" size="2">
         <strong>MODIFICA LISTINO</strong></font></div>
      </td>
   </tr>
</table>
<form method="POST" name="form1" action="modifica_listino1.php">
   <table align="center" bgcolor="#EBEBEB" id="table2">
      <tr valign="baseline">
         <td class="testo" align="right" nowrap="nowrap"><strong>Prezzo min:</strong></td>
         <td>
         <input name="prezzo_min" class="input" value="<?php echo $prezzo_min; ?>" size="6" type="text">
         <span class="tit2"><font color="#990000"><strong>€</strong></font></span>   
         </td>
      </tr>
      <tr valign="baseline">
         <td class="testo" align="right" height="25" nowrap="nowrap"><strong>
         Prezzo max:</strong></td>
         <td>
         <input name="prezzo_max" class="input" value="<?php echo $prezzo_max; ?>" size="6" type="text">
         <span class="tit2"><font color="#990000"><strong>€</strong></font></span>
         </td>
      </tr>
      <tr valign="baseline">
         <td class="testo" align="right" nowrap="nowrap"><strong>Tipo camera:</strong></td>
                  <td><select size="1" name="camera">
         <option selected value="<?php echo $camera; ?>"><?php echo $camera; ?></option>
         <option value="----------">----------</option>
         <option value="Singola">Singola</option>
         <option value="Doppia">Doppia</option>
         <option value="Matrimoniale">Matrimoniale</option>
         <option value="Tripla">Tripla</option>
         <option value="Quadrupla">Quadrupla</option>
         </select></td>
      </tr>
               <tr valign="baseline">
         <td class="txt" align="right" nowrap="nowrap"><strong>Trattamento:</strong></td>
         <td><select size="1" name="trattamento">
         <option selected value="<?php echo $trattamento; ?>"><?php echo $trattamento; ?></option>
         <option value="----------">----------</option>
         <option value="Pernottamento">Pernottamento</option>
         <option value="Bed & breakfast">Bed & breakfast</option>
         <option value="Mezza pensione">Mezza pensione</option>
         <option value="Pensione completa">Pensione completa</option>
         </select></td>
      </tr>
      </tr>
      <tr valign="baseline">
         <td class="testo" align="right" nowrap="nowrap" valign="top">
         <strong>Note:</strong></td>
         <td><textarea name="note" cols="50" rows="3" class="input"><?php echo $note; ?></textarea></td>
      </tr>
      <input name="id" type="hidden" value="<?php echo $id; ?>" /></p>
      <tr valign="baseline">
         <td align="right" nowrap="nowrap"><input name="invio" type="submit" value="Modifica" /></p></td>
         <td>&nbsp;</td>
      </tr>
   </table>
   <br>
&nbsp;<table align="center" bgcolor="#FFFFCC" border="0" cellpadding="0" cellspacing="0" width="240" id="table3">
      <tr>
         <td>
         <div align="center">
            <font color="#000066" face="Verdana, Arial, Helvetica, sans-serif" size="1">
            <strong>
            <a href="amministrazione.php">TORNA
            AL PANNELLO DI CONTROLLO</a></strong></font></div>
         </td>
      </tr>
   </table>
</form>
<p>&nbsp;</p>

</body>

</html>
<?php
}
else
{
   echo "Non sei autorizzato a visualizzare questa pagina!!";
}
?>


L'errore che ottengo è questo:
[18-Jan-2013 17:43:48 Europe/Berlin] PHP Parse error: syntax error, unexpected '}' in /home/******/public_html/******/*****.php on line 1

Non so voi, ma io non vedo assolutamente nessuna } alla riga 1!
Chi sa come risolvere?
Grazie mille a tutti.
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda BlackJack » ven gen 18, 2013 5:59 pm

Ho capito la causa del problema: ho realizzato la pagina su un computer con Notepad++ e l'ho messa online.
Adesso l'ho scaricata tramite un'altro pc e aperta sempre con Notepad++. Inspiegabilmente ho trovato una riga vuota dopo ogni riga di testo. Così ho eliminato tutte le righe vuote (senza toccare assolutamente nessun carattere) e da lì si è impallato il tutto!
Adesso sto recuperando i files originali sul pc e provo a caricare quelli...
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda badbreze » lun gen 21, 2013 4:34 pm

Io di tanto in tanto uso notepad++ e non mi da problemi, l'errore comunque indica che alla prima riga del file menzionato nell'errore ce una parentesi graffa di troppo.
Avatar utente
badbreze
Neo Iscritto
Neo Iscritto
 
Messaggi: 6
Iscritto il: ven dic 28, 2012 4:38 pm


Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda BlackJack » mar gen 22, 2013 8:26 pm

Lo avevo capito, ma il punto è che non c'è alcuna graffa! Il codice è quello che ho postato, lo stesso risultato se uso il Notepad di windows.
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda badbreze » mer gen 23, 2013 10:18 am

posta cortesemente l'errore per intero senza asterischi
Avatar utente
badbreze
Neo Iscritto
Neo Iscritto
 
Messaggi: 6
Iscritto il: ven dic 28, 2012 4:38 pm

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda Andy94 » mer gen 23, 2013 1:51 pm

posta cortesemente l'errore per intero senza asterischi

Poco cambierebbe: l'errore si verifica perché c'è una graffa che l'engine non si aspetta. Lui ti mostra 1 perché di fatto è la prima riga di codice PHP in quel blocco.

Venendo al problema: l'errore lo riscontri perché apri una graffa alla riga 7 e la richiudi alla riga 110.
Nessuno ti vieta di farlo, ma non puoi inserire altro codice PHP nel mezzo di codice HTML che viene parsato dopo un ciclo condizionale.
O metti tutto in echo e togli via il codice PHP all'interno di quello HTML (escapandolo per l'output) oppure crei un template a parte per quel codice e lo includi nella pagina all'interno del blocco condizionale.
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda badbreze » mer gen 23, 2013 3:49 pm

Andy94 ha scritto:
posta cortesemente l'errore per intero senza asterischi

Poco cambierebbe: l'errore si verifica perché c'è una graffa che l'engine non si aspetta. Lui ti mostra 1 perché di fatto è la prima riga di codice PHP in quel blocco.

Venendo al problema: l'errore lo riscontri perché apri una graffa alla riga 7 e la richiudi alla riga 110.
Nessuno ti vieta di farlo, ma non puoi inserire altro codice PHP nel mezzo di codice HTML che viene parsato dopo un ciclo condizionale.
O metti tutto in echo e togli via il codice PHP all'interno di quello HTML (escapandolo per l'output) oppure crei un template a parte per quel codice e lo includi nella pagina all'interno del blocco condizionale.


Niente affatto vero, prima di tutto, non e detto che l'errore si riferisca a un file differente da quello che l'utente ha postato, mi era solo venuto da pensare che l'errore possa riferirsi al file che lui include e quindi volevo sapere quale e il file nell'errore, e in secondo luogo in qualunque punto si può interrompere e riprendere più volte la scrittura del php. io posso benissimo fare così:
Codice: Seleziona tutto
<?php $a = 4; if($a) { ?><span>$a vale <?php echo $a; ?></span><?php } ?>


Prova a eseguirlo e scrivimi se va.
Avatar utente
badbreze
Neo Iscritto
Neo Iscritto
 
Messaggi: 6
Iscritto il: ven dic 28, 2012 4:38 pm

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda Andy94 » mer gen 23, 2013 5:21 pm

in secondo luogo in qualunque punto si può interrompere e riprendere più volte la scrittura del php

Sì, ma genera confusione... Comunque non è questo il punto.

Ho dato un'occhiata più approfondita al codice ed effettivamente non sembrano esserci problemi (prima avevo eseguito il codice usando solo una parte del primo blocco condizionale).
Anyway, Blackjack, forse è il caso di controllare il codice del file dbconn.php presente nella directory config. Sei sicuro che la graffa chiusa di cui si lamenta il motore non sia lì? [uhm]

[ciao]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda BlackJack » mer gen 23, 2013 8:19 pm

Probabilmente mi sono spiegato male io.
Ho scritto quella pagina e l'ho uploadata sul server. Poi tramite un'altro computer ho eseguito il download dal server della pagina, e quando l'ho aperta (stesso editor con cui l'avevo creata) ho notato che vi era una riga bianca dopo ogni riga di testo
ESEMPIO
Codice: Seleziona tutto
$a=$_GET['a'];

$b=$_GET['b'];

$c=$_GET['c'];


Ho quindi rimosso tutte le righe vuote (senza toccare NULLA del codice, nemmeno per errore) e ho salvato. Da quel momento la pagina non va più. Ho però recuperato il file dal computer che avuto utilizzato per scriverlo, senza queste righe vuote, e va alla perfezione. Il mistero è che i due codici sono IDENTICI! Quello che aveva gli spazi che ho rimosso, rendendolo uguale all'originale, non va!
Mai capitata una cosa simile?

p.s.: ho messo degli asterischi al nome del file per non rendere pubblico il percorso del file al quale sto lavorando (anche se ovviamente manca l'url completo del sito). Ovviamente l'errore è riferito alla pagina di cui ho postato il codice [rolleyes]
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda Andy94 » mer gen 23, 2013 8:33 pm

Ovviamente l'errore è riferito alla pagina di cui ho postato il codice

[^]
Fai una prova: sposta tutto il codice HTML (comprensivo dei pezzi di PHP in esso inseriti) in un file PHP a parte tipo template_modifica_listino.php e inserisci questo codice così com'è senza aggiungere altro.
Codice: Seleziona tutto
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Modifica listino</title>
    <meta name="Microsoft Theme" content="none">
    </head>

    <body>

    <table align="center" border="0" cellpadding="0" cellspacing="0" width="200" id="table1">
       <tr>
          <td bgcolor="#FFFFCC">
          <div align="center">
             <font color="#000066" face="Verdana, Arial, Helvetica, sans-serif" size="2">
             <strong>MODIFICA LISTINO</strong></font></div>
          </td>
       </tr>
    </table>
    <form method="POST" name="form1" action="modifica_listino1.php">
       <table align="center" bgcolor="#EBEBEB" id="table2">
          <tr valign="baseline">
             <td class="testo" align="right" nowrap="nowrap"><strong>Prezzo min:</strong></td>
             <td>
             <input name="prezzo_min" class="input" value="<?php echo $prezzo_min; ?>" size="6" type="text">
             <span class="tit2"><font color="#990000"><strong>€</strong></font></span>   
             </td>
          </tr>
          <tr valign="baseline">
             <td class="testo" align="right" height="25" nowrap="nowrap"><strong>
             Prezzo max:</strong></td>
             <td>
             <input name="prezzo_max" class="input" value="<?php echo $prezzo_max; ?>" size="6" type="text">
             <span class="tit2"><font color="#990000"><strong>€</strong></font></span>
             </td>
          </tr>
          <tr valign="baseline">
             <td class="testo" align="right" nowrap="nowrap"><strong>Tipo camera:</strong></td>
                      <td><select size="1" name="camera">
             <option selected value="<?php echo $camera; ?>"><?php echo $camera; ?></option>
             <option value="----------">----------</option>
             <option value="Singola">Singola</option>
             <option value="Doppia">Doppia</option>
             <option value="Matrimoniale">Matrimoniale</option>
             <option value="Tripla">Tripla</option>
             <option value="Quadrupla">Quadrupla</option>
             </select></td>
          </tr>
                   <tr valign="baseline">
             <td class="txt" align="right" nowrap="nowrap"><strong>Trattamento:</strong></td>
             <td><select size="1" name="trattamento">
             <option selected value="<?php echo $trattamento; ?>"><?php echo $trattamento; ?></option>
             <option value="----------">----------</option>
             <option value="Pernottamento">Pernottamento</option>
             <option value="Bed & breakfast">Bed & breakfast</option>
             <option value="Mezza pensione">Mezza pensione</option>
             <option value="Pensione completa">Pensione completa</option>
             </select></td>
          </tr>
          </tr>
          <tr valign="baseline">
             <td class="testo" align="right" nowrap="nowrap" valign="top">
             <strong>Note:</strong></td>
             <td><textarea name="note" cols="50" rows="3" class="input"><?php echo $note; ?></textarea></td>
          </tr>
          <input name="id" type="hidden" value="<?php echo $id; ?>" /></p>
          <tr valign="baseline">
             <td align="right" nowrap="nowrap"><input name="invio" type="submit" value="Modifica" /></p></td>
             <td>&nbsp;</td>
          </tr>
       </table>
       <br>
    &nbsp;<table align="center" bgcolor="#FFFFCC" border="0" cellpadding="0" cellspacing="0" width="240" id="table3">
          <tr>
             <td>
             <div align="center">
                <font color="#000066" face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <strong>
                <a href="amministrazione.php">TORNA
                AL PANNELLO DI CONTROLLO</a></strong></font></div>
             </td>
          </tr>
       </table>
    </form>
    <p>&nbsp;</p>

    </body>

    </html>


Poi trasforma il codice della pagina in questo.

Codice: Seleziona tutto
    <?php
    session_start();
    $tmpuser = $_SESSION['tmpuser'];
    $tmppass = $_SESSION['tmppass'];

    if(isset($tmpuser) AND ($tmppass))
    {
       $id=$_GET['id'];
       require ('../config/dbconn.php');
       $sql="SELECT * FROM listino WHERE id='$id'";
       $risultati=mysql_query($sql);
       $prezzo_min=mysql_result($risultati,0,"prezzo_min");
        $prezzo_max=mysql_result($risultati,0,"prezzo_max");
        $camera=mysql_result($risultati,0,"camera");
        $trattamento=mysql_result($risultati,0,"trattamento");
       $note=mysql_result($risultati,0,"note");
       mysql_close();

require_once("template_modifica_listino.php");
    }
    else
    {
       echo "Non sei autorizzato a visualizzare questa pagina!!";
    }
    ?>


E prova a vedere cosa succede. Mi aspetto altamente che dia l'errore, vediamo solo se cambia posto. [^]

[ciao]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda BlackJack » ven gen 25, 2013 4:45 pm

Ti ringrazio per l'interessamento Andy, ma purtroppo ora mai ho eliminato tutti i vecchi files che non andavano. Non ho più quindi gli HTML con tutte le righe vuote, mi spiace!

Credevo che fosse magari un problema noto, ma a quanto pare non lo è.

Provo a guardare tra il server i vari PC ma dubito che troverò le vecchie pagine. [:(]

Grazie comunque, Andy!
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: PHP Parse Error: non riesco a risolvere!!

Messaggioda Andy94 » ven gen 25, 2013 4:47 pm

[^]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron
Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising