Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: errore script?

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    74

    errore script?

    Ho scoperto un difetto nel mio script "segnala a un amico" (http://fdiodato.altervista.org/principale.htm). Mentre se non scrivo niente nel campo email del mittente mi segnala l`errore, nei campi email degli amici a cui segnalare il sito mi da` l`errore solo se non metto un indirizzo tipo indirizzo@dominio.it, ma per esempio una sola lettera dell`alfabeto. Se non scrivo niente si collega comunque alla pagina dello script, ma la pagina appare completamente bianca, senza nessuna scritta di errore. Si potrebbe correggere? Grazie.
    Francesco

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    74
    Ecco il codice:

    <?PHP
    /* Easy refer-a-friend
    Original script by burt [ burt@dotdragnet.co.uk ]
    Modifications by sandman [ sandman@idscotland.co.uk ]
    Traduzione italiana [ farlimas@altervista.org ]

    If you modify this script to make it more functional,
    please let us know so that we can update ours as well ! */

    //set variables

    // Your site name for use in the email
    $site_name="http://www.fdiodato.tk";
    // Your message for the email
    $text="Ciao, ho trovato questo bel sito che ti segnalo $site_name";
    // Title of email
    $title="Un messaggio dal tuo amico $sendername";
    // Thank you page for users
    $thankspage="http://fdiodato.altervista.org/grazieita.htm";

    // START CODE, DO NOT CHANGE ANYTHING BELOW THIS LINE

    // check email addresses

    $x1 = ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$senderemail);
    if($x1==0)
    # if no valid email address entered, display no email message
    {
    echo "<div align=center>Devi inserire un tuo indirizzo email valido.
    <a href=javascript:history.back(-1)>Ritorna al form</a>.</div>";
    exit;
    }

    if ($email<>"") {
    $x2 = ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$email);
    if($x2==0)
    # if no valid email address entered, display no email message
    {
    echo "<div align=center>!!ERRORE!!Il primo indirizzo email non &egrave; valido.
    <a href=javascript:history.back(-1)>Ritorna al
    form</a>.</div>";
    }
    }

    if ($email2<>"")
    {
    $x3 = ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$email2);
    if($x3==0)
    # if no valid email address entered, display no email message
    {
    echo "<div align=center>!!ERRORE!!Il secondo indirizzo email non &egrave; valido.
    <a href=javascript:history.back(-1)>Ritorna al
    form</a>.</div>";
    }
    }

    if ($email3<>"")
    {
    $x4 = ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$email3);
    if($x4==0)
    # if no valid email address entered, display no email message
    {
    echo "<div align=center>!!ERRORE!!Il terzo indirizzo email non &egrave; valido.
    <a href=javascript:history.back(-1)>Ritorna al
    form</a>.</div>";
    }
    }
    if (($x2!=0) || ($x3!=0) || ($x4!=0))
    {
    mail("$email", "$title", "$text", "From: \"$sendername\" $senderemail\n");
    mail("$email2", "$title", "$text", "From: \"$sendername\" $senderemail\n");
    mail("$email3", "$title", "$text", "From: \"$sendername\" $senderemail\n");

    // return thank you page
    header("Location: $thankspage");
    }

    ?>

  3. #3
    secondo me non entra mai qui
    Codice PHP:
    if ($email<>""
    tra l'altro...perchè il confronto lo fai con "<>"? E' una domanda, non una critica io confronto con "!=" però probabilmente è la stessa cosa?

    Io farei un controllo in javascript nell'evento onsubmit del form precedente....
    ciau!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    74
    Ciao e grazie della risposta. Lo script non l`ho fatto io: anzi, ne capisco poco. Cosa mi hai suggerito di fare? Non ho tanto capito. Scusa.
    Francesco

  5. #5
    se riempi il campo "tua email" mentre lasci vuoti tutti e tre i campi "email dei tuoi amici", lo script è progettato per non fare niente,che è proprio quello che fa .Se in questa situazione vuoi far comparire un messaggio,prova ad aggiungere questo alla fine dello script.
    Codice PHP:
    else{
    echo 
    "<div align=center>!!ERRORE!!non hai specificato nessun indirizzo a cui mandare il messaggio.
    <a href=java script:history.back(-1)>Ritorna al
    form</a>.</div>"
    ;

    dovrebbe funzionare.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    74
    [supersaibal]Originariamente inviato da COMANDANTE SPACE
    se riempi il campo "tua email" mentre lasci vuoti tutti e tre i campi "email dei tuoi amici", lo script è progettato per non fare niente,che è proprio quello che fa .Se in questa situazione vuoi far comparire un messaggio,prova ad aggiungere questo alla fine dello script.
    Codice PHP:
    else{
    echo 
    "<div align=center>!!ERRORE!!non hai specificato nessun indirizzo a cui mandare il messaggio.
    <a href=java script:history.back(-1)>Ritorna al
    form</a>.</div>"
    ;

    dovrebbe funzionare..... [/supersaibal]
    Grazie mille, funziona! L`unico problema e` che quando inserisco solo una lettera nel campo destinato all`idirizzo degli amici mi appaiono due avvisi di errore:

    !!ERRORE!!Il primo indirizzo email non è valido. Ritorna al form.
    !!ERRORE!!non hai specificato nessun indirizzo a cui mandare il messaggio. Ritorna al form.

  7. #7
    a questo punto però c'è una cosa che non capisco(qualcuno più navigato mi potrebbe aiutare?):se non entra in quest'if

    if ($email<>"") {

    la variabile $x2 non viene creata,giusto?quindi quando arriva all'ultimo controllo dovrebbe dare errore perchè la variabile $x2 non è stata definita,o no?




    cmq,tentando una soluzione,potresti sostituire la prima riga che ti avevo scritto(cioè "else{")con questa:
    Codice PHP:
    if((!isset($x2))&&(!isset($x3))&&(!isset($x4)){ 
    non sicuro che funzioni, ma c'è quel problema che ho scritto prima che non lo riesco a capire...

  8. #8
    anzi no,forse c'è un modo un pochino migliore:
    Codice PHP:
    if($email=="" && $email2=="" && $email3=""){ 

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    74
    Ho messo quella riga al posto di else{ ma quando lascio vuoti i cambi degli indirizzi e-mail degli amici mi esce la pagina bianca come succedeva all`inizio senza la tua aggiunta.
    Francesco

  10. #10
    controlla bene il codice,ho appena fatto una prova sul tuo sito e mi dice che c'è un errore alla riga 78, c'è una parentesi graffa di troppo...

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.