Problème d'affichage en php
                    
        
     
             
                    sarita87
    
        
    
                    Messages postés
            
                
     
             
            6
        
            
                                    Statut
            Membre
                    
                -
                                     
le père -
        le père -
        Bonjour,    
ça fait un bon bout de temps que j'ai pas toucher au développement web et je trouve des difficultés sur l'affichage d'un msg après avoir récupérer les données saisies dans un formulaire voilà le code
en cliquant sur le bouton envoyer les données s'enregistrent sur BDD mais au lieu de voir le msg vos données sont enregistrer je trouve impossible d'afficher la page
si je ferme pas la connexion j'enlève le mysql_close() tout se passe normalement.
et je peux pas laisser la connexion ouverte
j'espère que je me suis bien exprimer.
en attente d'une aide.
                
            
                
    
    
    
        ça fait un bon bout de temps que j'ai pas toucher au développement web et je trouve des difficultés sur l'affichage d'un msg après avoir récupérer les données saisies dans un formulaire voilà le code
<?php     
header ("location : test.php");   
require('connect_base.php');   
// récupération des données(l'existance des champs)   
if(isset($_POST['nom']))           {$nom=$_POST['nom'];}   
if(isset($_POST['prenom']))       {$prenom=$_POST['prenom'];}   
if(isset($_POST['mail']))     {$mail=$_POST['mail'];}   
if(isset($_POST['age']))     {$age=$_POST['age'];}   
if(isset($_POST['lieu']))          {$lieu=$_POST['lieu'];}   
if(isset($_POST['wilaya']))          {$wilaya=$_POST['wilaya'];}   
if(isset($_POST['ville']))      {$ville=$_POST['ville'];}   
if(isset($_POST['niveau']))      {$niveau=$_POST['niveau'];}   
if(isset($_POST['branche']))         {$branche=$_POST['branche'];}   
if(isset($_POST['sexe']))         {$sexe=$_POST['sexe'];}   
if(isset($_POST['specialite']))         {$specialite=$_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')";    
mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error());   
echo'vos données sont enregistrer';   
mysql_close();   
 ?>
en cliquant sur le bouton envoyer les données s'enregistrent sur BDD mais au lieu de voir le msg vos données sont enregistrer je trouve impossible d'afficher la page
si je ferme pas la connexion j'enlève le mysql_close() tout se passe normalement.
et je peux pas laisser la connexion ouverte
j'espère que je me suis bien exprimer.
en attente d'une aide.
        A voir également:         
- Problème d'affichage en php
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Problème affichage facebook ✓ - Forum Facebook
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.
                        
                    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
                        
                    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.
                
                
    
                
    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