Bonjour, Je suis confronte au probleme suivant. Il semble que mon code PHP ne soit pas traite par la page. (Je teste sous winampserver). J'ai teste avec l'instruction echo dans les deux cas. Je suis ultra debutant en php. Voici mon but. Un utilisateur donne une reponse dans le formulaire (voir code ci-apres). Je compare cette reponse à la base de donnees. Si la reponse est bonne je redirige vers une autre page, sinon j'affiche un message. Il ne se passe rien.
Voici mon code :
<?php // on teste l'existence de nos variables. On teste également si elles ne sont pas vides if ((isset($_POST["repondre"])) && ($_POST["repondre"] == "repondre") { $connection = mysqli_connect("localhost", "root", "", "enigmas"
if (!$connection) { echo "Erreur : Impossible de se connecter à MySQL." . PHP_EOL; exit; } if ($result = mysqli_query($connection,"SELECT niveau_reponse FROM niveau where niveau_reponse='".$_POST['reponse']."'") { header('location: enigmes002.php'); exit; } else { echo '<br/><br/><center><h2>"Mauvaise réponse. Désolé"</h2></center>'; } /* Libération du jeu de résultats */ mysqli_free_result($result); } ?> Votre Réponse<br/> <form name="repondre" method="post" action="enigmeso001.php"> <input name="reponse" type="text" /> <br /><br/> <div class="auto-style1"> <input name="Valider" type="submit" value="Valider" style="width: 124px" /></div> </form>
Je n'ai aucun message. Apres validation la meme page se recharge. Le code que j'ai colle provient de la page enigmeso001.php. Dans l'idee si cette enigme est trouvee on passe a la page enigmeso002.php (d'ou la redirection) sinon message qui s'affiche (echo '<br/><br/><center><h2>"Mauvaise réponse. Désolé"</h2></center>' Voila pour les explications. Desole pour la gene si il y a, concernant l'aide sur ce code. Thierry
Bonjour, le fichier enigmeso001.php est appele par une autre page. (un header location). Je viens de remarquer cependant un probleme qui peut etre à l'origine de mes soucis. En effet je constate que malgré une modification visuelle (reorganisation des elements de la page...) faite avec expressionweb, winamp m'affiche toujours la page avant les modifications (Comme si il y avait un cache non mis à jour). A toutes fins utiles : Version Winamp 3.1.7 64 bits Windows 10 version famille. ExpressionWeb 4 (pour le developpement) Quant a sa place, il se trouve dans un sous repertoire du site (c:\winamp\www\portfolio\enigmeso\) le repertoire portfolio contient lui les fichies index.php et membres.php (C'est le fichier membres.php qui appellele fichier enigmeso001.php) Merci par avance
Dans votre code, insérer des lignes pour afficher des messages dans le fichier de log PHP et ainsi voir par ou passe l'exécution, par exemple :
error_log("avant connexion mysqli" ) ;
L'interprétation de code php fonctionne très bien, d'ailleurs vous pouvez le voir avec la page localhost qui correspond au fichier wamp/www/index.php.
Et pour tester la connexion mysql vous avez le fichier wamp\www\testmysql.php qu'il faut éventuellement modifier si vous avez mis un mot de passe à root et que vous lancerez par 'http://localhost/testmysql.php'
Probleme resolu.... la page enigmeso/enigmeso001.php qui s'affichait etait celle de mon hebergeur et non celle en local. donc.... Merci de votre aide neanmoins