Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    1)Responso di una mail .. 2)e problema con form a tendina

    giorno a tutti ..
    ho creato questo script per l' invio di una mail di segnalazione, o commento, o problema .. ma ovviamente non funziona

    Codice PHP:
      <?php
      
    //ini_set('smtp.email.it')
       
    $nomeMittente $_POST['mittente'];
       
    $mittente "mail@miosito.com";
       
    $destinatario "miamail@mioprovider.it";
       
    $oggetto $_POST['oggetto'];
       
    $messaggio $_POST['messaggio'];
       
       if(
    $nomeMittente || $oggetto || $messaggio 0)
       {
        echo 
    "<p align left> [b]Tutti[/b] i campi devono essere compilati! </p>";
       }
       else
       {
       
    $response mail("$destinatario""$oggetto"
            
    "<p align='left'>$nomeMittente ha un $oggetto da fare:
     
    $messaggio </p>
    $messaggio""From: $mittente");
       }
       
       if (
    $response 0)
       {
       echo 
    "<p align='left'>Mail inviata con successo!</p>";
       }
       else
       {
       echo 
    "<p align='left'>Invio mail non riuscito. Torna indietro e riprova.</p>";
       }
      
    ?>
    gli errori sono:

    1) Notice: Undefined index: oggetto in C:\www\brigoo.altervista.org\problemResponse.php on line 16 .. che è:
    $oggetto = $_POST['oggetto'];

    2) Notice: Undefined variable: response in C:\www\brigoo.altervista.org\problemResponse.php on line 30 .. che è:
    if ($response > 0)

    per il primo problema forse so cos' è .. l' utente deve scegliere cosa segnalare da un menù a tendina:

    codice:
       <td> <select name="tipoMail">
             <option value="--" selected="selected"><span class="Stile1"> -- </span></option>
    		 <option value="commento"><span class="Stile1"> commento </span></option>
    		 <option value="segnalazione"><span class="Stile1"> segnalazione </span></option>
    		 <option value="problema"><span class="Stile1"> problema </span></option>
    		</select> </td>
    e php non mi riconosce quando quel valore è nullo (--) o quando è >1 (commento o segnalazione o problema) .. come faccio a risolvere questo problema?

    e il secondo errore sicuramente è dovuto al fatto che il codice non si scrive così .. qualche suggerimento?

  2. #2
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Mancano gli HEADERS,
    prova il mio che funziona, metti i tuoi dati al posto dei miei

    Codice PHP:
    $headers  "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "X-Mailer: PHP\n";
    $headers .= "From:$suoemail";

    //E-mail del destinatario (cioè, io) 
    $a "miaemail@virgilio.it";  
    //Oggetto dell'e-mail 
    $oggetto "Messaggio del Visitatore";

    //TUTTI I DATI NEL MESSAGGIO con tutti gli item ($nome, $citta, ecc.)
    $messaggio ="<html>
    <head>
    </head>
    <body bgcolor="
    yellow">
    <font face=sans sharif size=4 color=0000FF>MESSAGGIO DEL VISITATORE :</font>




    <font face=arial size=2 color=000040>Nome:</font>&nbsp<font face=arial size=2 color=000080>
    $nome</font>


    <font face=arial size=2 color=000040>Città:</font><font face=arial size=2 color=000080>
    $citta</font>


    <font face=arial size=2 color=000040>Email:</font><font face=arial size=2 color=000080><a href=\"mailto:
    $suoemail\">$suoemail</a></font>


    <font face=arial size=2 color=000040>Ip:</font><font face=arial size=2 color=000080>
    $ip</font>




    <font face=arial size=2 color=000040>Messaggio:</font>
    <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"16\">
    <tr>
    <td><font face=arial size=2 color=000080>
    $messaggio</font></td>
    </tr>
    </table>
    ---------------------------




    </body>
    </html>"
    ;
    //Invio della mail 
    mail ($a,$oggetto,$messaggio,$headers); 

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: 1)Responso di una mail .. 2)e problema con form a tendina

    Originariamente inviato da REGISTRAMI
    1) Notice: Undefined index: oggetto in C:\www\brigoo.altervista.org\problemResponse.php on line 16 .. che è:
    $oggetto = $_POST['oggetto'];
    Non esiste una variabile $_POST['oggetto']. Significa che: o non hai ricevuto un modulo in post, oppure in quel modulo non esisteva un campo chiamato 'oggetto'. Il menu a tendina che hai postato non c'entra nulla, quello si chiama 'tipoMail'

    Originariamente inviato da REGISTRAMI 2) Notice: Undefined variable: response in C:\www\brigoo.altervista.org\problemResponse.php on line 30 .. che è:
    if ($response > 0)
    $response esiste solo se sei entrato nella else precedente. Se entri nell'if non definisci nessuna variabile con quel nome, per questo prendi l'errore. Aggiungi "$response = 0" nel codice dentro l'if.

  4. #4
    aspetta aspetta luca200 .. non ho capito bene questa parte:

    $response esiste solo se sei entrato nella else precedente. Se entri nell'if non definisci nessuna variabile con quel nome, per questo prendi l'errore. Aggiungi "$response = 0" nel codice dentro l'if.
    cioè?
    ho riscritto il codice così:

    Codice PHP:
       if($nomeMittente || $oggetto || $messaggio && $response 0)
       {
        echo 
    "<p align left> [b]Tutti[/b] i campi devono essere compilati. </p>";
       }
       else
       {
       
    $response mail("$destinatario""$oggetto"
            
    "<p align='left'>$nomeMittente ha un $oggetto da fare:
     
    $messaggio </p>""From: $mittente");
          if (
    $response 0)
          {
          echo 
    "<p align='left'>Mail inviata con successo!</p>";
          }
          else
          {
          echo 
    "<p align='left'>Invio mail non riuscito. Torna indietro e riprova.</p>";
          }
      } 
    ma penso sia sbagliato anche questo

    mi restituisce sempre:
    echo "<p align left> Tutti i campi devono essere compilati. </p>";
    anche se TUTTI i campi sono compilati

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da REGISTRAMI
    Codice PHP:
       if($nomeMittente || $oggetto || $messaggio && $response 0
    ma penso sia sbagliato anche questo
    Prima avevi un paio di imperfezioni, ora hai una sciagura senza mezzi termini.
    Cosa vorresti fare con quella if?
    Se non sai che in php i test di uguaglianza si fanno col doppio uguale ("$messaggio = 0" è un'assegnazione) meglio dare un'occhiata a qualche guida o manuale prima di tentare QUALSIASI cosa

  6. #6
    tu mi dai sempre indicazioni vaghe ..
    fammi un esempio di come dovrebbe essere scritto lo script per funzionare correttamente .. che almeno capisco .. perchè questo:

    Codice PHP:
    if($nomeMittente || $oggetto || $messaggio && $response 0
    l' ho scritto cercando di interpretare le tue indicazioni nel primo intervento .. e sono consapevole che sia assolutamente sbagliato.
    Sono qui apposta per imparare. E se mi dici: "vai a leggere qualche guida" senza darmi indicazioni per risolvere il problema, rimarrò sempre nella mia ignoranza.

    (ho letto 3 guide prima di mettermi a fare qualcosa in PHP; ma mi sono accorto che il sapere la teoria non significa saperla anche applicare)


    -------------------------------------------------------------------------------------------------------------------------------------------

    Siccome ci siamo un pò persi ritorno al mio problema:
    ho questo script:

    Codice PHP:
      <?php 
      
    //ini_set('smtp.email.it') 
       
    $nomeMittente $_POST['mittente']; 
       
    $mittente "mail@miosito.com"
       
    $destinatario "miamail@mioprovider.it"
       
    $oggetto $_POST['tipoMail']; 
       
    $messaggio $_POST['messaggio']; 
        
       if(
    $nomeMittente || $oggetto || $messaggio 0
       { 
        echo 
    "<p align left> [b]Tutti[/b] i campi devono essere compilati! </p>"
       } 
       else 
       { 
       
    $response mail("$destinatario""$oggetto"
            
    "<p align='left'>$nomeMittente ha un $oggetto da fare:
     
    $messaggio </p> 
    $messaggio""From: $mittente"); 
       } 
        
       if (
    $response 0
       { 
       echo 
    "<p align='left'>Mail inviata con successo!</p>"
       } 
       else 
       { 
       echo 
    "<p align='left'>Invio mail non riuscito. Torna indietro e riprova.</p>"
       } 
      
    ?>
    che mi riporta questo errore:

    Notice: Undefined variable: response in C:\www\brigoo.altervista.org\problemResponse.php on line 30 .. che è:
    if ($response > 0)

    sicuramente il codice è scritto male .. qualcuno mi può aiutare concretamente a sistemare lo script?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    dire che luca200 non aiuti concretamente è un'eresia... qui sul forum PHP è un'autorità. Poi a volte (spessissimo) ci si trova a "risolvere" o "rispondere" a domande (tutte uguali) che un minimo di teoria non farebbero nemmeno sorgere. Non basta solo leggere la teoria delle guide, ma bisogna ricreare gli esempi che vi si trovano, provare a fare delle modifiche, e lavorare con le API sottomano (http://www.php.net)

    Le comparazioni le fai con ==, con = fai le assegnazioni, e questa è una cosa che nelle guide (tutte) c'è.
    Poi, bisogna vedere come si interpreta quel $nomeMittente || $oggetto || $messaggio

    Che cosa vuoi verificare? Che siano vuote? Allora sarebbe più onesto e intellegibile scrivere qualcosa del genere

    if ($nomeMittente == "" || $oggetto == "" ...)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Il concetto di "indicazioni vaghe" è soggettivo e dipende da quello che sai e che non sai. Siccome ti sei presentato dicendo "Ho creato uno script", non immaginavo che la tua conoscenza della sintassi fosse nulla.
    Quindi eccoti la pappa pronta:
    Codice PHP:
        if (empty($nomeMittente) || empty( $oggetto) || empty($messaggio)) 
       { 
        echo 
    "<p align left> [b]Tutti[/b] i campi devono essere compilati! </p>"
        
    $response 0;
       } 
    else..... 
    P.S. 3 guide? Forse i titoli....

  9. #9
    1)il mio non voleva essere come un "attacco" a luca200 ..
    comunque ho scritto quel post in un particolare momente di nervosismo (che non centra co il PHP e la programmazione)
    per cui chiedo scusa a luca200 ..

    2)comunque lo script sì .. l' ho creato io .. ma gli script che faccio (o almeno cerco di fare) sono mooolto rudimentali .. per questo avevo bisogno di una mano.

    3) di guide ne ho lette 3 .. Web Developer PHP (7 lezioni per un' infarinatura generale), PHP5 (Apogeo), e un' altra .. poi ogni tanto "sfoglio" la guida online di php.net per cercare qualche funzione .. e finora ti posso garantire che quella forma: empty($variabile)
    non l' avevo ancora incontrata.

    ti ringrazio per lo script .. adesso so che esiste quel particolare comando .. e non è la pappa pronta che vado cercando .. ma solo una mano.


    chiedo ancora scusa .. e ringrazio

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.