Fatal error:Call to undefined function clear_input
Zakarya93
Messages postés
984
Date d'inscription
Statut
Membre
Dernière intervention
-
blackduck Messages postés 817 Date d'inscription Statut Membre Dernière intervention -
blackduck Messages postés 817 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai l'erreur : Fatal error: Call to undefined function clear_input_data() in C:\wamp\www\rs\pages\register.php on line 159
Voici mon register.php :
Une solution ? Merci d'avance :)
J'ai l'erreur : Fatal error: Call to undefined function clear_input_data() in C:\wamp\www\rs\pages\register.php on line 159
Voici mon register.php :
<h1>Inscription</h1> <?php if (!isset($_POST['submit'])) { ?> <form method="POST" action=""> <label for='sexe'>Sexe</label> <select name="sexe"> <?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':""; ?> <?php echo $sexe != 'Homme' ?'<option value="Homme">Homme</option>':""; ?> <?php echo $sexe != 'Femme' ?'<option value="Femme">Femme</option>':""; ?> </select><br /><br/> <label for="pseudo">Votre pseudo : </label> <input type="text" name ="pseudo" value='<?php echo isset($pseudo) ? $pseudo :""; ?>'><br /> <label for="password">Votre password : </label> <input type="password" name ="password"><br /> <label for="repeatpassword">Repetez votre password : </label> <input type="password" name ="repeatpassword"><br /> <label for="email">Veuillez saisir votre email : </label> <input type="text" name ="email" value='<?php echo isset($email) ? $email :""; ?>'><br /> <label for="apropos">A propos de vous </label> <textarea rows="6" cols="30" name="apropos"><?php echo isset($apropos) ? $apropos : ""; ?></textarea><br /><br /> <input type="submit" value="S'inscrire" name="submit"> </form> <?php } else { $sexe = htmlspecialchars(strip_tags($_POST['sexe'])); $pseudo = htmlspecialchars(strip_tags($_POST['pseudo'])); $password = htmlspecialchars(strip_tags($_POST['password'])); $repeatpassword = htmlspecialchars(strip_tags($_POST['repeatpassword'])); $email = htmlspecialchars(strip_tags($_POST['email'])); $apropos = htmlspecialchars(strip_tags($_POST['apropos'])); if(empty($pseudo)) { $errors[] ="Veuillez saisir un pseudo"; } if (empty($password)) { $errors[] ="Veuillez saisir un password"; } if($password != $repeatpassword) { $errors[] = "Vos deux password doivent être identiques"; } if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { $errors[] = "Votre adresse email n'est pas correcte"; } if(empty($apropos)) { $errors[] = "Veuillez vous décrire en quelques lignes"; } if(pseudo_existe($email) == 1) { $errors[] = "Ce pseudo n'est pas disponible"; } if(email_existe($email) == 1) { $errors[] = "Cette adresse email existe déjà <br> avez vous oublié votre <a href='#'>password? </a>"; } if(!empty($errors)) { foreach($errors as $error) { echo "<div class='error'>".$error."</div>"; } } inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos); die('Inscription terminée, vous pouvez vous <a href=\'index.php?page=login\'>connecter</a>'); } ?> <?php require('functions/connect.php'); require_once('functions/register.func.php'); //si le formulaire a été soumis if(isset($_POST['register'])) { // si tous les champs sont remplis if(not_empty(['name', 'pseudo', 'email', 'password', 'password_confirm'])) { $errors = []; //tableau contenant l'ensemble des erreurs extract($_POST); //si le pseudo est deja dans la bdd if(is_already_in_use('pseudo', $pseudo, 'users')) { $errors[] = "Le pseudonyme est déja utilisé."; } //si l'adresse mail est deja dans la bdd if(is_already_in_use('email', $email, 'users')) { $errors[] = "L'adresse e-mail est déja utilisée."; } //si il y a 0 erreur if(count($errors) == 0) { //enregistrement du membre dans la base de données $q = $db->prepare('INSERT INTO users(name, pseudo, email, password) VALUES(:name, :pseudo, :email, :password)'); $q->execute([ 'name' => $name, 'pseudo' => $pseudo, 'email' => $email, 'password' => ($password) ]); redirect('index.php'); } else { save_input_data(); } } else { //si tous les champs ne sont pas remplis $errors[] = "Veuillez remplir s'il vous plaît tous les champs"; save_input_data(); } } else { clear_input_data(); } ?> <?php require('views/register.views.php'); ?>
Une solution ? Merci d'avance :)
A voir également:
- Fatal error:Call to undefined function clear_input
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Error 1962 ✓ - Forum PC fixe
- Whea error occt - Forum Processeur
6 réponses
Salut,
Dans le code que tu as fournis la fonction en question n'est pas déclarée. Je suppose qu'elle est censé être dans un des fichiers inclus? Vérifie que les bons fichiers sont bien utilisés, que le nom de la fonction est exactement celui déclaré, tu peux essayé de copier coller la fonction dans le code directement pour voir si elle bien prise en compte.
Dans le code que tu as fournis la fonction en question n'est pas déclarée. Je suppose qu'elle est censé être dans un des fichiers inclus? Vérifie que les bons fichiers sont bien utilisés, que le nom de la fonction est exactement celui déclaré, tu peux essayé de copier coller la fonction dans le code directement pour voir si elle bien prise en compte.
J'avoue ne pas avoir regardé le déroulement exact du script je me suis limité aux erreurs que tu m'as décrit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok c'est normal que tu es ce message d'erreur la fonction clear_input_data() n'est pas déclarée ni dans le script principal ni dans ceux inclus, il va falloir la rédiger !
Je recois cette erreur : Fatal error: Call to undefined function pseudo_existe() in C:\wamp\www\rs\pages\register.php on line 75
Register.php sans le c/c :
Register.php sans le c/c :
<h1>Inscription</h1> <?php if (!isset($_POST['submit'])) { ?> <form method="POST" action=""> <label for='sexe'>Sexe</label> <select name="sexe"> <?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':""; ?> <?php echo $sexe != 'Homme' ?'<option value="Homme">Homme</option>':""; ?> <?php echo $sexe != 'Femme' ?'<option value="Femme">Femme</option>':""; ?> </select><br /><br/> <label for="pseudo">Votre pseudo : </label> <input type="text" name ="pseudo" value='<?php echo isset($pseudo) ? $pseudo :""; ?>'><br /> <label for="password">Votre password : </label> <input type="password" name ="password"><br /> <label for="repeatpassword">Repetez votre password : </label> <input type="password" name ="repeatpassword"><br /> <label for="email">Veuillez saisir votre email : </label> <input type="text" name ="email" value='<?php echo isset($email) ? $email :""; ?>'><br /> <label for="apropos">A propos de vous </label> <textarea rows="6" cols="30" name="apropos"><?php echo isset($apropos) ? $apropos : ""; ?></textarea><br /><br /> <input type="submit" value="S'inscrire" name="submit"> </form> <?php } else { $sexe = htmlspecialchars(strip_tags($_POST['sexe'])); $pseudo = htmlspecialchars(strip_tags($_POST['pseudo'])); $password = htmlspecialchars(strip_tags($_POST['password'])); $repeatpassword = htmlspecialchars(strip_tags($_POST['repeatpassword'])); $email = htmlspecialchars(strip_tags($_POST['email'])); $apropos = htmlspecialchars(strip_tags($_POST['apropos'])); if(empty($pseudo)) { $errors[] ="Veuillez saisir un pseudo"; } if (empty($password)) { $errors[] ="Veuillez saisir un password"; } if($password != $repeatpassword) { $errors[] = "Vos deux password doivent être identiques"; } if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { $errors[] = "Votre adresse email n'est pas correcte"; } if(empty($apropos)) { $errors[] = "Veuillez vous décrire en quelques lignes"; } if(pseudo_existe($email) == 1) { $errors[] = "Ce pseudo n'est pas disponible"; } if(email_existe($email) == 1) { $errors[] = "Cette adresse email existe déjà <br> avez vous oublié votre <a href='#'>password? </a>"; } if(!empty($errors)) { foreach($errors as $error) { echo "<div class='error'>".$error."</div>"; } } inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos); die('Inscription terminée, vous pouvez vous <a href=\'index.php?page=login\'>connecter</a>'); } ?>
En effet je ne vois pas non plus la fonction pseudo_existe, pourtant en parcourant l'ancien poste que tu as fais sur le site j'ai pu voir un script ou tu l'avais apparemment déclarée, l'as tu supprimé entre temps?
Tu parles de ceci ?
//la function qui va vérifier si pseudo existe($pseudo) function pseudo_existe($pseudo) { $bdd = new PDO('mysql:host=localhost;dbname=rs;charset=utf8', 'root', ''); //donc la, la verification: $req = $bdd->query('SELECT COUNT(*) FROM utilisateurs WHERE pseudo="'.$pseudo.'"'); $etat = $req->fetchColumn(); if($etat == 0) { } //sinon else { echo('Le pseudo que vous avez choisi est déjà prit'); } }
Oui tu peux mais tu devrais l'améliorer un petit peu car je ne vois pas de return dans ta fonction, mais dans ta condition tu considères un retour :
Soit tu fais qqch comme ça
Ce qui en revient à utiliser un booléen plutôt que le résultat du count qui en lui même n'est pas forcément utile dans cette fonction.
Regardes si le pseudo est présent tu renvois vrai ou faux.
if(pseudo_existe($email) == 1)
Soit tu fais qqch comme ça
if($etat == 0){
return 0;
}else{
return 1;
//echo('Le pseudo que vous avez choisi est déjà prit');
}
Ce qui en revient à utiliser un booléen plutôt que le résultat du count qui en lui même n'est pas forcément utile dans cette fonction.
Regardes si le pseudo est présent tu renvois vrai ou faux.
connect.php :
Register.func.php :