Visualizzazione risultati 1 fino 17 di 17

Discussione: [php] Form e risposta nella stessa pagina

  1. #1
    Guest

    Exclamation [php] Form e risposta nella stessa pagina

    Ciau , io ho scritto il seguente codice :
    Codice PHP:
    <form name="form1" method="post" action="?parte=1">
    Nick :
    <input name="Nick" type="text" id="Nick">
    <br>
    <br>
    Pass:
    <input name="Pass" type="text" id="Pass">
    <br>
    <br>
    Email:
    <input name="Mail" type="text" id="Mail">
    <br>
    <br>
    <input type="submit" name="Submit" value="Registrati">
    <input type="reset" name="Submit2" value="Reset">
    </form>
    <?
    if ($parte == 1 )

    echo
    "ciao $Mail $Nick $Pass";

    else

    echo
    ""

    ?>
    Purtroppo quando invio il form mi scrive sotto la frase "ciao ... ... ... " , io vorrei che mi comparisse in una pagina bianca , senza sopra quel fastidioso form , chi sa come fare ??
    Grazie ^_^

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?
    if (isset($_POST['parte'])) {
    $Mail=$_POST['Mail'];
    $Nick=$_POST['Nick'];
    $Pass=$_POST['Pass'];
    echo
    "ciao $Mail $Nick $Pass";
    }
    else {
    ?>
    <form name="form1" method="post" action="">
    <input type="hidden" name="parte" value="1">
    Nick :
    <input name="Nick" type="text" id="Nick">
    <br>
    <br>
    Pass:
    <input name="Pass" type="text" id="Pass">
    <br>
    <br>
    Email:
    <input name="Mail" type="text" id="Mail">
    <br>
    <br>
    <input type="submit" name="Submit" value="Registrati">
    <input type="reset" name="Submit2" value="Reset">
    </form>
    <?
    }
    ?>
    Ultima modifica di funcool : 31-10-2005 alle ore 19.01.35
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    cmq nn è $_POST['parte'] ma $_GET['parte'] xke il valore viene passato via get anche se sarebbe meglio farlo con un campo nascosto

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Scusa, ho editato lo script. Il campo nascosto c'era già, ho tolto il pezzo che c'era in action. Lo script non dava errore lo stesso.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito O.o

    O.O nun va , cmq , ho provato con :
    Codice PHP:
    <?
    if (isset($parte == 1)){
    $Mail=$_POST['Mail'];
    $Nick=$_POST['Nick'];
    $Pass=$_POST['Pass'];
    echo
    "ciao $Mail $Nick $Pass";

    }else{

    echo
    "";
    }

    ?>


    <BR>
    <form name="form1" method="post" action="?parte=1">
    Nick :
    <input name="Nick" type="text" id="Nick">
    <br>
    <br>
    Pass:
    <input name="Pass" type="text" id="Pass">
    <br>
    <br>
    Email:
    <input name="Mail" type="text" id="Mail">
    <br>
    <br>
    <input type="submit" name="Submit" value="Registrati">
    <input type="reset" name="Submit2" value="Reset">
    </form>
    ma mi da un errore di sintassi con le virgolette "" sulla riga 2 ç___ç

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se usi lo script che ho scritto io, funziona.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    Ora ho visto la correzione ^___________^
    Grazie , sei un mito

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma anche prima della correzione funzionava...
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    Risolto , e sono anche riuscito a non far vedere la parte sotto del form con la funzione exit()

    (...... ecco qui il codice php che ho corretto ..........)

    <?
    if ($parte == 1){
    $Mail=$_POST['Mail'];
    $Nick=$_POST['Nick'];
    $Pass=$_POST['Pass'];
    echo "ciao $Mail $Nick $Pass";
    exit();
    }else{

    echo "";
    }

    ?>
    (............................. fine)
    ^___^ grazie .

  10. #10
    Guest

    Predefinito

    cmq exit() lo puoi mettere anke senza () cmq oltre ad exit; ci sono anche le funzioni:
    die(); e break; ke fanno quasi la stessa cosa...

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Codice PHP:
    <?
    if (isset($_POST['parte'])) {
    $Mail=$_POST['Mail'];
    $Nick=$_POST['Nick'];
    $Pass=$_POST['Pass'];
    echo
    "ciao $Mail $Nick $Pass";
    }
    else {
    ?>
    <form name="form1" method="post" action="">
    <input type="hidden" name="parte" value="1">
    Nick :
    <input name="Nick" type="text" id="Nick">
    <br>
    <br>
    Pass:
    <input name="Pass" type="text" id="Pass">
    <br>
    <br>
    Email:
    <input name="Mail" type="text" id="Mail">
    <br>
    <br>
    <input type="submit" name="Submit" value="Registrati">
    <input type="reset" name="Submit2" value="Reset">
    </form>
    <?
    }
    ?>
    Sono un nuovo iscritto ed ho appena iniziato a imparare il php
    per esercitazioni ho copiato questo tuo codice e funziona benisssimo, mi sarebbe difficile esternare il mio problema, per cui ti riporto il mio codice per poi spiegarti:
    Codice PHP:
    <?
    echo" <br>";
    echo
    " Inserisci nome - mail e password";
    $Nome=$_POST['nome'];
    $Mail=$_POST['mail'];
    $Pass=$_POST['pass'];
    $Rifiuta=$_POST['http://nohelp.altervista.org/index.html'];

    ?>
    <form name="form1" method="post" action="">
    Nome :
    <input name="nome" type="text" id="nome">
    <br>
    <br>
    Email:
    <input name="mail" type="text" id="mail">
    <br>
    <br>
    Password:
    <input name="pass" type="text" id="pass">
    <br>
    <br>
    <input type="submit" name="Submit" value="Registrati">
    <input type="reset" name="Submit2" value="Reset">
    <input type="visible" name="text" value="http://nohelp.altervista.org/index.html">
    </form>
    <?
    echo "<a href=" . $Rifiuta . ">RINUNCIA<a>";
    echo
    "<br/>";
    echo
    "<br/>";
    echo
    "questi i tuoi dati $Nome&nbsp;&nbsp;$Mail&nbsp;&nbsp;$Pass";
    echo
    "<br/>";
    ?>
    come vedi, ho aggiunto una variabile per il link e mi succede che se questa pagina si trova nella stessa cartella della pagina linkata funziona, se invece si trovano in cartelle diverse non funziona e ricevo il messaggio "pagina index mancante".
    Ho provato anche a riportare il link con il percorso ../index.html, ma niente!
    Non riesco a risolvere il problema per cui ti chiedo se gentilmente puoi aiutarmi.
    grazie
    nohelp

  12. #12
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao!
    Una stringa è un qualsiasi insieme di caratteri, senza limitazione normalmente contenuto all'interno di una coppia di apici doppi o apici singoli. Le stringhe delimitate da apici sono la forma più semplice, consigliata quando all'interno della stringa non vi sono variabili di cui vogliamo ricavare il valore:
    Codice PHP:
    <?php

    $frase
    = 'Anna disse: "Ciao a tutti!" ma nessuno rispose';
    echo
    $frase;

    ?>
    Questo codice stamperà la frase: 'Anna disse: "Ciao a tutti!" ma nessuno rispose'. Gli apici doppi ci consentono di usare le stringhe in una maniera più sofisticata, in quanto, se all'interno della stringa delimitata da virgolette PHP riconosce un nome di variabile, lo sostituisce con il valore della variabile stessa.
    Codice PHP:
    <?php

    $nome
    = 'Anna';
    echo
    "$nome è simpatica... a pochi"; // stampa: Anna è simpatica... a pochi
    echo '$nome è simpatica... a pochi'; // stampa: $nome è simpatica... a pochi
    echo "{$nome} è simpatica a pochi"; // è una sintassi alternativa, con lo stesso effetto della prima

    ?>
    Ci sono un paio di regole molto importanti da ricordare quando si usano le stringhe delimitate da apici o virgolette: siccome può capitare che una stringa debba contenere a sua volta un apice o un paio di virgolette, abbiamo bisogno di un sistema per far capire a PHP che quel carattere fa parte della stringa e non è il suo delimitatore. In questo caso si usa il cosiddetto 'carattere di escape', cioè la barra rovesciata (backslash: \). Vediamo alcuni esempi:
    Codice PHP:
    <?php

    echo 'Torniamo un\'altra volta'; // stampa: Torniamo un'altra volta
    echo "Torniamo un'altra volta"; // stampa: Torniamo un'altra volta
    echo "Torniamo un\'altra volta"; // stampa: Torniamo un\'altra volta
    echo 'Torniamo un'altra volta'; // causa un errore, perchè l'apostrofo viene scambiato per l'apice di chiusura'
    echo 'Anna disse "Ciao" e se ne andò'; // stampa: Anna disse "Ciao" e se ne andò
    echo "Anna disse \"Ciao\" e se ne andò"; // stampa: Anna disse "Ciao" e se ne andò
    echo 'Anna disse \"Ciao\" e se ne andò'; // stampa: Anna disse \"Ciao\" e se ne andò
    echo "Anna disse "Ciao" e se ne andò"; // errore

    ?>
    Fonte: HTML.it
    Per approfondire leggi: http://php.html.it/guide/lezione/2643/i-tipi-di-dato/ (capitolo: Stringa)

    Comunque andiamo al tuo errore, che corretto diventa:
    Codice PHP:
    echo "<a href=\"$Rifiuta\">RINUNCIA<a>";
    Ciao e buono studio!
    Ultima modifica di radiodelmomento : 04-06-2011 alle ore 18.20.47

  13. #13
    Guest

    Predefinito

    avevo già detto che sono alle prime armi con il php, ti ringrazio per le utilissime istruzioni che mi hai dato, ne farò uso.
    in quanto al mio problema, nonostante la correzione che mi hai fatto apportare, non funziona ancora, il link parte regolarmente, soltanto che non trova la pagina a cui si fa riferimento.
    nella mia scarsa conoscenza penso (penso soltanto) che il problema potrebbe essere qui:
    <input type="visible" name="text" value="http://nohelp.altervista.org/index.html">

    oppure qui:
    $Rifiuta=$_POST['http://nohelp.altervista.org/index.html'];
    perchè, come ho già detto, se questa pagina e quella relativa al link si trovano nella stessa cartella la cosa funziona.
    se vuoi puoi verificare su questo sito di studio che sto costruendo:
    http://nohelp.altervista.org/index.html (le ultime due voci a destra).
    confido in un tuo aiuto
    grazie

  14. #14
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Exclamation

    Citazione Originalmente inviato da nohelp Visualizza messaggio
    nella mia scarsa conoscenza penso (penso soltanto) che il problema potrebbe essere qui:
    <input type="visible" name="text" value="http://nohelp.altervista.org/index.html">

    oppure qui:
    $Rifiuta=$_POST['http://nohelp.altervista.org/index.html'];
    Scusa, non avevo guardato bene.
    Il problema dovrebbe essere nell'$_POST: prova a fare così, perché questa funzione non prende il contenuto (value), bensì il nome (name).
    Codice PHP:
    $Rifiuta=$_POST['text'];
    Prova e fammi sapere, ciao!
    Ultima modifica di radiodelmomento : 05-06-2011 alle ore 10.06.18

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Scusa, non avevo guardato bene.
    Il problema dovrebbe essere nell'$_POST: prova a fare così, perché questa funzione non prende il contenuto (value), bensì il nome (name).
    Codice PHP:
    $Rifiuta=$_POST['text'];
    Prova e fammi sapere, ciao!
    funziona, ma soltanto dopo aver premuto il pulsante registra, diversamente non trova la pagina linkata, mentre se il file si trova nella cartella principale del sito funziona anche con la mia precedente istruzione. Se vuoi puoi verificarlo sul mio sito http://nohelp.altervista.org/index.html
    Adesso ti spiego tutto e dopo puoi anche dirmi di non infastidirti più:
    Tutto quello che sto facendo è soltanto per apprendimento dell'php e relative esercitazioni, il mio obiettivo era quello di aggiungere un terzo pulsante di fianco a Registra e Reset, o al limite di trasformare il Reset con Rinuncia (il link in oggetto)ma ho capito che questi due pulsanti hanno istruzioni già predisposte (sbaglio?).
    Mettere questo link al di sotto del form non lo ritengo pratico per una buona interfaccia.
    Visto che precedentemente sei stato così gentile nel fornirmi quelle utilissime istruzioni sulle stringhe, lascio a te la decisione di arrivare in fondo a questo mio problema.
    grazie 1000 e fammi sapere (se vuoi)
    nohelp

  16. #16
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao, ho capito dove sta' l'errore: il sistema non capisce che "value" c'è se non hai prima inviato il modulo.
    Quindi, quando invii il modulo, puoi premere Rinuncia e funzionerà alla perfezione. Ho provato da te.
    Puoi comunque trasformare $Rinuncia in $Rinuncia = "http://nohelp.altervista.org/index.html"; e funziona tutto bene.
    Se non hai capito qualcosa dimmelo.
    Ciao!

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Ciao, ho capito dove sta' l'errore: il sistema non capisce che "value" c'è se non hai prima inviato il modulo.
    Quindi, quando invii il modulo, puoi premere Rinuncia e funzionerà alla perfezione. Ho provato da te.
    Puoi comunque trasformare $Rinuncia in $Rinuncia = "http://nohelp.altervista.org/index.html"; e funziona tutto bene.
    Se non hai capito qualcosa dimmelo.
    Ciao!
    forse non ho saputo esprimermi, io dico questo: se il comando Rifiuta, per funzionare, deve essere eseguito dopo di quello Registra vuol dire che i dati sono stati già inviati e quindi il rifiuto alla registrazione è nullo, ti pare? oppure se l'utente appena fatto accesso al modulo di registrazione ci ripensa e quindi vuole uscirsene il comando Rifiuta non funziona.
    Come si può fare stando sempre in php?
    ciao
    nohelp

    EDIT:

    Citazione Originalmente inviato da nohelp Visualizza messaggio
    forse non ho saputo esprimermi, io dico questo: se il comando Rifiuta, per funzionare, deve essere eseguito dopo di quello Registra vuol dire che i dati sono stati già inviati e quindi il rifiuto alla registrazione è nullo, ti pare? oppure se l'utente appena fatto accesso al modulo di registrazione ci ripensa e quindi vuole uscirsene il comando Rifiuta non funziona.
    Come si può fare stando sempre in php?
    ciao
    nohelp
    forse ci siamo !
    ho eliminato tutto ciò che riguarda $Rifiuta e prendendo la modalità di come mi avevi indicato tu per la corretta assegnazione di una variabile (la variabile però non c'entra), dopo il form, ho inserito questa riga:
    echo "<a href=\"http://nohelp.altervista.org/index.html\">RINUNCIA<a>";
    e sembra che funziona con e senza l'inserimento dei dati, se vuoi darci un'occhiata!
    Se veramente tutto funziona proverò ad inserire un comando di conferma, se non ci riesco posso chierti ancora un aiuto?
    Cortesemente ti chiedo di farmi sapere
    grazie
    nohelp
    Ultima modifica di alemoppo : 05-06-2011 alle ore 23.30.37 Motivo: Non fare doppi post. Usa il tasto Edita!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •