Problème sur base de donné (manque de donnée)

Eléphanteau du PHP | 27 Messages

14 août 2005, 21:44

Salut a tous :D



Voila en faite j'ai crée un sytème de messagerie internet (enfin récupéré et modifier un peu)

et maitenant a chaque fois que je vx me connecter ca me marque un message d'erreur du Mysql disant qu'il manque des données mais je sais pas qu'est que je doit crée dans ma base de données...

si vous voulez voir http://maximusse80.free.fr/test.php

merci d'avance :D
Veni Vidi Vinci

Mammouth du PHP | 19672 Messages

15 août 2005, 10:02

La page indiquée n'affiche aucun message : on doit deviner ? :shock:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

15 août 2005, 15:29

Tien j'ai modifier un peu mon site http://maximusse80.free.fr/site/test.php

donc tu t'inscrit et regarde quand il vx passer dans la page membre
Veni Vidi Vinci

Mammouth du PHP | 19672 Messages

15 août 2005, 15:33

Erreur 404 : Là, ça commence à devenir encore plus difficile :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

15 août 2005, 20:10

oups dsl oublier la majuscule http://maximusse80.free.fr/Site/test.php
Veni Vidi Vinci

Mammouth du PHP | 19672 Messages

15 août 2005, 22:27

Tu as de toutes façon un problème lors de l'inscription: l'erreur affiche une requête SQL SELECT... or lors d'une inscription, il aurait été plus logique d'avoir une requête INSERT INTO...

Sans voir du tout de code, impossible de t'aider.

Au passage, ce n'est à priori pas un problème de SQL ni de base de données mais de PHP. Sujet déplacé.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

16 août 2005, 15:30

ok donc je vais t'envoyer les codes de toutes mes pages (ca va mettre un peu de temps mais bon ...)

Voila test.php

Code : Tout sélectionner

<?php if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect ('sql.free.fr', 'maximusse80', 'yrtfu620'); mysql_select_db ('login', $base); $sql = 'SELECT id FROM login WHERE login="'.addslashes($_POST['login']).'" AND password="'.md5(addslashes($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 1) { $data = mysql_fetch_array($req); session_start(); $_SESSION['login'] = $_POST['login']; // on enregistre en plus l'id du membre dans une variable de session $_SESSION['id'] = $data['id']; mysql_free_result($req); mysql_close(); header('Location: membres.php'); exit(); } elseif ($nb == 0) { $erreur = 'Compte non reconnu.'; } else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } mysql_free_result($req); mysql_close(); } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head> <title>Accueil</title> </head> <body> <img src="logo.png"> <div class="colonne_gauche"> <div class="menu_gauche"> Connexion à l'espace membre :<br /> <form action="test.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br /> <input type="submit" name="connexion" value="Connexion"> </form> <a href="inscription.php">Vous inscrire</a> <?php if (isset($erreur)) echo '<br /><br />',$erreur; ?> </body> </html> </body> </html>
Voila inscription.php

Code : Tout sélectionner

<?php if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('sql.free.fr', 'maximusse80', 'yrtfu620'); mysql_select_db ('login', $base); $sql = 'SELECT login FROM login WHERE login="'.addslashes($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 0) { $sql = 'INSERT INTO login VALUES("'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'","","","","","")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // on récupère l'id de notre nouveau membre $id = mysql_insert_id(); session_start(); $_SESSION['login'] = $_POST['login']; // on stocke cet id dans une variable de session $_SESSION['login'] = $id; header('Location: membres.php'); exit(); } else { $erreur = 'Un membre possède déjà ce login.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head> <title>Inscription</title> </head> <body> Inscription à l'espace membre :<br /> <form action="inscription.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br /> Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>"><br /> <input type="submit" name="inscription" value="Inscription"> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> </body> </html>
Et voila membres.php

Code : Tout sélectionner

<?php session_start(); // on vérifie toujours qu'il s'agit d'un membre qui est connecté if (!isset($_SESSION['login'])) { // si ce n'est pas le cas, on le redirige vers l'accueil header ('Location:index.php'); exit(); } ?> <html> <head> <title>Espace membre</title> </head> <body> Bienvenue <?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?> !<br /><br /> <?php $base = mysql_connect ('sql.free.fr', 'maximusse80', 'yrtfu620'); mysql_select_db ('login', $base); // on prépare une requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté $sql = 'SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membre.id ORDER BY date DESC'; // lancement de la requete SQL $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 0) { echo 'Vous n\'avez aucun message.'; } else { // si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message while ($data = mysql_fetch_array($req)) { echo $data['date'] , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ Message de ' , stripslashes(htmlentities(trim($data['expediteur']))) , ' ]<br />'; } } mysql_free_result($req); mysql_close(); ?> <br /><a href="envoyer.php">Envoyer un message</a> <br /><br /><a href="deconnexion.php">Déconnexion</a> </body> </html>
Si vous avez besoin d'autre page dites le moi...
Veni Vidi Vinci