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

    programma di convalida compilazione form

    salve
    google chrome mi restituisce:
    Errore HTTP 500 (Internal Server Error): Si è verificata una condizione imprevista durante il tentativo del server di soddisfare la richiesta.
    mentre firefox visualizza pagina bianca.
    la pagina che il browser indica in errore è mailto.php:

    codice:
    <?php
    // mailto.php
    
    include "registra_in_ml.php";
    include "rml.php";
    include "autenticazione.php";
    
    include "cntmaildb.php";	
    
    $destinatario  = 'indirizzoDestinatario@suoHost.com';
    	echo "destinatario $destinatario
    ";
    $nome=$_POST['nome'];
    	echo "nome $nome
    ";
    $cognome=$_POST['cognome'];
    	echo "cognome $cognome
    ";
    $indirizzoEmail=$_POST['indirizzoEmail'];
    	echo "indirizzoEmail $indirizzoEmail
    ";
    $soggetto=$_POST['soggetto'];
    	echo "soggetto $soggetto
    ";
    $messaggio=$_POST['messaggio'];
    	echo "messaggio $messaggio
    ";
    $headers = "From:$nome<$indirizzoEmail>";
    	echo "headers $headers
    ";
      
    echo "memorizza una sessione con i dati del form con controllo compilazione campi funzione convalida()
    ";	 
    	  // Send
    if (convalida()==true) 
      {
         mail($destinatario, $soggetto, $messaggio,$headers)
    	      echo "email spedita
    ";
    	      // registra in database
    	      registra_in_ml();
    	      // test lettura db  >  rml();
    	      rml();	// test lettura db
    	      
      } else {
    	  	  echo "email fallita
    ";
    	echo "------------------
    ";
    	  }
      }
    ?>
    vi mostro il codice sulla convalida chiamato autenticazione.php:

    codice:
    <?php
    // autenticazione.php
    
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $indirizzoEmail=$_POST['indirizzoEmail'];
    $soggetto=$_POST['soggetto'];
    $messaggio=$_POST['messaggio'];
    
    $at = strpos($indirizzoEmail,'@');
    $dot= strpos($indirizzoEmail,'.');
    
    function convalida()
    {
    $compilato=false;
    echo "esegue la convalida.";
      
    global $nome,$cognome,$indirizzoEmail,$soggetto,$messaggio;
    
       ($nome!="") ? $compilato=true : print 'il campo nome è vuoto
    ';
       ($cognome!="") ? $compilato=true : print 'il campo cognome è vuoto
    ';
       ($indirizzoEmail!="") ? $compilato=true : print 'il campo Indirizzo email è vuoto
    ';
       if ($at ==false || $dot==false) { print 'mail non inserita correttamente
    '; }
      ($soggetto!="") ? $compilato=true : print 'il campo soggetto è vuoto
    ';
      ($messaggio!="") ? $compilato=true : print 'il campo messaggio è vuoto
    ';
      
      return $compilato;
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    mail($destinatario, $soggetto, $messaggio,$headers)

    manca il punto e virgola alla fine

  3. #3
    grazie, sti puntivirgola fanno impazzire, non so se sono l'unico fesso a continuare ad errare su quello.

    ho corretto col puntovirgola ma continua a dare errore http 500.

    provo a debuggarlo in qualche modo.

  4. #4
    Attento!!!
    Codice PHP:
    ($nome!="") ? $compilato=true : print 'il campo nome è vuoto
    '
    ;
       (
    $cognome!="") ? $compilato=true : print 'il campo cognome è vuoto
    '
    ;
       (
    $indirizzoEmail!="") ? $compilato=true : print 'il campo Indirizzo email è vuoto
    '
    ;
       if (
    $at ==false || $dot==false) { print 'mail non inserita correttamente
    '
    ; }
      (
    $soggetto!="") ? $compilato=true : print 'il campo soggetto è vuoto
    '
    ;
      (
    $messaggio!="") ? $compilato=true : print 'il campo messaggio è vuoto
    '

    non è efficente!!!

    Ipotesi: nome, cognome e indirizzo email sono compilati.
    Il primo controllo (quello sul nome) imposta a "true" compilato...ma quando arrivi a soggetto e a messaggio, compilato vale ancora true!!!

    Comincia a sistemare questo, poi per vedere dov'è l'errore devi cercare nel file di log del server web, dato che è un 500, ed eventualmente nel errorlog di php.


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