Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    67

    [PHP] Un errore nel codice

    Buongiorno a tutti voi,

    scrivo in quanto sto creando un sito internet con funzioni in php ed attualmente sto creando un comando che possa permettere all'utente l'invio di messaggi.

    Tuttavia, lavorando oggi, sul sito mi viene detto quanto segue: "Parse error: syntax error, unexpected $end in...."

    Se non erro, questo errore si presenta quando non si chiude qualche parentesi o simili, ma nel mio caso non riesco a capire dove ho sbagliato.

    Speranzosa di ricevere aiuto, vi lascio la porzione del codice che, secondo qualche indagine, dovrebbe essere errata:

    (Grazie in anticipo)

    <?
    function formattadata($tim)
    {
    return(strftime("%d/%m/%Y %H:%M", strtotime($tim)));
    }

    if ($_POST['Destinatario'] != '') {

    $Testo = htmlspecialchars($Testo);
    $Testo = str_replace("\n", "
    ", $Testo);

    $IDAllegato = 0 + $_POST['IDAllegato'];

    if ($IDAllegato > 0) {

    $MySql = "Select * From Messaggi";
    $MySql .= " Where ID = '$IDAllegato'";
    $MySql .= " AND Destinatario = '".pars($Login)."'";

    $Result = mysql_query($MySql);
    if ($rs = mysql_fetch_array($Result)) {
    $TestoAllegato = htmlspecialchars($par_MessaggiNameSing).… da parte di [b]'.htmlspecialchars($rs['Mittente']).'…
    $TestoAllegato .='Spedito il '.formattadata($rs['Spedito']).'
    ';
    $TestoAllegato .= addslashes($rs['Testo']);
    $TestoAllegato = str_replace('', '', $TestoAllegato);
    $TestoAllegato = str_replace('
    ', '', $TestoAllegato);
    } else {
    $TestoAllegato = 'Allegato inesistente!';
    }
    $rs->close;
    mysql_free_result($Result);
    $Testo .= '

    '.$TestoAllegato.'';
    }


    if (($_SESSION['IDGilda_S']%100 == 0) && (0 + $_SESSION['IDGilda_S'] > 0)) {
    $Dest = explode(',', $_POST['Destinatario']);
    } else {
    $Dest[0] = $_POST['Destinatario'];
    }
    for ($i = 0; $i <= count($Dest)-1; $i++) {
    $Destinatario = trim($Dest[$i]);
    $MySql = "SELECT Nome FROM Personaggio WHERE Nome = '$Destinatario'";
    $Result = mysql_query($MySql);
    $rs = mysql_fetch_array($Result);
    $Esiste = (!(!$rs));
    $rs->close;
    mysql_free_result($Result);
    $Certified = 0;
    if ($Esiste) {

    $MySql = "INSERT Into Messaggi (Mittente, Destinatario, Testo, Spedito) VALUES ('$Login', '$Destinatario', '$Testo', NOW())";
    mysql_query($MySql);

    $Certified = mysql_affected_rows();

    $IDCanc = 0 + $IDCanc;
    if (($IDCanc != "") && ($i==count($Dest)-1)) {
    $MySql = "INSERT INTO BakMessaggi SELECT * FROM Messaggi WHERE ID = $IDCanc AND Destinatario = '".pars($Login)."'";
    mysql_query($MySql);
    $MySql = "DELETE From Messaggi WHERE ID = $IDCanc AND Destinatario = '".pars($Login)."'";
    mysql_query($MySql);
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    Ciao,
    ho fatto un controllo al volo sulla sintassi, mi risulta questo:

    if ($_POST['Destinatario'] != '') { dove si chiude la condizione?

    for ($i = 0; $i <= count($Dest)-1; $i++) { dove si chiude il ciclo?

    if ($Esiste) { dove si chiude la condizione?

    mancano tutte le graffe di chiusura...poi ti conviene scrivere <?php anzichè <? per maggiore compatibilità se sposti il codice da un server all'altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    67
    Ringrazio infinite per la spiegazione, provo a modificare a faccio sapere

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.