Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    il fantasma del parse error

    Ciao a tutti, ho bisogno di una preziosa info.
    Ho uno script che controlla i dati da un form in POST e aggiorna un database MySQL.
    Dopo aver corretto alcuni errori che di risposta avevo quando testavo la pagina, adesso mi si presenta uno che non riesco a correggere.
    il motivo è questo:
    Parse error: parse error, unexpected $ in c:\programmi\apache group\apache\test\lavori\compagnia delle band sito\nuovo sito\gestioneband\conferma.php on line 380
    La linea rammentata è l'ultima, cioè contenente solo </html> e quindi come faccio a scovare l'errore? Il fatto che sia sull'ultima linea può suggerire qualche risposta?
    Fateme sape'.
    Ciao, grazie!

  2. #2

    Re: il fantasma del parse error

    Originariamente inviato da cemsal
    Ciao a tutti, ho bisogno di una preziosa info.
    Ho uno script che controlla i dati da un form in POST e aggiorna un database MySQL.
    Dopo aver corretto alcuni errori che di risposta avevo quando testavo la pagina, adesso mi si presenta uno che non riesco a correggere.
    il motivo è questo:
    Parse error: parse error, unexpected $ in c:\programmi\apache group\apache\test\lavori\compagnia delle band sito\nuovo sito\gestioneband\conferma.php on line 380
    La linea rammentata è l'ultima, cioè contenente solo </html> e quindi come faccio a scovare l'errore? Il fatto che sia sull'ultima linea può suggerire qualche risposta?
    Fateme sape'.
    Ciao, grazie!
    Probabilmente ti sei dimenticato di qualche parentesi, punto e virgola... oppure di qualche apice...
    Mah... Einstein.. non era bello di faccia... ma che fisico!!!

  3. #3
    Si, d'accordo ma perchè non mi segnala la linea giusta dell'errore?

  4. #4
    Originariamente inviato da cemsal
    Si, d'accordo ma perchè non mi segnala la linea giusta dell'errore?
    Perche' segnala dove l'errore viene intercettato. E questo potrebbe estendersi di molto fino a raggiungere spesso un end inaspettato alla fine dello script.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5

    Re: il fantasma del parse error

    Originariamente inviato da cemsal
    La linea rammentata è l'ultima, cioè contenente solo </html> e quindi come faccio a scovare l'errore? Il fatto che sia sull'ultima linea può suggerire qualche risposta?
    Fateme sape'.
    Ciao, grazie!
    Se è l'ultima probabilmente hai dimenticato di "chiudere" una IF ELSE
    vedi se hai dimenticato una "}"

    ciao

  6. #6
    Le IF sono tutte chiuse bene, ho controllato.
    Posterei anche il codice ma sono 380 righe...
    Questo è una pagina di conferma che è la destinazione di varie altre pagine form. Ognuna di queste ha un campo hidden con un diverso valore e punta alla pagina conferma.php (quella incriminata appunto).
    In questa pagina io valuto con varie if quale valore ha il campo hidden.
    Il problema del POST me lo ha proposto subito, quando sono andato a lavorare sul primo possibile risultato dell'hidden.
    Quindi, dato che le anche le altre IF sono chiuse bene, posto il codice in cui penso possa esserci l'errore.
    Vedete un pò e grazie a chi già mi ha risposto.
    ---
    include ("../config.inc.php");
    $db = mysql_connect($host, $username, $password);
    if ($db == FALSE) die("Errore nella connessione a MySQL. Riprovare in seguito.");
    mysql_select_db($nomedatabase, $db) or die("Errore nella selezione del database. Riprovare in seguito.");

    if (!$_POST[nome]) {
    $indietro = 1;
    $messaggio = "Attenzione non hai compilato il campo nome.";
    }

    if (!$_POST[genere]) {
    $indietro = 1;
    $messaggio .= "
    Attenzione non hai compilato il campo genere.";
    }

    if (!$_POST[anno]) {
    $indietro = 1;
    $messaggio .= "
    Attenzione non hai compilato il campo anno di formazione.";
    }

    if (!$_POST[email]) {
    $indietro = 1;
    $messaggio .= "
    Attenzione non hai compilato il campo email.";
    } else {
    if (!eregi("^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $_POST[email])) {
    $indietro = 1;
    $messaggio .= "
    Attenzione l'e-mail che hai inserito non è valida.";
    }

    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");

    if ($_FILES['image1']['name']) {
    if (!in_array($_FILES['image1']['type'],$allowed_types)) {
    $indietro = 1;
    $tipofile = 1;
    $messaggio .= "
    Stai cercando di caricare un tipo di file non consentito su immagine 1";
    }
    }
    if ($_FILES['image2']['name']) {
    if (!in_array($_FILES["image2"]["type"],$allowed_types)) {
    $indietro = 1;
    $tipofile = 1;
    $messaggio .= "
    Stai cercando di caricare un tipo di file non consentito su immagine 2";
    }
    } // , sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".

    if ($indietro == 1) die("$messaggio

    Premi il tasto indietro del tuo browser e riprova.");

    $_POST[nome] = htmlentities($_POST[nome]);
    $_POST[genere] = htmlentities($_POST[genere]);
    $_POST[sottogenere] = htmlentities($_POST[sottogenere]);
    $_POST[organico] = htmlentities($_POST[organico]);
    $_POST[biografia] = htmlentities($_POST[biografia]);
    $_POST[slogan] = htmlentities($_POST[slogan]);
    $_POST[telefono] = htmlentities($_POST[telefono]);

    $_POST[nome] = addslashes($_POST[nome]);
    $_POST[genere] = addslashes($_POST[genere]);
    $_POST[sottogenere] = addslashes($_POST[sottogenere]);
    $_POST[organico] = addslashes($_POST[organico]);
    $_POST[biografia] = addslashes($_POST[biografia]);
    $_POST[slogan] = addslashes($_POST[slogan]);
    $_POST[telefono] = addslashes($_POST[telefono]);

    $clientimage1=$_FILES['image1']['name'];
    $serverimage1=$_FILES['image1']['tmp_name'];
    $tipoimage1=$_FILES['image1']['type'];
    $clientimage2=$_FILES['image2']['name'];
    $serverimage2=$_FILES['image2']['tmp_name'];
    $tipoimage2=$_FILES['image2']['type'];

    $destinazione = "../foto/band/";

    if ($serverimage1) {
    $query = "SELECT image1 FROM band_band WHERE id='$id'";
    $result = mysql_query($query, $db) or die("Errore nell'interrogazione del Database. Riprovare in seguito.");
    $result = mysql_fetch_array($result);
    if ($result[image1]) {
    unlink("$destinazione/$result[image1]");
    }
    $newname = split(".", $clientimage1);
    $clientimage1 = $newname[0] . $id . "img1.$newname[1]";
    copy ("$serverimage1", "$destinazione/$clientimage1");
    unlink("$serverimage1");
    $query = "UPDATE band_band SET image1='$clientimage1'";
    $result = mysql_query($query, $db) or die("Errore nell'aggiornamento di immagine 1. Riprovare in seguito.");
    }
    if ($serverimage2) {
    $query = "SELECT image2 FROM band_band WHERE id='$id'";
    $result = mysql_query($query, $db) or die("Errore nell'interrogazione del Database. Riprovare in seguito.");
    $result = mysql_fetch_array($result);
    if ($result[image2]) {
    unlink("$destinazione/$result[image2]");
    }
    $newname = split(".", $clientimage2);
    $clientimage2 = $newname[0] . $id . "img2.$newname[1]";
    copy ("$serverimage2", "$destinazione/$clientimage2");
    unlink("$serverimage2");
    $query = "UPDATE band_band SET image2='$clientimage2'";
    $result = mysql_query($query, $db) or die("Errore nell'aggiornamento di immagine 1. Riprovare in seguito.");
    }

    $query = "UPDATE band_band SET nome='$_POST[nome]', genere='$_POST[genere]', sottogenere='$_POST[sottogenere]', anno='$_POST[anno]', organico='$_POST[organico]', biografia='$_POST[biografia]', slogan='$_POST[slogan]', telefono='$_POST[telefono]', email='$_POST[email]', sito='$_POST[sito]' WHERE id='$id'";
    mysql_query($query, $db) or die("Errore nell'aggiornamento dei dati. Riprovare in seguito.");

    $query = "SELECT * FROM band_band WHERE id='$id'";
    $result = mysql_query($query, $db);
    $result = mysql_fetch_array($result);
    ---
    e poi continua e visualizza i dati estratti da MySQL.

    Per i più esperti: perdonate la banalità o ridicolicità di alcuni passaggi ma sono alle prime armi...

  7. #7
    manca }

    $query = "SELECT * FROM band_band WHERE id='$id'";
    $result = mysql_query($query, $db);
    $result = mysql_fetch_array($result);
    } //prova così..

    sono 14 { e 13 }

  8. #8
    if (!$_POST[email]) {
    $indietro = 1;
    $messaggio .= "
    Attenzione non hai compilato il campo email.";
    } else {
    if (!eregi("^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $_POST[email])) {
    $indietro = 1;
    $messaggio .= "
    Attenzione l'e-mail che hai inserito non è valida.";
    }

    quasi certamente in questa parte non chiudi la } dell'else.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Grazie, ma dopo il codice postato c'è n'è altro in html puro dove visualizzo i risultati della query e infine riapro php per concludere con <? }
    Quindi non è quello l'errore.
    Esiste un programma, che so... un sito dove si può controllare il codice scritto alla ricerca di errori?

  10. #10
    La mia ultima era per Xerxe.
    Piero hai ragione l'errore sta là.
    Ora lo correggo, grazie...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.