• User

    grazie peter. vedrò di studiarmelo il tuo esempio.
    pensavo semplicemente di poter usare una riga al posto di echo in modo da visualizzare una nuova pagina html a mio piacimento (anzichè la pagina bianca automaticamente visualizzata dal comando echo).
    tutto qua.

    <?php

    if(!$risultato = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $email)){
    echo "$email non è un'indirizzo email valido.";

    }else
    ...


  • Super User

    @silvio said:

    grazie peter. vedrò di studiarmelo il tuo esempio.
    pensavo semplicemente di poter usare una riga al posto di echo in modo da visualizzare una nuova pagina html a mio piacimento (anzichè la pagina bianca automaticamente visualizzata dal comando echo).
    tutto qua.

    <?php

    if(!$risultato = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $email)){
    echo "$email non è un'indirizzo email valido.";

    }else
    ...
    PaTeR != PETER

    lol :D:D:D

    non capisco cosa vuoi dire... tu cosa vorresti fare esattamente? potrei essermi sbagliato nell'interpretazione della tua richiesta!


  • User

    io ho questo file php:

    <?php

    if(!$risultato = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $email)){
    echo "$email non è un'indirizzo email valido.";

    }else
    ...

    ?>

    se inserisco un'indirizzo email non valido in un form di una pagina html che richiama il file php qui sopra, mi si apre una pagina bianca con scritto in alto a sx ".. non è un'indirizzo email valido."
    io non voglio che si apra la pagina bianca.
    voglio o che me lo scriva direttamente sulla stessa pagina del form o su un'altra pagina html di struttura-grafica identica a quella del form.
    è possibile?
    scusami se non riesco a spiegarmi meglio.


  • Super User

    ok ora ho capito! 😄

    Devi fare tutto in javascript, ora ti sposto 😄


  • Super User

    Ciao Silvio, se posti il codice della pagina html con il form, e il codice dello script php diventa piu' semplice capire dove bisogna modificare qualcosa.

    :ciauz:


  • User

    da quello che ho capito, fai dalla pagina del form un header a una pagina di controllo e da qui un altro header alla pagina a cui si deve accedere ,questa è una cosa semplice , se ho capito quello che vuoi fare

    Ciao


  • User

    penso anch'io sia un problema semplice da risolvere, ma molto probabilmente (causa la mia ignoranza) non riesco a spiegarmi bene.
    intanto vi posto i codici della pagina html e dello script php.

    <HTML>

    <HEAD><TITLE>Form</TITLE></HEAD>
    <BODY>

             <form action="form.php" method="post">
             <TABLE><TBODY>
              <TR>
                <TD>**Inserisci i tuoi dati:**
                </TD>
    

    <TD width=180></TD><TD width=120></TD></TR>
    <tr>
    <TD width=120></TD><td width=180></td>
    <td width=180></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180>Nome:</td>
    <td width=180 align=right><input type="text" size="33" maxlength="50" name="fielda"></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180>Cognome:</td>
    <td width=180 align=right><input type="text" size="33" maxlength="50" name="fieldb"></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180>Soprannome:</td>
    <td width=180 align=right><input type="text" size="33" maxlength="50" name="fieldc"></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180>Paese:</td>
    <td width=180 align=right><input type="text" size="33" maxlength="50" name="fieldd"></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180>Città:</td>
    <td width=180 align=right><input type="text" size="33" maxlength="50" name="fielde"></td><TD width=120></TD>
    </tr>
    <tr>
    <TD width=120></TD><td width=180></td>
    <td width=180 align=right>
    <input type="submit" value="Invia"></td><TD width=120></TD>
    </tr>

    </TBODY></TABLE></form>
    </BODY></HTML>

    <?php

    $messaggio.="Dati:\n\nNome: $fielda\nCognome: $fieldb\nSoprannome: $fieldc\nPaese: $fieldd\nCittà: $fielde\n";
    $destinatario= "indirizzo email";
    $oggetto="## Dati ##";
    $intestazioni="From: $fielda\n";
    mail($destinatario,$oggetto,$messaggio,$intestazioni);
    echo "dati inviati";

    ?>

    provo a spiegarvi di nuovo il problema.
    innanzitutto quello che ho postato sopra funziona, ossia io compilo il form premo invia e all'indirizzo che ho qui sopra omesso arriva l'email con i vari campi che avevo precedentemente inserito.
    dov'è il problema? il problema è la pagina bianca che salta fuori dopo che ho premuto invio con scritto "dati inviati" (echo "dati inviati").
    è possibile invece di far aprire allo script una pagina bianca, fargli aprire una pagina identica a quella che contiene il form? oppure, è possibile far si che "dati inviati" compaia nella stessa pagina del form, chennesò sotto o accanto al pulsante "invia"?
    in poche parole io non voglio che compaia la pagina bianca e voglio che si rimanga "all'interno del sito". ossia premo invio è mi compare di nuovo una pagina del sito (non bianca) oppure si rimanga sulla stessa pagina dove premuto "invia" compare da qualche parte la scritta "dati inviati".
    spero di essere stato abbastanza chiaro questa volta e comunque vada vi ringrazio per l'attenzione.

    silvio


  • User

    ho cambiato: echo "dati inviati";
    con: header("location: http://www.blablabla.it");
    ma il problema sussiste.
    www.blablabla.it è la pagina dove si trova il form.
    devo fare l'header ad un'altra pagina identica a quella che contiene il form ma con scritto "dati inviati"?
    è così che si risolve il problema?

    silvio


  • User

    AH se vuoi che la scritta compaia nella stessa pagina del form usa il cotrutto (dico in php,avevo letto in queste pagine qualche cosa in php malgrado la sezione)):
    if (isset($_POST['nome_del_tasto_submit'])) {
    fai avvenire i controlli che ti servono

    }

    form in html e ricorda di lasciare action='' oppure il link della stessa pagina in cui è il form 🙂

    Ciao


  • User

    scusami albertorrr ma non ho capito un fico secco.
    cos'è che dovrei fare? cosa dovrei cambiare perchè compaia la scritta "dati inviati" (nella pagina del form) una volta premuto il tasto invia e ricaricata la pagina?

    <?php

    $messaggio.="Dati:\n\nNome: $fielda\nCognome: $fieldb\nSoprannome: $fieldc\nPaese: $fieldd\nCittà: $fielde\n";
    $destinatario= "indirizzo email";
    $oggetto="## Dati ##";
    $intestazioni="From: $fielda\n";
    mail($destinatario,$oggetto,$messaggio,$intestazioni);
    header("location: http://www.paginadelform.it");

    ?>