[php] traitement du formulaire
Résolu
ced3E
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Alors voila pour commencer je n' arrive pas a mettre en place mysql_real_escape_string dans mon formulaire j' ai tester comme ça :
$Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : '';
Avant l' insertion j' aimerai mettre en place une façon de dire que si il n y a pas d' erreur on peu insérer dans la table sql, j' ai penser a le faire avec If mais je cherche toujours comment faire.
Merci d' avance a vous et si vous noter des bugs dans le programme ou autre n hésitez pas a le souligner la critique est constructive.
Voila mon code php :
Alors voila pour commencer je n' arrive pas a mettre en place mysql_real_escape_string dans mon formulaire j' ai tester comme ça :
$Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : '';
Avant l' insertion j' aimerai mettre en place une façon de dire que si il n y a pas d' erreur on peu insérer dans la table sql, j' ai penser a le faire avec If mais je cherche toujours comment faire.
Merci d' avance a vous et si vous noter des bugs dans le programme ou autre n hésitez pas a le souligner la critique est constructive.
Voila mon code php :
<?php $Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : ''; $Nomdefamille = isset($_POST['Nomdefamille']) ? trim($_POST['Nomdefamille']) : ''; $Votremotdepasse = isset($_POST['Votremotdepasse']) ? trim($_POST['Votremotdepasse']) : ''; $email1 = isset($_POST['email1']) ? ($_POST['email1']) : ''; $email2 = isset($_POST['email2']) ? ($_POST['email2']) : ''; $sexe = isset($_POST['sexe']) ? ($_POST['sexe']) : ''; $Datedenaissance = isset($_POST['Datedenaissance']) ? ($_POST['Datedenaissance']) : ''; $ip = isset($_POST['ip']) ? ($_POST['ip']) : ''; $errors = array(); if (isset($_POST["checkbox"]) == "" ) { $errors[] = 'La casse des Conditions d\'utilisation non cochée'; } if (strlen($Prenom) < 3) { $errors[] = 'Le prénom doit contenir au moins 3 caractères'; } if (strlen($Prenom) > 15) { $errors[] = 'Le prénom ne doit pas contenir plus de 15 caractères'; } if (!preg_match('#^[a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ-]+$#', $Prenom)) { $errors[] = 'Le Prénom ne doit contenir que des caractères de type lettre'; } if (strlen($Nomdefamille) < 3) { $errors[] = 'Le nom de famille doit contenir au moins 3 caractères'; } if (strlen($Nomdefamille) > 15) { $errors[] = 'Le nom de famille doit ne doit pas contenir plus de 15 caractères'; } if (!preg_match('#^[a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ-]+$#', $Nomdefamille)) { $errors[] = 'Le Nom de famille ne doit contenir que des caractères de type lettre'; } if (strlen($Votremotdepasse) < 3) { $errors[] = 'Votre mot de passe doit contenir au moins 3 caractères'; } if (strlen($Votremotdepasse) > 15) { $errors[] = 'Votre mot de passe ne doit pas contenir plus de 15 caractères'; } if(!filter_var($email1, FILTER_VALIDATE_EMAIL)) { $errors[] = 'L\'adresse email est non invalide'; } if($email1 !== $email2) { $errors[] = 'Les adresses emails entrées ne correspondent pas'; } function getIP() { if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } if(count($errors) > 0) { echo '<div class="errors">'; echo 'Il y a '.count($errors).' erreur(s) :<br/>'; foreach($errors as $error) { echo '- '.$error.'<br/>'; } echo '</div>'; } else mysql_connect("localhost","root", "") OR die('Erreur de connexion à la base'); mysql_select_db("inscription"); $sql=" insert into inscription (Prenom, Nomdefamille,email1,Votremotdepasse,sexe,Datedenaissance,ip ) values ('','"$Prenom','$Nomdefamille','$Votremotdepasse','$sexe$Datedenaissance','$ip"')"; if(mysql_query($sql)) echo"<br/><br/>Vos données ont bien été envoyées."; else echo "Problème avec la base de données"; ?>
A voir également:
- [php] traitement du formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Formulaire de reclamation instagram - Guide
- Traitement de texte gratuit - Guide
2 réponses
Salut,
Petit erreur ligne 65 :
Ensuite pour utiliser mysql_real_escape_string() il faut qu'une connexion soit ouverte, donc ne marche pas si tu n'ouvre une connexion juste avant ta requête d'insertion.
Ensuite pour ta vérification tu vérifies que ton tableau est vide. Et j'ai dégagé ta fonction Getip qui était pas utile.
Voilà ce que ça donne :
Si tu souhaite que je mette des commentaires ou plus d'explication dis le moi.
Bonne Année ;)
Petit erreur ligne 65 :
$sql="INSERT INTO inscription(Prenom, Nomdefamille,email1,Votremotdepasse,sexe,Datedenaissance,ip ) VALUES('','$Prenom','$Nomdefamille','$Votremotdepasse','$sexe$Datedenaissance','$ip')";
Ensuite pour utiliser mysql_real_escape_string() il faut qu'une connexion soit ouverte, donc ne marche pas si tu n'ouvre une connexion juste avant ta requête d'insertion.
Ensuite pour ta vérification tu vérifies que ton tableau est vide. Et j'ai dégagé ta fonction Getip qui était pas utile.
Voilà ce que ça donne :
<?php mysql_connect("localhost","root", "") OR die('Erreur de connexion à la base'); mysql_select_db("inscription"); $Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : ''; $Nomdefamille = isset($_POST['Nomdefamille']) ? trim($_POST['Nomdefamille']) : ''; $Votremotdepasse = isset($_POST['Votremotdepasse']) ? trim($_POST['Votremotdepasse']) : ''; $email1 = isset($_POST['email1']) ? ($_POST['email1']) : ''; $email2 = isset($_POST['email2']) ? ($_POST['email2']) : ''; $sexe = isset($_POST['sexe']) ? ($_POST['sexe']) : ''; $Datedenaissance = isset($_POST['Datedenaissance']) ? ($_POST['Datedenaissance']) : ''; $ip = isset($_POST['ip']) ? ($_POST['ip']) : ''; if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; $errors = array(); if(isset($_POST["checkbox"]) == "" ) $errors[] = 'La casse des Conditions d\'utilisation non cochée'; if(strlen($Prenom) < 3) $errors[] = 'Le prénom doit contenir au moins 3 caractères'; if(strlen($Prenom) > 15) $errors[] = 'Le prénom ne doit pas contenir plus de 15 caractères'; if(!preg_match('#^[a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ-]+$#', $Prenom)) $errors[] = 'Le Prénom ne doit contenir que des caractères de type lettre'; if(strlen($Nomdefamille) < 3) $errors[] = 'Le nom de famille doit contenir au moins 3 caractères'; if(strlen($Nomdefamille) > 15) $errors[] = 'Le nom de famille doit ne doit pas contenir plus de 15 caractères'; if(!preg_match('#^[a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ-]+$#', $Nomdefamille)) $errors[] = 'Le Nom de famille ne doit contenir que des caractères de type lettre'; if(strlen($Votremotdepasse) < 3) $errors[] = 'Votre mot de passe doit contenir au moins 3 caractères'; if(strlen($Votremotdepasse) > 15) $errors[] = 'Votre mot de passe ne doit pas contenir plus de 15 caractères'; if(!filter_var($email1, FILTER_VALIDATE_EMAIL)) $errors[] = 'L\'adresse email est non invalide'; if($email1 !== $email2) $errors[] = 'Les adresses emails entrées ne correspondent pas'; if(count($errors) > 0) { echo '<div class="errors">'; echo 'Il y a '.count($errors).' erreur(s) :<br/>'; foreach($errors as $error){ echo '- '.$error.'<br/>'; } echo '</div>'; } else{ $sql="INSERT INTO inscription(Prenom, Nomdefamille,email1,Votremotdepasse,sexe,Datedenaissance,ip ) VALUES('','$Prenom','$Nomdefamille','$Votremotdepasse','$sexe$Datedenaissance','$ip')"; if(mysql_query($sql)) echo"<br/><br/>Vos données ont bien été envoyées."; } ?>
Si tu souhaite que je mette des commentaires ou plus d'explication dis le moi.
Bonne Année ;)
Merci :) ouiii bonne année a toi aussi.
Oui plus d' explication ne serai pas du lux car je comprend pas pour quoi tu a mis que sur " $Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : ''; " la vérification, et tu a dégagé mon if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; je ne stoke plus l' ip du membre ?
j' aimerai tout de même l' avoir pour bannir si y a besoin.
En tout cas merci testé ça marche nikel me reste plus qu' a crée la base de donné et la table qui va bien :)
Oui plus d' explication ne serai pas du lux car je comprend pas pour quoi tu a mis que sur " $Prenom = isset($_POST['Prenom']) ? trim(mysql_real_escape_string($_POST['Prenom'])) : ''; " la vérification, et tu a dégagé mon if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; je ne stoke plus l' ip du membre ?
j' aimerai tout de même l' avoir pour bannir si y a besoin.
En tout cas merci testé ça marche nikel me reste plus qu' a crée la base de donné et la table qui va bien :)