le 11/09/2009 à 22:17
alexandryne
Bonsoir,
J'ai créé mon site avec un logiciel de création de sites. J'ai donc tout ce qui formulaire html. Par contre, il a fallu que je crée des scripts PHP. J'ai donc fait comme dans "les comment faire" de ce site pour créer un espace membre. J'ai mis dans le gestionnaire de fichiers du serveur dans "inscription1" "inscription.php" et dans accueil, "connexion.php", "membre.php" et "deconnexion.php". J'ai créé une table dans la base de données qui s'appelle "membre". J'ai supprimé tout ce qui était "html" dans les scripts php, puisque je l'ai déjà dans les index.html. Mais quand je clique sur "inscription" pour envoyer le formulaire, j'ai une page blanche qui s'affiche, sans message d'erreur. Et dans la base de données, pas d'enregistrements. Je vous mets le code html du formulaire :
Pour l'inscription.php :
et pour la connexion.php :
Bref, je ne sais pas pourquoi ça ne fonctionne pas. Pourriez-vous m'aider ? Je vous en remercie.
J'ai créé mon site avec un logiciel de création de sites. J'ai donc tout ce qui formulaire html. Par contre, il a fallu que je crée des scripts PHP. J'ai donc fait comme dans "les comment faire" de ce site pour créer un espace membre. J'ai mis dans le gestionnaire de fichiers du serveur dans "inscription1" "inscription.php" et dans accueil, "connexion.php", "membre.php" et "deconnexion.php". J'ai créé une table dans la base de données qui s'appelle "membre". J'ai supprimé tout ce qui était "html" dans les scripts php, puisque je l'ai déjà dans les index.html. Mais quand je clique sur "inscription" pour envoyer le formulaire, j'ai une page blanche qui s'affiche, sans message d'erreur. Et dans la base de données, pas d'enregistrements. Je vous mets le code html du formulaire :
<html>
<form method="post" onsubmit="return validateForm_bv000002( this );" action="inscription.php">
<table border="0">
<tr>
<td align="right">login<font color="red"><sup>*</sup></font></red></td>
<td align="left"><input class="wg-formfield" type="text" name="login" value="" maxlength="50" style="width:300px;"></td>
</tr>
<tr>
<td align="right">Mot de passe<font color="red"><sup>*</sup></font></red></td>
<td align="left"><input class="wg-formfield" type="password" name="motdepasse" value="" maxlength="50" style="width:300px;"></td>
</tr>
<tr>
<td align="right">Confirmez votre mot de passe<font color="red"><sup>*</sup></font></red></td>
<td align="left"><input class="wg-formfield" type="password" name="confirmezvotremotdepasse" value="" maxlength="50" style="width:300px;"></td>
</tr>
<tr><td colspan="2"><input type="submit" value="Inscription"></td></tr></table></form></td></tr></table></td></tr></table></td></tr></table><br><hr><table width="100%" border="0" class="wg-paragraph"><tr><td width="50%"><font style="font-size:80%;">Copyright © 2009. Tous droits réservés.</font></td><td width="50%" align="right"><font style="font-size:80%;">Mise à jour le vendredi 11 septembre 2009</font></td></tr></table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body></html>
<html>
Pour l'inscription.php :
<?php
1. <?php
2. // on teste si le visiteur a soumis le formulaire
3. if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
4. // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
5. if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['motdepasse']) && !empty($_POST['motdepasse'])) && (isset($_POST['confirmezvotremotdepasse']) && !empty($_POST['confirmezvotremotdepasse']))) {
6. // on teste les deux mots de passe
7. if ($_POST['motdepasse'] != $_POST['confirmezvotremotdepasse']) {
8. $erreur = 'Les 2 mots de passe sont différents.';
9. }
10. else {
11. $base = mysql_connect ('localhost', 'user', 'mot_de_passe');
12. mysql_select_db ('nom', $base);
13.
14. // on recherche si ce login est déjà utilisé par un autre membre
15. $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
16. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
17. $data = mysql_fetch_array($req);
18.
19. if ($data[0] == 0) {
20. $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.(mysql_escape_string($_POST['motdepasse'])).'")';
21. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
22.
23. session_start();
24. $_SESSION['login'] = $_POST['login'];
25. header('Location: membre.php');
26. exit();
27. }
28. else {
29. $erreur = 'Un membre possède déjà ce login.';
30. }
31. }
32. }
33. else {
34. $erreur = 'Au moins un des champs est vide.';
35. }
36. }
37. ?>
38.<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
47.<?php if (isset($_POST['motdepasse'])) echo htmlentities(trim($_POST['motdepasse'])); ?>"><br />
48.<?php if (isset($_POST['confirmezvotremotdepasse'])) echo htmlentities(trim($_POST['confirmezvotremotdepasse'])); ?>"><br />
49.<?php
52. if (isset($erreur)) echo '<br />',$erreur;
53. ?>
?>
et pour la connexion.php :
<?php <?php
2. // on teste si le visiteur a soumis le formulaire de connexion
3. if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
4. if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['motdepasse']) && !empty($_POST['motdepasse']))) {
5.
6. $base = mysql_connect ('localhost', 'user', 'mot_de_passe');
7. mysql_select_db ('nom', $base);
8.
9. // on teste si une entrée de la base contient ce couple login / pass
10. $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND motdepasse="'.(mysql_escape_string($_POST['motdepasse'])).'"';
11. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
12. $data = mysql_fetch_array($req);
13.
14. mysql_free_result($req);
15. mysql_close();
16.
17. // si on obtient une réponse, alors l'utilisateur est un membre
18. if ($data[0] == 1) {
19. session_start();
20. $_SESSION['login'] = $_POST['login'];
21. header('Location: membre.php');
22. exit();
23. }
24. // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
25. elseif ($data[0] == 0) {
26. $erreur = 'Compte non reconnu.';
27. }
28. // sinon, alors là, il y a un gros problème grave :)
29. else {
30. $erreur = 'Problème grave dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
31. }
32. }
33. else {
34. $erreur = 'Au moins un des champs est vide.';
35. }
36. }
37. ?>
38. <?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
47. <?php if (isset($_POST['motdepasse'])) echo htmlentities(trim($_POST['motdepasse'])); ?>"><br />
48.
50. <a href="inscription.php">Vous inscrire</a>
51. <?php
52. if (isset($erreur)) echo '<br /><br />',$erreur;
53. ?>
54.
?>
Bref, je ne sais pas pourquoi ça ne fonctionne pas. Pourriez-vous m'aider ? Je vous en remercie.