Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Parse error: syntax error, unexpected T_SL

    Salve, oggi mi ritrovo con questo errore ma non capisco proprio il perchè. Solitamente è dato dal fatto che dopo <<<EOT ci sono spazi, ma di spazi bianchi non ce sono quindi non capisco, questa è la parte di codice che coinvolge l' errore:

    Codice PHP:
     echo <<<EOT
    <form action="{$form_action}" method="POST">
    Username

    <input type="text" name="username" required />


    Password

    <input type="password" name="password" required />


    <input type="submit" name="login" value="Login" /></form>

    EOT; 
    Secondo voi da cosa è dovuto?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    imposta la variabile e dopo la stampi

  3. #3
    Cosa?

    $form_action è stata dichiarata precedentemente.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4

    Re: Parse error: syntax error, unexpected T_SL

    Originariamente inviato da 0-c00l
    Salve, oggi mi ritrovo con questo errore ma non capisco proprio il perchè. Solitamente è dato dal fatto che dopo <<<EOT ci sono spazi, ma di spazi bianchi non ce sono quindi non capisco, questa è la parte di codice che coinvolge l' errore:

    Codice PHP:
     $variabile = <<<EOT
    <form action="{$form_action}" method="POST">
    Username

    <input type="text" name="username" required />


    Password

    <input type="password" name="password" required />


    <input type="submit" name="login" value="Login" /></form>

    EOT;

    echo 
    $variabile
    Secondo voi da cosa è dovuto?

  5. #5
    è importante che non ci siano spazi all chiusura della variabille EOT

  6. #6
    Quel codice e' corretto, l'errore e' in qualche altra riga.

  7. #7
    k.b, il codice completo:

    Codice PHP:
    <?php

    // Script made by zypher
    // All rights reserved
    // Website: [url]http://beateaters.it[/url]
    // Email: danilo(a)Beateaters.it

    session_start();
    $action $_GET['action'];
    $db_hostname "localhost"// SE NECESSARIO modifica col nome dell' hostname per accedere al db
    $db_username "USERNAME DB"// Modifica con l' username per accedere al db
    $db_password ""// SE NECESSARIO modifica con la password per accedere al db
    $db_name "NOME DB"// Modifica col nome del db

    mysql_select_db($db_namemysql_connect($db_hostname$db_username$db_password)) or die(mysql_error());

    if(
    $action != "login" && $action != "admin" && $action != "delete" && $action != "show") {
    header ('Location: ?action=login');
    } elseif(empty(
    $action)) {
    header ('Location: ?action=login');
    }


    switch(
    $action) {
    case 
    login:
    $form_action $_SERVER['PHP_SELF']."?action=login";
    echo <<<EOT
    <form action="{$form_action}" method="POST">
    Username

    <input type="text" name="username" required />


    Password

    <input type="password" name="password" required />


    <input type="submit" name="login" value="Login" /></form>

    EOT;

    if(isset(
    $_POST['login'])) {
    $username str_replace('\'',''htmlspecialchars($_POST['username']));
    $password str_replace('\'',''htmlspecialchars($_POST['password']));

    $user "NICKNAME"// Modifica col nickname con cui il login avrà successo
    $pass "PASSWORD"// Modifica con la password con cui il login avrà successo

    if($username != $user || $password != $pass) {
    echo 
    '<span style="color: red; font-weight: bold; font-size: small;">Dati errati</span>';
    } else {
    $_SESSION['username'] = $username;
    header ('Location: ?action=admin');
    }
     }
    break;
    case 
    admin:
    $form_action $_SERVER['PHP_SELF']."?action=admin";
    if(isset(
    $_SESSION['username'])) {
    echo <<<EOT
    <form action="{$form_action}" method="POST">
    Titolo (max 50 caratteri spazi compresi)

    <input type="text" name="titolo" maxlength="50" required />


    News (max 2000 caratteri spazi compresi)

    <textarea name="news" cols="50" rows="15"></textarea>


    <input type="submit" name="inserisci" value="Inserisci" /> <input type="button" onclick="window.location='?action=delete';" value="Cancella una news" /></form>

    EOT;

    if(isset(
    $_POST['inserisci'])) {

    $titolo $_POST['titolo'];
    $news nl2br($_POST['news']);

    mysql_query("CREATE TABLE IF NOT EXISTS news (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, titolo VARCHAR(50), news VARCHAR(2000))");
    $insert mysql_query("INSERT INTO news (titolo, news, data) VALUES ('$titolo','$news')");
    if(
    $insert) {
    echo 
    '<span style="color: green; font-weight: bold; font-size: small;">News aggiunta correttamente</span>';
    } else {
    echo 
    '<span style="color: red; font-weight: bold; font-size: small;">Errore: News non aggiunta. Riprovare.</span>';
    }
     }
      }

    break;
    case 
    delete:
    $form_action $_SERVER['PHP_SELF']."?action=delete";
    if(isset(
    $_SESSION['username'])) {
    echo <<<EOT
    <form action="{$form_action}" method="POST" onSubmit="confirm: ('Sei sicuro di voler cancellare?');">
    Scegli la news da cancellare

    <select name="news"><option value="null"> </option>
    EOT;

    $select_news mysql_query("SELECT * FROM news");
    while (
    $ref mysql_fetch_row($select_news)) {
    $id $ref[0];
    $titolo $ref[1];
    echo 
    '<option value="'.$id.'">'.$titolo.'</option>';
    }
    echo <<<EOT
    </select>


    <input type="submit" value="Cancella" name="cancella" /></form>

    EOT;

    if(isset(
    $_POST['cancella'])) {
    $id $_POST['news'];
    $cancella mysql_query("DELETE FROM news WHERE id='$id'");
    if(
    $cancella) {
    echo 
    '<span style="color: green; font-weight: bold; font-size: small;">News cancellata correttamente</span>';
    } else {
    echo 
    '<span style="color: red; font-weight: bold; font-size: small;">Errore: News non cancellata. Riprovare.</span>';
    }
     }
       }
    break;
    case 
    show:
    $sel_news mysql_query("SELECT * FROM news");
    while (
    $sel $sel_news) {
    $titolo $sel[1];
    $news $sel[2];

    echo <<<EOT
    <span style="font-size: 24px; font-weight: bold;">{$titolo}</span>


    <div style="width: 700px; text-align: justify;">
    {$news}</div>
    EOT;
    }
    break;
      }

    ?>
    Errore:

    Parse error: syntax error, unexpected T_SL in *sito* on line 27

    Linea 27: echo <<<EOT

    Dato che lo script non l' ho provato ma l' ha fatto un conoscente, ora chiedo se ha inserit altre righe che quindi potrebbero influenzare la posizione della riga 27.

    PS:

    Le righe:

    Codice PHP:
    $username str_replace(''','', htmlspecialchars($_POST['username']));
    $password = str_replace('''
    ,''htmlspecialchars($_POST['password'])); 
    Sono corrette, solamente che l' editor qui ha 'assorbito' gli slash prima dell' apice nello str_replace
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  8. #8
    Probabilmente c'e' uno spazio dopo EOT.

  9. #9
    Io ho incollato il codice in una pagina test mia e , a parte gli errori dovuti all'editor per username ecc
    nonché gli actions dello switch che sono messi come costanti, non ho errori,
    Ad ogni modo l'errore T_SL è un errore dovuto ad carattere di fine riga errato.
    quindi è molto probabile che ci sia uno spazio o qualcosa del genere come un carattere che ad occhio non vedi
    dopo la dichiarazione della variabile <<<XXX

    prova a cancellare quel pezzo di codice e riscriverlo vedi che non avrai problemi.

  10. #10
    k.b di spazi non ne vedo, forse come dice princex non è visibile quello spazio (anche se mi suona strano)

    Ho riscritto togliendo tutti gli spazi anche nel contenuto (sostituendoli con ), ora vedo se va.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.