Tom's Guide > Forum > Programmation > Impossible de créer une db
Mot :    Pseudo :           
 

Salut, j'ai un petit problème avec mon formulaire d'inscription voici mon code:

Code :
  1. <?php
  2. if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset($_POST['planete'])) // Si les variables existent
  3. {
  4. if ($_POST['pseudo'] != NULL AND $_POST['pass'] != NULL AND $_POST['prenom'] != NULL AND $_POST['planete'] != NULL) // Si on a quelque chose à enregistrer
  5. {
  6. // D'abord, on se connecte à MySQL
  7. mysql_connect("localhost", "table", "pass" );
  8. mysql_select_db("test" );
  9. // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
  10. $pass = htmlentities ($_POST['pass']) ;
  11. $pseudo = htmlentities ($_POST['pseudo']);
  12. $planete = htmlentities ($_POST['prenom']);
  13. $dern_msg = mysql_query('SELECT pseudo FROM formulaire');
  14. if($dern_msg != $pseudo) {
  15. // Ensuite on enregistre les info
  16. mysql_query("INSERT INTO formulaire VALUES('', '$pseudo', '$pass', '$planete')" );
  17. // On se déconnecte de MySQL
  18. mysql_close();
  19. }
  20. }
  21. }
  22. ?>
  23.             <div class="content">
  24.                 <br /><div style="text-align: center;"><h2>Nouveau Membre</h2></div><br /><br />
  25. <form method="post" action="inscription.php">
  26. <table style="margin-left: auto;margin-right: auto;text-align: left;" border="0" cellspacing="1" cellpadding="3">
  27. <tr><td><h3>Pseudo : </h3></td><td><input type="text" name="pseudo" size="16" maxlength="30" /> *</td></tr>
  28. <tr><td><h3>Pass : </h3></td><td><input id="reg_pass" type="pass" name="pass_reg" size="16" maxlength="15" /> *</td></tr>
  29. <tr><td><h3>Pass (confirmez) :&nbsp;</h3></td><td><input type="password" name="pass_conf" size="16" maxlength="15" /> *</td></tr>
  30. <tr><td><h3>Planète:</h3></td>&nbsp;<td><select name="planete" size="5">
  31. <option value="1" selected>Planète rouge</option>
  32. <option value="2">Planète bleu</option>
  33. <option value="3">Planète noir</option>
  34. <option value="4">Planète mauve</option>
  35. <option value="5">Planète verte</option></select></td></tr>
  36. <tr><td colspan="2">&nbsp;</td></tr>
  37. <tr><td colspan="2" align="center"><input type="submit" value="Inscription" /></td></tr></table></form><br />
  38. </div>
  39.         </td></tr>
  40.     </table>



Rien ne s'écrit dans ma table et je ne comprend pourquoi, merci de m'expliquer clairement (je débute)


Message édité par Allstar27 le 27-03-2007 à 13:06:44
------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Ah mon avis c'est ici que ca pose problème if($dern_msg != $pseudo)

Répondre à RiiMii

Oui c'est un code que j'ai récup! je sais pas d'ou sort le $dern_msg mais si je suppime se if faut que je supprime $dern_msg juste avant = mysql_query?

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

C'est surtout que $dern_msg = mysql_query('SELECT pseudo FROM formulaire'); ne va rien filtrer du tout , tu récupères tout les pseudo dans la table formulaire , donc il y aura toujours quelque chose dedans ( une valeur non null ) .

En regardant un peu plus attentivement , ca devrait passer tout le temps dans le if , donc ca devrait également écrire dans la db.

Tu n'as pas de message d'erreur ?

Répondre à RiiMii

Code :
  1. mysql_query(maRequete) or die('Erreur SQL :'.mysql_error());



c'est pas mal pour debugger.

Répondre à kakashi99

Non aucun message d'erreur

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

t'as essayé avec le bout de code que je t'ai donné ??

ca fait longtemps que j'ai pas fait de php, mais il me semble que les erreurs sur mysql_... ne s'affiche que si tu utilses mysql_error...

Répondre à kakashi99

c'est quoi le but du code???

Code :
  1. $dern_msg = mysql_query('SELECT pseudo FROM formulaire');
  2. if($dern_msg != $pseudo) {


la tu veux controler si le pseudo existe?
si c'est ca, il faut plutot utiliser une requete de ce genre:

Code :
  1. select pseudo from formulaire where pseudo = '$pseudo';


et ensuite juste tester si dern_message n'est pas FALSE avec !==

Répondre à coca25

@kakashi: voici se que ca donne en mettant le bout de code:

Erreur SQL :Access denied for user 'nobody'@'localhost' (using password: NO)

@coca: quand je fais ça la page ne s'affiche plus, surement une erreur de ma part!


Message édité par Allstar27 le 28-03-2007 à 15:00:59
------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

bah c'est que ton user n'existe pas, ou n'a pas les droits sur la base...

dans mysql_connect l'argument 2 et 3 se sont le login et le pass du user...

Répondre à kakashi99

+1
j'avais meme pas vu cette ligne:

Code :
  1. mysql_connect("localhost", "table", "pass" );


table n'est surement pas un utilisateur, si?
@allstar: si la page ne s'affiche plus juste en changant la requete, je voudrais bien voir ca ;)

Répondre à coca25

@coca25 >> c'est surement a cause de mon or die ^^ qui arrete tout au niveau de l'erreur.

Répondre à kakashi99

Ici j'ai modifier, je vais pas donner mes info sql :D

j'ai localhost, après le nom de ma table, après mon mot de passe sql! c'est bien ça?

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

C'est bien se que j'ai! :(

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

non, tu dis : nom de la table ! ^^

c'est localhost, admin, password par exemple !!

le nom de la table vient apres.

Répondre à kakashi99

Bah le nom de ma table est le meme que mon identifiant sql

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

déjà qu'est ce que tu veux dire par table?
résumons:
Serveur: localhost
Base de données: test
Table: formulaire
Utilisateur: table ???
Mot de passe: pass

si c'est ca, ton code est bon, mais dans ce cas, il ne t'afficherait pas cette erreur

Répondre à coca25

Parametres mysql
nom du serveur mysql : localhost
nom de la base mysql : papillonlandreun
nom du compte mysql et phpmyadmin : papillonlandreun
mot de passe mysql et phpmyadmin: *****

Voilà mais paramètre sql et pour mysql_connect j'ai mis ceci

Code :
  1. mysql_connect('localhost', 'papillonlandreun', '*****');
  2. mysql_select_db("test" );

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

Allstar27 a écrit :

Parametres mysql
nom du serveur mysql : localhost
nom de la base mysql : papillonlandreun
nom du compte mysql et phpmyadmin : papillonlandreun
mot de passe mysql et phpmyadmin: *****

Voilà mais paramètre sql et pour mysql_connect j'ai mis ceci

Citation :

mysql_connect('localhost', 'papillonlandreun', '*****');

mysql_select_db("test");




mysql_select_db ()
db => data base => base de données

avec tous ses noms, je me demande comment il t'as sorti nobody ;)


Message édité par coca25 le 28-03-2007 à 23:05:33
Répondre à coca25

mysql_connect('localhost', 'papillonlandreun', '*****');

mysql_select_db("test" );


mysql_connect: je me connecte a ma base de données
('localhost', 'papillonlandreun', '*****'); : j'entre mes infos sql
mysql_select_db("test" ); : je donne un nom a la db

Je comprend pas où est le problème ?? :heink:

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

alors la c'est moi qui comprend rien.
tu dis que ta base s'appelle papillonlandreun
et dans ton programme tu veux lui donner comme nom test
??
d'ailleurs select, c'est pour sélectionner
au passage: http://php.benscom.com/manual/fr/f [...] ect-db.php

Répondre à coca25

papillonlandreun c'est le nom de ma base et test c'est le nom de ma nouvelle db.

Comme par exemple dans ma base papillonlandreun j'ai phpbb_forums

En faite je pense que j'aurai du mettre create_table :ouch:


Message édité par Allstar27 le 28-03-2007 à 23:34:56
------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

bon alors revois les termes utilisés dans le contexte de base de données

db = base de données
la hierarchie pour le principal:
serveur de base de données -> base de données -> table -> enregistrements

phpbb_forums est une table

à mon avis, tu te compliques un peu la vie


Message édité par coca25 le 29-03-2007 à 00:02:19
Répondre à coca25
Tom's Guide > Forum > Programmation > Impossible de créer une db
Aller à :

Il y a 1859 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens