• User

    novellino php cerca aiuto ( form )

    Ciao a tutti .
    Sto' diventando scemo...

    Ce la sto' mettendo tutta ma combino solo disastri !
    Sono agli inizi con php e non capisco cosa sbaglio .

    QUESTO E' IL FORM

    <form action="elaboraform.php" method="post">
    <h4>simulatore di successo:</h4>
    <input type="radio" value="ok" name="successo" /> messaggio inviato
    <input type="radio" value="ko" name="successo" /> messaggio non inviato
    <h4>nome:</h4>
    <input type="text" name="nome" />
    <h4>cognome:</h4>
    <input type="text" name="cognome" />
    <h4>messaggio:</h4>

    <textarea name="testo"></textarea><br /><br />
    <input type="submit" name="submit" value="invia il messaggio!" />
    </form>

    E QUESTA LA PAGINA elaboraform.PHP

    <?php
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $messaggio_spedito=$_POST['successo'];
    $messaggio_NON_spedito=$_POST['successo'];
    ?>

    <?php

    if($messaggio_spedito){
    echo "<div id='msg' class='msgSENT'>Messaggio inviato con successo! Ti risponderò al più presto possibile. <p id='close'>[click to close]</p></div>";}

    if($messaggio_NON_spedito){
    echo "<div id='msg' class='msgKO'>Attenzione: messaggio non inviato! Riprova fra un pò di tempo <p id='close'>[click to close]</p></div>";}

    ?>

    IL RISULTATO E' SEMPRE QUESTO

    Notice: Undefined index: nome in c:\programmi\easyphp1-8\www\andreasitoweb\linda \elaboraform.php on line 26

    Notice: Undefined index: cognome in c:\programmi\easyphp1-8\www\andreasitoweb\linda \elaboraform.php on line 27

    Notice: Undefined index: successo in c:\programmi\easyphp1-8\www\andreasitoweb\linda \elaboraform.php on line 28

    Notice: Undefined index: successo in c:\programmi\easyphp1-8\www\andreasitoweb\linda \elaboraform.php on line 29
    VORREI FARE UNA COSA COME QUESTA MA PROPRIO NON CI RIESCO
    http://www.nourdine.org/pages/articoli/esempi/5.2.php

    C'e' qualcuno che mi puo' aiutare ?
    Grazie
    A❌x❌x


  • Super User

    Ciao flashguitar ;),
    Prova usando questo codice inserito in una sola pagina php che ha funzione di inviare i dati e ricevere il responso:
    [php]<form action="" method="post">
    <h4>simulatore di successo:</h4>
    <input type="radio" value="ok" name="successo" /> messaggio inviato
    <input type="radio" value="ko" name="successo" /> messaggio non inviato
    <h4>nome:</h4>
    <input type="text" name="nome" />
    <h4>cognome:</h4>
    <input type="text" name="cognome" />
    <h4>messaggio:</h4>
    <textarea name="testo"></textarea><br /><br />
    <input type='hidden' name='clicked'>
    <input type="submit" value="invia il messaggio!" />
    </form>
    <?
    if(isset($_clicked)){
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    if($_POST[successo]=="ok"){
    $stato="spedito";}elseif($_POST[successo]=="ko")
    {$stato="nonspedito";}
    if($stato=="spedito"){
    echo "<div id='msg' class='msgSENT'>Messaggio inviato con successo! Ti risponderò al più presto possibile. <p id='close'>[click to close]</p></div>";}

    elseif($stato=="nonspedito"){
    echo "<div id='msg' class='msgKO'>Attenzione: messaggio non inviato! Riprova fra un pò di tempo <p id='close'>[click to close]</p></div>";}
    }
    ?>[/php]


  • User

    Ok grazie davvero .
    Vado a mangiare poi ci provo .
    Grazie ancora probid .

    Flashguitar


  • User

    caspita .........niente ..in una pagina sola..........quando invio il form mi azzera i campi.........come fa un reset....... boh........eppure ci devo arrivare......non so se hai visto l'esempio che ho linkato.....è davvero bello........tu che sei avanti in php.......magari lo puoi utilizzare . grazie comunque per l'aiuto . ancora grazie flashguitar


  • Super User

    Riprova così (mi sono accorto di due erroretti terribilmente stupidi :D) :
    [php]
    <form action="" method="post">
    <h4>simulatore di successo:</h4>
    <input type="radio" value="ok" name="successo" /> messaggio inviato
    <input type="radio" value="ko" name="successo" /> messaggio non inviato
    <h4>nome:</h4>
    <input type="text" name="nome" />
    <h4>cognome:</h4>
    <input type="text" name="cognome" />
    <h4>messaggio:</h4>
    <textarea name="testo"></textarea><br /><br />
    <input type='hidden' name='clicked'>
    <input type="submit" value="invia il messaggio!" />
    </form>
    <?
    if(isset($_POST[clicked])){
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    if($_POST[successo]=="ok"){
    $stato="spedito";}elseif($_POST[successo]=="ko")
    {$stato="nonspedito";}
    if($stato=="spedito"){
    echo "<div id='msg' class='msgSENT'>Messaggio inviato con successo! Ti risponderò al più presto possibile. <p id='close'>[click to close]</p></div>";}

    elseif($stato=="nonspedito"){
    echo "<div id='msg' class='msgKO'>Attenzione: messaggio non inviato! Riprova fra un pò di tempo <p id='close'>[click to close]</p></div>";}
    }
    ?>[/php]


  • User

    @flashguitar said:

    Ciao a tutti .
    Sto' diventando scemo...

    Ce la sto' mettendo tutta ma combino solo disastri !
    Sono agli inizi con php e non capisco cosa sbaglio .

    QUESTO E' IL FORM

    <form action="elaboraform.php" method="post">
    <h4>simulatore di successo:</h4>
    <input type="radio" value="ok" name="successo" /> messaggio inviato
    <input type="radio" value="ko" name="successo" /> messaggio non inviato
    <h4>nome:</h4>
    <input type="text" name="nome" />
    <h4>cognome:</h4>
    <input type="text" name="cognome" />
    <h4>messaggio:</h4>

    <textarea name="testo"></textarea><br /><br />
    <input type="submit" name="submit" value="invia il messaggio!" />
    </form>

    E QUESTA LA PAGINA elaboraform.PHP

    <?php
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $messaggio_spedito=$_POST['successo'];
    $messaggio_NON_spedito=$_POST['successo'];
    ?>

    <?php

    if($messaggio_spedito){
    echo "<div id='msg' class='msgSENT'>Messaggio inviato con successo! Ti risponderò al più presto possibile. <p id='close'>[click to close]</p></div>";}

    if($messaggio_NON_spedito){
    echo "<div id='msg' class='msgKO'>Attenzione: messaggio non inviato! Riprova fra un pò di tempo <p id='close'>[click to close]</p></div>";}

    ?>

    Puoi fare anche così:
    [html]
    if($messaggio_spedito=="ok"){
    echo "<div id='msg' class='msgSENT'>Messaggio inviato con successo! Ti risponderò al più presto possibile. <p id='close'>[click to close]</p></div>";}
    else
    {
    echo "<div id='msg' class='msgKO'>Attenzione: messaggio non inviato! Riprova fra un pò di tempo <p id='close'>[click to close]</p></div>";}
    ?>

    [/html]
    Ciao:ciauz: