Probleme d'affichage en php

Petit nouveau ! | 3 Messages

18 oct. 2011, 15:56

Bonjour,
ça fait un bob 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

Code : Tout sélectionner

<?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 son 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.
Modifié en dernier par sarita1987 le 18 oct. 2011, 20:24, modifié 1 fois.

Eléphanteau du PHP | 44 Messages

18 oct. 2011, 18:17

Pas besoin de mysql_close puisque la connexion est fermée automatiquement en fin de script.

Pense plutôt à protéger tes requêtes, => mysql_real_escape_string(), (int)

Petit nouveau ! | 3 Messages

18 oct. 2011, 19:16

soycd Merci d'avoir répondu
j'ai pas compris elle fermé en fin de script par si vous pouvez m'expliquez svp

Eléphant du PHP | 190 Messages

18 oct. 2011, 20:39

Ton script s’exécute bien mais tu n'as pas le temps de voir le message 'vos données sont enregistrer' a cause de ton
header ("location : test.php");
qui te redirige vers la page test.php.

mysql_close est inutile car la connexion mysql est automatiquement fermée a la fin de ton script.

1- vire mysql_close qui ne sert a rien
2- Verifie que ta page test.php existe ou que le chemin n'est pas erroné.

Eléphant du PHP | 188 Messages

18 oct. 2011, 22:07

Juste un petit détail qui n'avance en rien ton problème, mais tu as mit
<br>
alors que le W3C demande :
<br />
Enfin ça c'est si tu veux être dans les normes :)

Petit nouveau ! | 3 Messages

18 oct. 2011, 23:04

merci pour vos réponses tous
arthur77 tout ce que vous écrites est utile pour moi.
Zahnzao la page test.php c'est page qui contient le formulaire ainsi que les requêtes le problème est dans le mysql_close() du moment que vous dites que c'est inutile de le mettre donc je vais me passer de lui :D :D
merci encore