• User

    Perchè compare Parse error unexpected T_STRING?

    Ciao a tutti,
    volevo chiedervi di aiutarmi a capire perchè mi compare il mesaggio Parse error: syntax error, unexpected T_STRING in /home/corsonet/public_html/invioform.php on line **12 **nel seguente codice:

    <?php
    $mail = "mioindirizzoemail";
    $oggetto = "Form online maggiori spiegazioni";
    $testo = "nickname: ".$_POST['nickname']."
    Nickname: ".$_POST['nickname']."
    Esperienza: ".$_POST['esperienza']."
    Avvio: ".$_POST['5']."
    Rasata: ".$_POST['6']."
    Grana_di_riso: ".$_POST['7']."
    Chiusura_del_lavoro: ".$_POST['8']."
    mail($mail,$oggetto,$testo);
    echo "Grazie per aver compilato il form! Torna a visitare il sito, presto una novità";
    ?>
    P.S.: volevo anche inserire il nickname dopo "grazie" nell'echo (la riga dell'errore): "grazie $nickname per..." sarebbe corretto?
    Grazie in anticipo a tutti:ciauz:


  • ModSenior

    Attento alle virgolette nelle stringhe quelle vanno usate solo se vuoi aggiungere del testo tuo, non se vuoi assegnare un valore alla variabile.
    E attento ai punto e virgola alla fine delle istruzioni.
    Le var

    Prova cosi.

    
    <?php
    $mail = "mioindirizzoemail";
    $oggetto = "Form online maggiori spiegazioni";
    $nick=$_POST['nickname'];
    $testo = "nickname: ".$_POST['nickname'];
    $testo = $testo. "Esperienza: ".$_POST['esperienza'];
    $testo = $testo. "Avvio: ".$_POST['5'];
    $testo = $testo. "Rasata: ".$_POST['6'];
    $testo = $testo. "Grana_di_riso: ".$_POST['7'];
    $testo = $testo. "Chiusura_del_lavoro: ".$_POST['8'];
    mail($mail,$oggetto,$testo);
     [echo](http://www.giorgiotave.it/forum/../wikigt/os/Echo) "Grazie $nick per aver compilato il form! Torna a visitare il sito, presto una novità";      
    ?>
    
    ```Ora per mandare a capo le frasi non ricordo se in php ci va il \n o si usa l'html <br> Purtroppo non ho php installato in locale quindi non posso testarlo.
    Potrebbe esserci qualche errore quindi nel codice che ti ho postato.
    
    Se si scusami cerchiamo insieme di correggerlo.

  • User

    Grazie! Funziona tutto, solo una domanda perchè prima non avevo spiegato bene tutto:
    quei campi avvio, chiusura lavoro ecc. sono dei campi check quindi gli utenti possono selezionarne uno o più ma nell'email mi scrive tutti i campi a prescindere da quelli selezionati, e poi vicino a quelli selezionati mi mette il numero relativo con cui ho chiamato il campo, esempio:
    1Avvio: 5Rasata: 6Grana_di_riso: Chiusura_del_lavoro:
    se hanno selezionato le prime due. Grazie ancora!!


  • ModSenior

    Sono contento di averti aiutato, qualche ricordo del php eh eh.


  • User

    Scusami ma prima provavo in un sottodominio che ho e funzionava, ora sul sito dove deve essere mi arriva l'email ma non mi prende nessun valore, mi scrive solo
    nickname: Esperienza: Avvio: Rasata: Grana_di_riso: Chiusura_del_lavoro:

    perchè??:x


  • ModSenior

    Potrebbe trattarsi del fatto che non vengono passati i valori nel form, prova a commentare l'invio della mail e stampare il valore della stringa testo che contiene tutti i valori dei post.


  • User

    Io sono proprio all'inizio (come avrai intuito) e se mi facessi un esempio pratico ti sarei molto molto grata!!;)


  • ModSenior

    In riferimento alle ultime tre righe corrette di prima.

    $testo = $testo. "Chiusura_del_lavoro: ".$_POST['8'];
    // mail($mail,$oggetto,$testo);
    // echo "Grazie $nick per aver compilato il form! Torna a visitare il sito, presto una novità";
    echo $testo;

    Cosa ti stampa?


  • User

    Purtroppo nella pagina php che apre dove ci sono i ringraziamenti, prima di "grazie..." visualizza "nickaname ecc", quindi mi stampa i nomi del modulo senza restituire comunque i valori selezionati, e nell'email, come prima, non indiva i valori selezionati.


  • ModSenior

    Il form come è dichiarato?
    La riga dove viene dichiarato.
    <form ....


  • User

    <form method="post" action="sito+pagphp>, nella pagina html del modulo da riempire.
    Ma la cosa strana è che nell'altro sito funzionava!!


  • ModSenior

    Mi sembra strana l'action del form...

    Posta tutto il form... Mettilo dentro il tag codice presente qua quando scrivi.


  • ModSenior

    Ciao lisamary,
    Se posti tutto il codice form più pagina di elaborazione, direi sia più facile trovare il problema, altrimenti pezzo per pezzo non ne uscite più.


  • User

    <form method="post" action="sito+pagphp">
    <FONT face="courier" size=4>
    Nickname/soprannome:
    <input type="text" name="nickname"><br><br>
    Livello esperienza nella lavorazione maglia:
    <select name="esperienza">
    <option> SELEZIONA LIVELLO
    <option> Principiante
    <option> Livello medio
    <option> Livello buono
    <option> Livello avanzato
    </select>
    <br><br><br>
    Avrei bisogno di spiegazioni approfondite per... <br><br>
    <ul>
    <li>
    Avvio delle maglie
    <input type="checkbox" name="avvio" value="avvio"> <br><br>
    <li>
    Maglia rasata dritta/rovescio
    <input type="checkbox" name="rasata" value="rasata"> <br><br>
    <li>
    Maglia grana di riso
    <input type="checkbox" name="grana_riso" value="grana_riso"> <br><br>

    <li>
    Chiusura del lavoro
    <input type="checkbox" name="chiusura_lavoro" value="chiusura_lavoro">


  • User

    <?php
    $mail = "miaemail";
    $oggetto = "Form online maggiori spiegazioni";
    $nick=$_POST['nickname'];
    $testo = "nickname: ".$_POST['nickname'];
    $testo = $testo. "Esperienza: ".$_POST['esperienza'];
    $testo = $testo. "Avvio: ".$_POST['avvio'];
    $testo = $testo. "Rasata: ".$_POST['rasata'];
    $testo = $testo. "Grana_di_riso: ".$_POST['grana_riso'];
    $testo = $testo. "Chiusura_del_lavoro: ".$_POST['chiusura_lavoro'];
    // mail($mail,$oggetto,$testo);
    // echo "Grazie $nick per aver compilato il form! Torna a visitare il sito, presto una novità";
    echo $testo;
    mail($mail,$oggetto,$testo);
    echo "Grazie $nick per aver compilato il form! Torna a visitare il sito, presto una novità";
    ?>

    le ultime righe hanno le ultime modifiche che mi avevi consigliato.


  • ModSenior

    Nella pagina di elaborazione prova a mettere:
    [php]
    print_r($_POST);
    [/php]
    Cosi vedi tutto ciò che gli arriva, e vedi se il problema è il modulo o la pagina di elaborazione, restringendo cosi la ricerca del problema.


  • User

    Non è cambiato niente, l'ho inserito in questa posizione nel codice della pagina php:
    echo "Grazie $nick per aver compilato il form! Torna a visitare il sito, presto una novità";
    print_r($_POST);
    ?>

    mi esce sempre la pagina di ringraziamenti con stampate le stesse cose di prima e nell'email non restituisce i valori.


  • ModSenior

    Non vorrei dire una stupidaggine...
    Ma la riga...
    <form method="post" action="sito+pagphp>

    Non dovrebbe essere..
    <form method="post" action="pagina.php"> ?

    Come è scritto sopra sembra un errore di battitura...


  • User

    non penso, perchè comunque la pagina (a parte con l'ultima modifica che mi stampa anche le varie "etichette" del form prima dei ringraziamenti), prima comunque mi stampava "grazie (con il nickname) ecc. il percorso è sito/paginaconestensionephp


  • ModSenior

    L'action identifica dove il form deve inviare i dati... e deve essere una pagina..

    Una pagina è composta da un nome e un estensione.

    E come è indicato sopra non è strutturato con nome pagina.estensione.