Bonjour à tous. J'essaye de suivre le tutoriel suivant sur le php (http://sylvie-vauthier.developpez.co...page=intro-bdd) et j'ai un problème bizarre avec les bases de données.
En gros, je crée simplement un formulaire (3 champs) que l'utilise pour remplir une base de données après avoir validé le formulaire. Le formulaire renvoie également vers la même page après sa validation, afin de pouvoir rentrer d'autres entrées dans la base de donnée.
L'insertion dans la base de données se passe très bien, mais, au lieu de revenir sur la page après validation, j'obtiens l'erreur "Internet Explorer ne peut pas afficher cette page Web" sur Internet Explorer ou bien "The connection was reset
The connection to the server was reset while the page was loading." sur Firefox.
Si à ce moment là je rafraîchis la page, je retombe bien sur mon formulaire valide (ce n'est donc pas un problème de nom de fichier). Après un peu de chipotage, j'ai refais tourné le script en enlevant l'appel à "mysql_close()" en fin de script et, surprise, ça fonctionne parfaitement.
Quelqu'un a-t-il une explication ? Pourquoi l'appel à cette fonction empêcherait de réafficher la page ?
Voici le code (placé dans un fichier "form.php") :
Voici mes caractéristiques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <html> <head><title>Formulaire de saisie utilisateur</title> </head> <body> <h1>Inscrivez-vous !</h1> <h2>Entrez les données demandées :</h2> <form name="inscription" method="post" action="form.php"> Entrez votre pseudo : <input type="text" name="pseudo"/> <br/> Garçon ou fille ? <input type="radio" name="sexe" value="G"/>Garçon<input type="radio" name="sexe" value="F"/>Fille<br/> Entrez votre age : <input type="text" name="age"/><br/> <input type="submit" name="valider" value="OK"/> </form> <?php if(isset($_POST['valider'])){ $pseudo=$_POST['pseudo']; $age=$_POST['age']; $sexe=$_POST['sexe']; $base = mysql_connect('localhost','root',''); mysql_select_db('MaBase',$base); $sql= 'INSERT INTO Utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")'; mysql_query($sql);// or die('Erreur SQL !'.$sql.'<br/>'.mysql_error()); mysql_close(); } ?> </body> </html>
- Windows 7 64 bits
- WAMPServer 2.0
- Apache 2.2.11
- PHP 5.3.0
- MySQL 5.1.36
Partager