Visualizzazione risultati 1 fino 14 di 14

Discussione: Problemi codice php echo, post e mail()

  1. #1
    Guest

    Predefinito Problemi codice php echo, post e mail()

    Salve amici,
    ho fatto 2 pagine per un invio di scambio link o banner, una pagina con gli input e il regolamento dello scambio, e una pagina php con la funzione mail() che invia gli scambi via mail a me. Dunque nella prima pagina tutto ok, nella pagina php mi dà errori. Questi sono i file:

    scambio.htm (solo la parte del form)
    Codice HTML:
    <form method="post" action="mailscambio.php">
    <table class="8pt" border="0" width="100%" height="400"><tr>
    <td valign="top" width="50%"><input type="radio" name="typelink" value="link">&nbsp;Scambio link testuale<br>
    <br>Tuo nome e cognome:<br><input class="paypal" type="text" name="1nome" size="29" maxlength="30"><br>
    <br>Tuo indirizzo email:<br><input class="paypal" type="text" name="1email" size="29" maxlength="30"><br>
    <br>Url tuo sito web:<br><input class="paypal" type="text" name="1web" size="29" maxlength="30"><br>
    <br>Titolo tuo sito web:<br><input class="paypal" type="text" name="1tit" size="29" maxlength="30"><br>
    </td>
    <td valign="top" width="50%"><input type="radio" name="typelink" value="banner">&nbsp;Scambio banner 120x60<br>
    <br>Tuo nome e cognome:<br><input class="paypal" type="text" name="2nome" size="29" maxlength="30"><br>
    <br>Tuo indirizzo email:<br><input class="paypal" type="text" name="2email" size="29" maxlength="30"><br>
    <br>Url tuo sito web:<br><input class="paypal" type="text" name="2web" size="29" maxlength="30"><br>
    <br>Titolo tuo sito web:<br><input class="paypal" type="text" name="2tit" size="29" maxlength="30"><br>
    <br>Url immagine banner 120x60:<br><input class="paypal" type="text" name="2urlimm" size="29"><br>
    </td>
    </tr><tr><td colspan="2" height="60" style="font-weight:700">Accetti i punti del regolamento per lo scambio link e hai gi&agrave; pubblicato nella tua home page il codice scambio link tesuale o banner 120x60?<br>
    <input checked type="radio" name="accept" value="si">&nbsp;S&igrave;<br><input type="radio" name="accept" value="no">&nbsp;No</td></tr>
    <tr><td colspan="2" height="40" align="center"><button type="submit" style="font-family: Tahoma; font-size: 8pt; font-weight: bold; width:70; height:30">Invia</button></td></tr></table>
    </form>
    mailscambio.php (tutta la pagina, non ho inserito i tag <html> e </html> perché è php)
    Codice PHP:
    <head>
    <title>Scambio link tutto free inviato</title>
    </head>
    <body>
    <?php
    $oggi
    = date("D d M Y, G:i:s");
    $tipo = $_POST[typelink]

    $nome1 = $_POST[1nome]
    $email = $_POST[1email]
    $web1 = $_POST[1web]
    $tit1 = $_POST[1tit]

    $nome2 = $_POST[2nome]
    $email2 = $_POST[2email]
    $web2 = $_POST[2web]
    $tit2 = $_POST[2tit]
    $urlimg = $_POST[2urlimm]

    $ip = "$_SERVER[REMOTE_ADDR]";
    $to = "redazione@tuttofree.net";
    $soggetto = "Scambio $tipo da $ip dal form di Tuttofree.net";
    $body = "Scambio $tipo il $oggi da $ip";
    $body .= "\n \nTipo scambio: $tipo \n \nPer scambio link \nNome: $nome1 \nEmail: $email \nSito web: $web1 \nTitolo sito web: $tit1 \n \nPer lo scambio banner 120x60: \nNome: $nome2 \nEmail: $email2 \nSito web:$web2 \nTitolo sito web: $tit2 \nUrl immagine: $urlimg";
    mail("$to","$soggetto","$body","From: $mittente");
    ?>
    <link rel="stylesheet" href="mail.css">
    <table border="0" width="100%" id="table1">
    <tr>
    <td align="center" colspan="2" style="font-size: 10pt">Messaggio inviato</td>
    </tr>
    <tr><td colspan="2">&nbsp;</td></tr>
    <tr>
    <td align="center" colspan="2">Hai spedito uno scambio&nbsp;<?php echo $_POST[typelink]; ?>&nbsp;alla redazione Tuttofree.net e, se il nostro banner o il nostro link testuale sta nella tua home page, il tuo sar&agrave; pubblicato entro 3 giorni.<br>
    <?php
    $acc
    = $_POST[accept]
    if (
    $acc = "si") echo: "Hai accettato il contratto"
    else if ($acc = no) echo: "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato"
    ?></td>
    </tr>
    <tr>
    <td height="100" align="center" colspan="2"><button onClick="window.close(); return(false);">Chiudi la finestra</button></td>
    </tr>
    </table>
    </body>
    Mi aiutate a risolvere?

    Ciao...

  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

    Che errori ti dà?

    Al posto di:
    Codice PHP:
    $acc = $_POST[accept]
    Metti:
    Codice PHP:
    $acc=$_POST['accept'];
    Inoltre metti gli apici per tutti gli elementi dell'array $_POST.
    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
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Mah forse sbaglio ma queste due righe:
    Codice PHP:
    <?php
    $acc
    = $_POST[accept]
    if (
    $acc = "si") echo: "Hai accettato il contratto"
    else if ($acc = no) echo: "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato"
    ?>
    Non dovrebbero essere cosi?
    Codice PHP:
    <?php
    $acc
    = $_POST['accept'];
    if(
    $acc == "si"){
    echo
    "Hai accettato il contratto";
    } elseif (
    $acc == "no"){
    echo
    "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato";
    }
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  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

    Possono essere anche così:
    Codice PHP:
    <?php
    $acc
    = $_POST['accept'];
    if (
    $acc=="si")
    echo
    "Hai accettato il contratto";
    else if (
    $acc=="no")
    echo
    "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato";
    ?>
    Ultima modifica di funcool : 02-02-2008 alle ore 19.27.29
    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
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ma poi gli echo non gli danno errore del punto e virgola mancante?
    Apprezzi l'aiuto? Offrimi un caffè!

  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

    A dir la verità li avevo dimenticati.
    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
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Possono essere anche così:
    Codice PHP:
    <?php
    $acc
    = $_POST['accept'];
    if (
    $acc = "si")
    echo
    "Hai accettato il contratto";
    else if (
    $acc = no)
    echo
    "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato";
    ?>
    nope, in quegli if ci sono due assegnazioni, occhio. Uno dei metodi per evitare questi errori è quello di scrivere le condizioni al contrario, tipo
    Codice PHP:
    if ("no" == $acc) ...
    così se si dimentica un = l'interprete da errore invece di continuare ed eseguire l'assegnazione. Ma non mi sono mai abituato

  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

    Mai fidarsi di quello che scrive Heidi52 (non avevo notato neppure quello).
    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

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Possono essere anche così:
    Codice PHP:
    <?php
    $acc
    = $_POST['accept'];
    if (
    $acc = "si")
    echo
    "Hai accettato il contratto";
    else if (
    $acc = no)
    echo
    "Non hai accettato il contratto quindi il banner non sar&agrave; pubblicato";
    ?>
    Ora ci provo, io l'ho fatto come se fosse in java dato che non conosco bene php. Ora provo col codice di funcool e vi faccio sapere...

    Ciao...
    Ultima modifica di dreadnaut : 02-02-2008 alle ore 19.23.28 Motivo: '-.-

  10. #10
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Citazione Originalmente inviato da heidi52 Visualizza messaggio
    Ora ci provo, io l'ho fatto come se fosse in java dato che non conosco bene php.
    quello che hai scritto non avrebbe funzionato neanche in java, che ha una sintassi a basso livello praticamente identica al php, perché entrambi derivati dal C

  11. #11
    Guest

    Predefinito

    Mi dà errore:

    Parse error: syntax error, unexpected T_VARIABLE in /home/mhd-01/***mio sito***/htdocs/mailscambio.php on line 9

    Però vi offendo se vi dico che questo sito qui NON è hostato più su AV?

    Se l'errore lo dà alla riga 9 dovrebbe essere nella funzione mail()...

    Comunque sapete aiutarmi?

    Ciao e grazie ancora...

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    quello che hai scritto non avrebbe funzionato neanche in java, che ha una sintassi a basso livello praticamente identica al php, perché entrambi derivati dal C
    Forse intendevi dire alto livello


    Ciao!

  13. #13
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Citazione Originalmente inviato da heidi52 Visualizza messaggio
    Mi dà errore:
    Parse error: syntax error, unexpected T_VARIABLE in /home/mhd-01/***mio sito***/htdocs/mailscambio.php on line 9
    io veramente ho perso il conto delle righe adesso, ma se lo script è ancora simile a quello del primo post, hai corretto tutti i
    Codice PHP:
    $nome1 = $_POST[1nome]
    aggiungendo gli apici e il punto-e-virgola in fondo?
    Codice PHP:
    $nome1 = $_POST['1nome'];
    @debug:
    mea culpa, overload di termini Java è ad alto livello, ma parlavo di "basso livello" intendendo i particolari come le graffe, la struttura di if/for/while/switch/etc. vs l' "alto livello" della sintassi delle classi, dei pacchetti, etc.

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    io veramente ho perso il conto delle righe adesso, ma se lo script è ancora simile a quello del primo post, hai corretto tutti i
    Codice PHP:
    $nome1 = $_POST[1nome]
    aggiungendo gli apici e il punto-e-virgola in fondo?
    Codice PHP:
    $nome1 = $_POST['1nome'];
    Già, proprio quello non l'avevo fatto.

    Ora lo faccio e vi faccio sapere...

    EDIT:

    Fatto e... NON FUNZIONA!!!

    - Se su "Accetta contratto" metto no mi dice che l'ho accettato lo stesso;
    - Non arriva la mail a me;

    Mi aiutate?

    Grazie ancora...

    Ciao...
    Ultima modifica di heidi52 : 03-02-2008 alle ore 14.42.42 Motivo: Ho provato

Regole di scrittura

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