Problème d'affichage en php
Fermé
sarita87
Messages postés
3
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 octobre 2011
-
Modifié par sarita87 le 18/10/2011 à 18:45
le père - 19 oct. 2011 à 13:58
le père - 19 oct. 2011 à 13:58
A voir également:
- Problème d'affichage en php
- Easy php - Télécharger - Divers Web & Internet
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Les paramètres d'affichage nvidia ne sont pas disponibles ✓ - Forum Carte graphique
- Problème affichage fenêtre windows 10 - Guide
5 réponses
Bonjour
Ce qui est bizarre, c'est que tu arrives à voir le message 'vos données sont enregistrer' en enlevant le mysql_close();
En effet, tu as un header ("location : test.php"); au début de ton script, ça devrait t'envoyer vers la page test.php dès que tu essayes d'afficher quelque chose, qu'il y ait ou non un mysql_close().
Il faut que tu choisisses si tu veux faire une redirection ou un echo, mais faire les deux n'est pas logique.
D'ailleurs, on ne met généralement pas d'espace entre 'location' et ':'. J'avoue que je ne sais pas si c'est vraiment interdit.
Ce qui est bizarre, c'est que tu arrives à voir le message 'vos données sont enregistrer' en enlevant le mysql_close();
En effet, tu as un header ("location : test.php"); au début de ton script, ça devrait t'envoyer vers la page test.php dès que tu essayes d'afficher quelque chose, qu'il y ait ou non un mysql_close().
Il faut que tu choisisses si tu veux faire une redirection ou un echo, mais faire les deux n'est pas logique.
D'ailleurs, on ne met généralement pas d'espace entre 'location' et ':'. J'avoue que je ne sais pas si c'est vraiment interdit.
sarita87
Messages postés
3
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 octobre 2011
18 oct. 2011 à 18:49
18 oct. 2011 à 18:49
Je commence par vous remerciez d'avoir pris la peine de répondre c'est gentil .
Pour le header il renvoie vers la même la page si je le mets ou je l'enlève c'est pareil d'ailleurs je l'ai enlevé ça na rien changé le problème est le même si j'enlève le mysql_close(); il affiche le msg si non ya impossible d'afficher la page mais les données sont enregistrées quand même peut être y'a un truc qui manque dans mon code j'arrive pas à le voir
Pour le header il renvoie vers la même la page si je le mets ou je l'enlève c'est pareil d'ailleurs je l'ai enlevé ça na rien changé le problème est le même si j'enlève le mysql_close(); il affiche le msg si non ya impossible d'afficher la page mais les données sont enregistrées quand même peut être y'a un truc qui manque dans mon code j'arrive pas à le voir
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
18 oct. 2011 à 21:16
18 oct. 2011 à 21:16
essayes comme ça:
<?php require('connect_base.php'); // récupération des données(l'existance des champs) //mysql_real_escape_string(...) pour sécuriser les données reçues avant insertion dans la BDD if(isset($_POST['nom'])) {$nom=mysql_real_escape_string($_POST['nom']);} if(isset($_POST['prenom'])) {$prenom=mysql_real_escape_string($_POST['prenom']);} if(isset($_POST['mail'])) {$mail=mysql_real_escape_string($_POST['mail']);} if(isset($_POST['age'])) {$age=mysql_real_escape_string($_POST['age']);} if(isset($_POST['lieu'])) {$lieu=mysql_real_escape_string($_POST['lieu']);} if(isset($_POST['wilaya'])) {$wilaya=mysql_real_escape_string($_POST['wilaya']);} if(isset($_POST['ville'])) {$ville=mysql_real_escape_string($_POST['ville']);} if(isset($_POST['niveau'])) {$niveau=mysql_real_escape_string($_POST['niveau']);} if(isset($_POST['branche'])) {$branche=mysql_real_escape_string($_POST['branche']);} if(isset($_POST['sexe'])) {$sexe=mysql_real_escape_string($_POST['sexe']);} if(isset($_POST['specialite'])) {$specialite=mysql_real_escape_string($_POST['specialite']));} $sql1 = "INSERT INTO inscri (id,nom,prenom,mail,age,lieu,wilaya,ville,niveau,branche,sexe,specialite)VALUES('','$nom','$prenom', '$mail', '$age', '$lieu', '$wilaya', '$ville', '$niveau', '$branche', '$sexe', '$specialite')"; $req=mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error()); if($req){ //si la requette s'est bien passée echo 'vos données sont enregistrées'; }else{ echo 'PB , enregistrement non effectué !'; } mysql_close();
Bonjour
Tout à fait d'accord pour le mysql_real_escape_string, même si avec ses données ça ne change rien au problème de sarita87 (il y aurait un message d'erreur SQL)
Par contre, si la requête échoue, le die est exécuté et le if ($req) qui suit est donc dans tous les cas totalement inutile : il n'est exécuté que si $req est true.
Tout à fait d'accord pour le mysql_real_escape_string, même si avec ses données ça ne change rien au problème de sarita87 (il y aurait un message d'erreur SQL)
Par contre, si la requête échoue, le die est exécuté et le if ($req) qui suit est donc dans tous les cas totalement inutile : il n'est exécuté que si $req est true.
Je ne comprends pas pourquoi le mysql_close y change quelque chose. De toutes manières, php referme systématiquement les connexions (non persistantes) à mySQL en fin de script, tu n'es pas obligé de le faire toi-même.
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
19 oct. 2011 à 11:20
19 oct. 2011 à 11:20
Je pense que cela doit venir de la version de PHP ou APACHE. car il fût un moment où une version de wamp buguait avec le msql_close(). Un petit exemple de conversation.
Donc s'il n'a pas mis à jour sa version de PHP, il se peut que mysql_close() lui pose des problèmes.
Donc s'il n'a pas mis à jour sa version de PHP, il se peut que mysql_close() lui pose des problèmes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 oct. 2011 à 13:42
19 oct. 2011 à 13:42
tout a fait d'accord avec toi le père, mais en "exploitation normale" lorsque le script a été débuggé, perso je supprime les or die, donc le if($req) sert a informer l'internaute de la bonne exécution ou pas de l'enregistrement