Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    69

    Link alla stessa pagina

    Salve, dopo un po di programmazione mi sono ritrovato a questo punto:
    rielaborando il codice di un form per "segnala ad un amico la pagina"
    ho creato un form che permette di inserire la mail e inviare (ad altri o a se stessi) una mail che ho personalizzato con varie cose, ora l'unica cosa che manca è che all'interno di questa mail dovrei inserire
    il link della pagina dalla quale ho inviato la mail, e dal momento che la pagina stessa del form viene creata automaticamente da codice non ha mai lo stesso link, quindi ora servirebbe del codice che in qualche modo inserisce nel corpo della mail il link della pagina dalla quale è stata inviata la mail,
    calcolando che il form lavora con una parte di codice che contiene il form il tasto e il testo su una pagina, e poi all' interno troviamo : action="segnala_amico.php" il che sta a significare che l'altra parte di codice ovvero quella che gestisce l'effettivo invio della mail si trova in un altro file separato (ma sempre nella stessa directory), sto facendo un po di prove, e mi sono chiesto se possa essere così difficile... la cosa migliore sarebbe riuscire ad integrare segnala_amico.php all'interno della pagina dove c'è il form cosi che il form mail lavorerebbe con la parte php interna alla pagina e per quanto riguarda il link non ci sarebbe alcun problema in quanto prenderebbe quello della pagina stessa, qualcuno ha qualche idea? anche su come riuscire ad inserire la pagina segnala amico nella pagina dove c'è il form?...
    grazie saluti, spero di essere stato chiaro!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    metti il nome della pagina di partenza in un campo hidden del form e usa il dato quando componi il testo della email che spedisci
    oppure mettilo in sessione

    però mi viene un dubbio: non riesci a recuperare il nome della pagina o non sai come passarlo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    69
    Quote Originariamente inviata da clasku Visualizza il messaggio
    metti il nome della pagina di partenza in un campo hidden del form e usa il dato quando componi il testo della email che spedisci
    oppure mettilo in sessione

    però mi viene un dubbio: non riesci a recuperare il nome della pagina o non sai come passarlo?
    ciao, il nome della pagina posso recuperarlo, ma cambia ogni volta,
    posto qui un po di codice:
    PARTE CHE TROIVAMO NELLA PAGINA CHE CONTIENE IL FORM:

    <form method="post" action="segnala_amico.php" target="iframe_invia" name="segnala_amico">


    insert mail<br>
    <input name="email" type="text">
    <br><br>
    <input value="Invia" type="submit">
    </form>
    PAGINA segnala_amico.php (che viene richiamata in action)

    <?php


    function check_email ($email)
    {
    if(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})$",$email)){
    return false;
    } else {
    return true;
    }
    }
    function invia_segnalazione()
    {
    // IMPOSTIAMO LE VARIABILI DELLA MAIL
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    $sito="html/pagina$pagenum.html";

    $verifica=check_email ($email);

    if(empty($email) OR $verifica==FALSE)
    {
    echo "<!DOCTYPE HTML>
    <html>
    <head>
    <title>Invio non riuscito</title>
    </head>
    <body>
    <div style=\"width:300px; text-align:center; padding:10px 0;
    font-size:13px; font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;\">
    <p style=\"font-size:18px; color:red;\">Attenzione!</p>";

    if(empty($nome))
    {echo "Non hai inserito il nome.<br/><br/>";}

    if(empty($email) or $verifica==FALSE)
    {echo "Non hai inserito l'indirizzo E-mail,<br/>
    oppure hai inserito<br/>un indirizzo E-mail non valido.<br/><br/>";}

    echo "<input type=\"button\" value=\"OK\" onclick=\"window.location.href='busta.jpg'\">
    </div>
    </body>
    </html>";
    }


    else


    {
    $message ="hi! \n\n";
    $message .="$sito\n\n";

    $intestazioni .= "From: $nome<noreply@noreply.it>\r\n";

    mail("$email","ciao",$message,$intestazioni);

    echo "<!DOCTYPE HTML>
    <html>
    <head>
    <title>Dati inviati correttamente</title>
    </head>
    <body>
    <div style=\"width:300px; text-align:center; padding:10px 0;
    font-size:13px; font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;\">
    <p style=\"font-size:18px; color:green;\">Dati inviati<br/>correttamente</p>
    <br/>
    <input type=\"button\" value=\"OK\" onclick=\"window.location.href='busta.jpg'\">
    </div>
    </body>
    </html>";
    }
    }
    invia_segnalazione();
    ?>



    quello che basterebbe fare è inserire in $sito il link che mi serve, tipo http://www.google.com, ma nel mio caso l'indirizzo cambia quindi dovrei mettere una cosa tipo http://www.sito/$filename.com, dove $pagename è già indicato, (ovvero quando la pagina viene creata gli viene già dato un nome) il tutto funzionerebbe ma trovandosi la parte di codice (segnala_amico.php) "staccata" da dove si trova il form e $pagename non funziona, il tutto sarebbe risolvibile al meglio inserendo l'azione segnala_amico.php all'interno della pagina dove si trova il form e il resto, ma non saprei come farlo, basta semplicemente l posto di: action="segnala_amico.php" incollarci il codice dell'altra pagina ho provato a fare un po di tentativi anche "improbabili" ma non ho ottenuto risultati, grazie per l'attenzione..

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    $filename.com in dipendenza di cosa varia?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    69
    $filename varia attraverso un form che lo definisce, ovvero l'utente sceglie (in una pagina precedente) il nome della pagina

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ok, mettilo in un sessione al momento in cui lo sceglie e poi lo trasmetti di pagina in pagina fino ad inserirlo nella email

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    69
    facendo una cosa del genere potrebbe funzionare, mettendogli direttamente l'azione segnala amico internamente nella pagina

    PAGINA CON IL FORM:

    <form method="post" action="segnala_amico.php" <<<-------- al posto di questa, (tutta la parte evidenziata in rosso) inserisco:

    <form action="action.php" method="POST">
    function check_email ($email)
    {
    if(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})$",$email)){
    return false;
    } else {
    return true;
    }
    }
    function invia_segnalazione()
    {
    // IMPOSTIAMO LE VARIABILI DELLA MAIL
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    $sito="html/pagina$pagenum.html";

    $verifica=check_email ($email);

    if(empty($email) OR $verifica==FALSE)
    {
    echo "<!DOCTYPE HTML>
    <html>
    <head>
    <title>Invio non riuscito</title>
    </head>
    <body>
    <div style=\"width:300px; text-align:center; padding:10px 0;
    font-size:13px; font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;\">
    <p style=\"font-size:18px; color:red;\">Attenzione!</p>";

    if(empty($nome))
    {echo "Non hai inserito il nome.<br/><br/>";}

    if(empty($email) or $verifica==FALSE)
    {echo "Non hai inserito l'indirizzo E-mail,<br/>
    oppure hai inserito<br/>un indirizzo E-mail non valido.<br/><br/>";}

    echo "<input type=\"button\" value=\"OK\" onclick=\"window.location.href='busta.jpg'\">
    </div>
    </body>
    </html>";
    }


    else


    {
    $message ="hi! \n\n";
    $message .="$sito\n\n";

    $intestazioni .= "From: $nome<noreply@noreply.it>\r\n";

    mail("$email","ciao",$message,$intestazioni);

    echo "<!DOCTYPE HTML>
    <html>
    <head>
    <title>Dati inviati correttamente</title>
    </head>
    <body>
    <div style=\"width:300px; text-align:center; padding:10px 0;
    font-size:13px; font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;\">
    <p style=\"font-size:18px; color:green;\">Dati inviati<br/>correttamente</p>
    <br/>
    <input type=\"button\" value=\"OK\" onclick=\"window.location.href='busta.jpg'\">
    </div>
    </body>
    </html>";
    }
    }
    invia_segnalazione();

    </form> poi continuo con il resto di codice per il form
    target="iframe_invia" name="segnala_amico"> <<<------- questa parte è sicuramente da correggere
    insert mail<br><input name="email" type="text">
    <br><br>
    <input value="Invia" type="submit">
    </form> ho provato a fare questo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    69
    Quote Originariamente inviata da clasku Visualizza il messaggio
    ok, mettilo in un sessione al momento in cui lo sceglie e poi lo trasmetti di pagina in pagina fino ad inserirlo nella email
    quale tipo di sessione sarebbe corretto usare, o meglio con che "abbinamento"
    è possibile vedere un esempio?..

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