2013-06-14 3 views
0

J'ai eu mon script en cours d'exécution sur un localhost WampServer 1er où il a fonctionné, puis l'a exporté vers mon domaine en direct en ligne. Après quelques ajustements, je suis le script de travail partically encore une fois, mais je reçois toujours en dessous de l'erreurquoi faire avec cette erreur?

Call to undefined function filter_var() 

Le but de ce script est lorsqu'un utilisateur veut inscrire, il validera l'adresse e-mail et ajouter l'utilisateur à la base de données et envoyer un lien de validation vers l'adresse email de l'utilisateur.

Voici le script:

<?PHP 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
// connection towards database with a include function 
include ('connection.php'); 

if (isset($_REQUEST['send'])) 
{ 
    if(isset($_REQUEST['NAAM'])) 
    { 
     $naam = $_REQUEST['NAAM']; 
    } 

    function spamcheck($field) 
    { 
     //filter_var() sanitizes the e-mail 
     //address using FILTER_SANITIZE_EMAIL 
     $field = filter_var($field, FILTER_SANITIZE_EMAIL); 

     //filter_var() validates the e-mail 
     //address using FILTER_VALIDATE_EMAIL 
     if(filter_var($field, FILTER_VALIDATE_EMAIL)) 
     { 
      return TRUE; 
     }else 
     { 
      return FALSE; 
     } 
    } 

    //if "email" is filled out, proceed 
    if (isset($_REQUEST['mail'])) 
    { 

     //check if the email address is invalid 
     $mailCheck = spamcheck($_REQUEST['mail']); 
     if ($mailCheck == TRUE) 
     { 
      $email = $_REQUEST['mail']; 
     }else 
     { 
      $mailCheck = FALSE; 
      echo "Invalid input email"; 
     } 
    } 

    if(isset($_REQUEST['question'])) 
    { 
     $quest = $_REQUEST['question']; 
     // checks if the filled in Question is de same as the answer novice or Novice 
     if ($quest =="novice" or $quest =="Novice") 
     { 
      $questCheck = TRUE; 
     }else 
     { 
      $questCheck = FALSE; 
      echo "Your answer to the question was incorrect!<br>"; 
     } 
    } 

    if(isset($_REQUEST['wachtwoord'] , $_REQUEST['c_wachtwoord'])) 
    { 

     $WW = $_REQUEST['wachtwoord']; 
     $c_WW = $_REQUEST['c_wachtwoord']; 

     // checks if the filled in password is de same as the confirmation password 
     if ($WW == $c_WW) 
     { 
      $pwCheck = TRUE; 
     }else 
     { 
      $pwCheck = FALSE; 
      echo "Your filled in passwords are not the same try again!<BR>"; 
     } 
    }  



    // checks if both password confirmation and question are TRUE continue else retrieve fault 
    if ($pwCheck && $questCheck && $mailCheck == TRUE) 
    { 
     $hash = md5(rand(0,1000)); 
     // insert all filled in values into the database 
     $opdracht1 = "INSERT INTO users (ID , name , password , mail , staffLevel , hash , active) VALUES ('','$naam','$WW','$email','0','$hash','0')"; 

     // run query 
     if (mysql_query ($opdracht1)) 
     { 
      header("refresh:5;url=http://www.debeerislos.nl/inlog_user.php"); 
      echo "Your account has succesfully been created! Please check your email to validate your account!<BR>"; 

        $to  = $email; //Send email to our user 
        $subject = 'Signup | Verification'; //// Give the email a subject 
        $message = ' 

        Thanks for signing up! 
        Your account has been created! 
        You can login with the following credentials: 

        ------------------------ 
        Username: '.$naam.' 
        Password: '.$WW.' 
        ------------------------ 

        After you have activated your account you will have the rights so you can fully use it. 

        Please click this link to activate your account: 
        http://www.debeerislos.nl/verify_user.php?email='.$email.'&hash='.$hash.'&name='.$naam.' 

        '; // Our message above including the link 

        $headers = 'From:[email protected]' . "\r\n"; // Set from headers 
        mail($to, $subject, $message, $headers); // Send the email 

     }else 
     { 
      echo "Woops something went wrong please contact the Administrator of the website or fill in the form again!<br> <A href='http://www.debeerislos.nl/form_register_user.html'>CLICK HERE!</A> to fill in the forum again"; 
     } 
    }elseif ($pwCheck && $questCheck == FALSE) 
    { 
     echo "you filled both the password confirmation and the answer to the question incorrect!<br>"; 
    }  
}else 
{ 
    echo "Either you haven't send anything! or you haven't filled in the form<br>"; 
} 
?> 

avance merci.

Cordialement, StaleDevil

+1

Quelle version de php avez-vous? – Fabio

+0

Vérifiez votre version de PHP est> = 5.2 –

+0

@ X.L.Ant c'est 5.3.3 – SteelDevil

Répondre

0

où avez-vous défini filter_var() fonction? Ce n'est pas défini dans votre code donné. Si vous le définissez dans la même page, comment définissez-vous? fournir un exemple. Sinon, si vous le définissez sur une autre page, incluez la page.

+0

C'est une fonction native PHP 5.2+. http://php.net/manual/fr/function.filter-var.php –

+0

ok. laisse moi vérifier. – ripa

+0

s'il vous plaît lire le script plus attentivement c'est ici fonction Spamcheck ($ champ) { // filter_var() aseptise l'e-mail // adresse à l'aide FILTER_SANITIZE_EMAIL champ $ = filter_var (champ $, FILTER_SANITIZE_EMAIL); // filter_var() valide l'adresse e-mail // en utilisant FILTER_VALIDATE_EMAIL if (filter_var ($ field, FILTER_VALIDATE_EMAIL)) { – SteelDevil

Questions connexes