Vérification si aucun résultat enregistré.
Rick
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je sollicite vraiment l'aide de cette communautés je tiens déjà à remercier cette forum et ces membres du fait qu'il soit libre donc pas besoin d'inscriptions vraiment merci. Voilà mon problème je suis débutant en PHP, j'ai une page formulaire, et une page de traitement de données. la page formulaire est entièrement en HTML donc je crois avoir réussi tout le code.
Mais le PB est la page traitement qui traite le formulaire. Bon voici mon code.
Bon, déjà j'aimerai comprendre déjà pourquoi la page qui traite le formulaire est blanche or j'ai intro quelque HTML et deux s'il y'a une alternative plus simple. Et aussi peut-être avoir une explication sur les if imbriqué et leur leur différence s'il y'a avec les elseif
Vraiment merci d'avance pour votre aide.
Mais le PB est la page traitement qui traite le formulaire. Bon voici mon code.
<?php // on échappe les variable avec strip_tags un exemple sur le prénom $prenom=strip_tags($_POST['prenom']; // je vous donne celui du mot de passe en même temps car je doute un peu de ce que j'ai fait $passe_hache=sha1(strip_tags($_POST['motDePasse']; //jusque-là quand je teste ça va /*La j'aimerai créer un if avec des preg_match Pour vérifier les valeurs entrées par l'utilisateur. Est-il possible de créer un if avec de preg_match? */ // donc If(preg_match("#^[A-Z][a-z]{2,}$#", $prenom) AND preg_match("#^[A-Z]([a-z|A-Z]){2,}$#", $nom) AND $sexe==femme OR $sexe==homme AND preg_match("#^([1-2]\d|0[1-9]|3[0-1])[ .-\/]([0][1-9]|[1][0-2])[ .-\/]([1][0-9]\d{2})$#", $dateDeNaissance) AND preg_match("#^[a-z0-9._-]+@[a-z0-9]{2,}\.[a-z]{2,4}$#", $contact) AND $passe_hache==$confirme_passe) // instructions si tout est OK { //on se connecte a la base de données pour chercher si le contact n'existe pas déjà try { $bdd=new PDO('mysql:host=localhost; dbname=test', 'root', '', array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));} catch (Exception $e) { die('erreur:' $e->getMessage()); } // si il n'ya aucune erreur de connexion à la base // on cherche le contact dans la table $req=bdd->prepare('SELECT contact FROM inscriptions WHERE contact=?'); // variable qui enregistre les réponse $reponse=$req; // on teste si on trouve une réponse If($reponse!=0) { $erreur_contact="Ce contact est déjà utilisé " //rediriger bon j'ai aussi crû que c'était la le problème donc j'enlèvais et remettais pour voir le comportement de la page cible // renvoyer le formulaire si le contact existe déjà header('location:index.php'); } // sinon on enregistré les informations si le contact n'existe pas else { // tester la connexion à la base // enregistrements des données $req=bdd->prepare('INSERT INTO inscriptions (prenom, nom, sexe, contact, mot_de_passe) VALUE (:prénom, :nom, :sexe, :contact, : motDePasse)'); $req->excute(array( 'prenom'=>$prenom, 'nom'=>$nom, 'sexe'=>$sexe, 'contact'=>$contact, 'mot_de_passe'=>$motDePasse)); echo " Bienvenue sur la plateforme" } /* e sinon relier au principal si donc on est sorti des {}*/ else{ écho "Vous avez mal rempli le formulaire" ; /* ou encore des if imbriqué pour tester chaque valeur et affiché une erreur */} ?>
Bon, déjà j'aimerai comprendre déjà pourquoi la page qui traite le formulaire est blanche or j'ai intro quelque HTML et deux s'il y'a une alternative plus simple. Et aussi peut-être avoir une explication sur les if imbriqué et leur leur différence s'il y'a avec les elseif
Vraiment merci d'avance pour votre aide.
A voir également:
- Vérification si aucun résultat enregistré.
- Resultat foot - Télécharger - Vie quotidienne
- Verification lien internet - Guide
- Lexer resultat - Télécharger - Sport
- Verification windows 11 - Guide
- Mot de passe enregistré android - Guide
3 réponses
Salut,
Tu as plusieurs erreurs de syntaxe dans ton code php, celui-ci ne peut donc pas être exécuté et le serveur retourne alors une page vide.
Pense à regarder le journal d'erreur (error log) de ton serveur web pour identifier et corriger ces erreurs :
- parenthèses manquantes ligne 5 et 10
- guillemets manquants pour les valeurs "homme" et "femme" ligne 21
- point-virgule manquant ligne 62
- function excute inexistante ligne 84
- point-virgule manquant ligne 96
- function écho inexistante et point-virgule manquant ligne 102
- plus celles que je n'ai pas remarqué ...
Bonne journée,
Tu as plusieurs erreurs de syntaxe dans ton code php, celui-ci ne peut donc pas être exécuté et le serveur retourne alors une page vide.
Pense à regarder le journal d'erreur (error log) de ton serveur web pour identifier et corriger ces erreurs :
- parenthèses manquantes ligne 5 et 10
- guillemets manquants pour les valeurs "homme" et "femme" ligne 21
- point-virgule manquant ligne 62
- function excute inexistante ligne 84
- point-virgule manquant ligne 96
- function écho inexistante et point-virgule manquant ligne 102
- plus celles que je n'ai pas remarqué ...
Bonne journée,
Vraiment merci Pitet j'ai du faire certaines de ces erreur ici en rédigeant le message comme par exemple "homme" or "femme"
Encore merci pour ces remarques et surtout l'attention.
De ce fait je vais essayer de bien vérifier sur mon travail. Juste une autre questions si cela dérangé pas. Donc on peut utiliser des preg_match dans un if? Merci
Encore merci pour ces remarques et surtout l'attention.
De ce fait je vais essayer de bien vérifier sur mon travail. Juste une autre questions si cela dérangé pas. Donc on peut utiliser des preg_match dans un if? Merci
Oui, on peut utiliser preg_match dans un if : https://www.php.net/manual/fr/function.preg-match.php#example-5373
Merci pour votre aide monsieur ou madame Pitet, les erreurs s'affichent déjà de nouveau j'ignore quelle a été ma manipulation, pour que ceux-ci ne s'affichent plus.
Jordane45 m'a remit un lien et c'est sur ce lien que j'ai pu avoir la solution. Sauf que sur le lien on me propose deux solutions.
1- écrire un code en tout début de page pour afficher les erreurs, ce que j'ai fait et ça passe bien.
2- faire des modifications sur la page PHP.ini problème les code sur le lien donc la page que Jordan45 m'a remis et les miens sur la PHP.ini ne sont pas identique, donc de peur de créer un autre problème j'hésite à copier leur code et de le coller sur ma page à moi.
Il faut toute fois souligner que les erreurs s'affichaient déjà quand j'avais installé le wamp après plus rien. Donc c'était sûrement du à une mauvaise manipulation de ma part.
Vraiment merci à vous, sans vous je n'aurais pas compris que j'ai moi-même sûrement fait bugguer wamp.
Jordane45 m'a remit un lien et c'est sur ce lien que j'ai pu avoir la solution. Sauf que sur le lien on me propose deux solutions.
1- écrire un code en tout début de page pour afficher les erreurs, ce que j'ai fait et ça passe bien.
2- faire des modifications sur la page PHP.ini problème les code sur le lien donc la page que Jordan45 m'a remis et les miens sur la PHP.ini ne sont pas identique, donc de peur de créer un autre problème j'hésite à copier leur code et de le coller sur ma page à moi.
Il faut toute fois souligner que les erreurs s'affichaient déjà quand j'avais installé le wamp après plus rien. Donc c'était sûrement du à une mauvaise manipulation de ma part.
Vraiment merci à vous, sans vous je n'aurais pas compris que j'ai moi-même sûrement fait bugguer wamp.
Pour l'affichage des erreurs ça va déjà merci cher Jordane45, j'ai dû directement introduire le code
Je souhaitais savoir, s'il est possible de recopier le code qui est sur le lien que vous m'avez envoyé et de l'insérer sur ma page PHP.ini, parce que franchement s'il faut à chaque fois écrire le code error_reporting en tout début de code sur toutes mes pages PHP se sera long. Est-ce possible de faire comme suggèrer? Encore merci à tout les deux.
<?php error_reporting(E_ALL); ini_set ('display_errors', TRUE); ini_set('display_startup_errors', TRUE); ?>sur ma page, ce que je ne comprend pas est que ces erreurs s'affichaient d'abord, j'ignore la manipulation que j'ai fais pour que cela ne s'affiche plus.
Je souhaitais savoir, s'il est possible de recopier le code qui est sur le lien que vous m'avez envoyé et de l'insérer sur ma page PHP.ini, parce que franchement s'il faut à chaque fois écrire le code error_reporting en tout début de code sur toutes mes pages PHP se sera long. Est-ce possible de faire comme suggèrer? Encore merci à tout les deux.
Je compléterai également avec ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et ça :https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Voici quelques modifications apporter à mon code
J'espère avoir fait moins d'erreur cette fois-ci et moins de point-virgule oublie :D
- il manque encore une parenthèse ligne 10 (2 ouvertes, 1 fermé)
- oublie du $ pour la variable bdd ligne 52 et 79
- pas d'accent dans les functions php (prépare, écho)
- fonction excute à corriger en execute
- point virgule manquant à la fin de echo " Bienvenue sur la plateforme"
En plus de regarder le journal d'erreur, tu peux aussi utiliser une IDE pour détecter automatiquement les erreurs de syntaxe.