Aller au contenu

Aidez moi ! SVP


lunettenoire

Messages recommandés

Membre, Posté(e)
lunettenoire Membre 46 messages
Baby Forumeur‚
Posté(e)

Bonjour,

J'ai un problème, j'ai créé un mini formulaire d'inscription et j'ai créé une page add.php pour transférer les informations dans la base de données.

Malheureusement, lorsque je teste, j'ai toujours le même message d'erreur.

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\documents and settings\arthur\bureau\espacemembre\add.php on line 21

Erreur de selection

Je ne sais plus du tout quoi faire

Je vous poste la ligne où il trouve l'erreur

 // sélection de la base  
   mysql_select_db('tbl_user','$db')  or die('Erreur de selection '.mysql_error());

j'attend vos réponses avec impatience.

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
VIP, Just Breathe, 35ans Posté(e)
Bashi VIP 5 233 messages
35ans‚ Just Breathe,
Posté(e)

Les connexions aux DB et leurs utilisations se font en 3 etapes qu'il faut respecter imperativement.

1 - Connexion au serveur SQL

2 - Connexion a la base de donnée voulue

3 - "Rêquetisation"

Utilises quelque chose de propre et simple :

<?php

// Etape 1 : Connexion au serveur SQL
mysql_connect("serveur", "login", "motdepasse");

// Etape 2 : Connexion a la base de donnée voulue
mysql_select_db("nomdelabase");

// Etape 3 : Rêquetisation ( de preference dans une variable pour l'exploiter apres dans une boucle )
$requete1 = mysql_query("requetevoulue");

// A la fin du fichier, ne pas oublier de fermer pour la sécurité
mysql_close();

?>

Apres, chacun a sa maniere de coder :o ...

bashi

Lien à poster
Partager sur d’autres sites

Fondateur, Faut Bosser, 34ans Posté(e)
ph0b Fondateur 4 329 messages
34ans‚ Faut Bosser,
Posté(e)

Salut, remplace '$db' par $db

avec les ' ' tu prends la chaîne de caractère $,d,b alors que comme dit dans l'erreur il est dit qu'il te faut une mysql-link resource, donc $db :o

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
lunettenoire Membre 46 messages
Baby Forumeur‚
Posté(e)

Tout d'abord, je vous remercie pour vos réponses :o .

Cependant, ça ne marche toujours pas.

Je me retrouve avec 2 erreurs

Notice: Undefined variable: db in c:\documents and settings\arthur\bureau\espacemembre\add.php on line 21

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\documents and settings\arthur\bureau\espacemembre\add.php on line 21

Erreur de selection

cette fois ci, je poste aussi le code de add.php dans sa totalité.

<?php
// On commence par récupérer les champs
if(isset($_POST['pseudo']))	  $pseudo=$_POST['pseudo'];
else	  $pseudo="";

if(isset($_POST['login']))	  $login=$_POST['login'];
else	  $login="";

if(isset($_POST['pwd']))	  $pwd=$_POST['pwd'];
else	  $pwd="";

// On vérifie si les champs sont vides
if(empty($pseudo) OR empty($login) OR empty($pwd))

// Aucun champ n'est vide, on peut enregistrer dans la table

	// connexion à la base
$db = mysql_connect('127.0.0.1', 'root', '')  or die('Erreur de connexion '.mysql_error());

	// sélection de la base  
 mysql_select_db('membre',$db)  or die('Erreur de selection '.mysql_error());

 // on écrit la requête sql
 $sql = "INSERT INTO tbl_user(pseudo,login,pwd) VALUES('$pseudo','$login','$pwd')";

 // on insère les informations du formulaire dans la table
 mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());

 // on affiche le résultat pour le visiteur
 echo 'Vos infos on été ajoutées.';

 mysql_close();  // on ferme la connexion

?>

Lien à poster
Partager sur d’autres sites

Membre, Explorateur de Nuages, 46ans Posté(e)
Pheldwyn Membre 22 656 messages
46ans‚ Explorateur de Nuages,
Posté(e)

Salut !

Il manque des accolades à ton if ...

En fait là, si ton if est vrai, tu n'exécutes que la ligne :

$db = mysql_connect('127.0.0.1', 'root', '') or die('Erreur de connexion '.mysql_error());

Or, ton if est faux dès que tu remplis tous les champs : donc tu ne passe pas dans ce cas par la ligne ci-dessus, donc ton $db n'est pas déclaré.

Lien à poster
Partager sur d’autres sites

Membre, 35ans Posté(e)
Wixblog.com Membre 29 messages
Baby Forumeur‚ 35ans‚
Posté(e)

Est tu sur d'avoir bien créé une table membre?

Ensuite essaye de remplacer 127.0.0.1 par localhost

Lien à poster
Partager sur d’autres sites

  • 4 semaines après...
Membre, 39ans Posté(e)
zayneb Membre 61 messages
Baby Forumeur‚ 39ans‚
Posté(e)

ce que je le sais pour t'aider :

www.sitedezero.com

et pour code:

<?php

cnnexion à la base

mysql_connect("localhost","password"); or die("echec de connection à la base");

mysql_select_db("nom de la base") ;

mysql_db_query("la requete")

?>

Lien à poster
Partager sur d’autres sites

Membre, 39ans Posté(e)
zayneb Membre 61 messages
Baby Forumeur‚ 39ans‚
Posté(e)

je veux te présenter une méthode que je l'ai testé et ca marche

tu crée 1er page php portant le formulaire concernant l'entré de login et le password et contenant le script java suivant:

<script laguage="javascript">

fuction test(f){

if{(f.login.value=="")}||{(f.password.value=="")} { alert("veuillez remplir les champs svp")

return false;

}

f.submit()

return true;

}

pour le bouton submit;

<input type="bouton" name="cmd" value="connexion" onClick="test(f)">

pour le formulaire

<form name ="f" method="post" action ="session.php">

la page session.php

<?php

@mysql_connect("localhost","root") or die ("echec de connexion")

$sql="select*from le tableau(administrateur) where login=$login and password= $ password";

$exe=mysql_db_query("base de donnée " ,$sql)

$num=mysql_num_rows($exe);

if(!$num){

?>

<script>

location.href="page1.php"

</script>

<?

}

else

{

session_start();

session_register("login");

}

?>

<script<

location.href="acceuil.php"

</script>

<?

?>

</BODY>

</HTML>

JE TROUVE CA PLUS SIMPLE QUAND JE L'AI ESSAY2 EN PLUS efficace AVEC la sessio

Lien à poster
Partager sur d’autres sites

  • 2 semaines après...
Membre, 38ans Posté(e)
gannher Membre 895 messages
Baby Forumeur‚ 38ans‚
Posté(e)
@mysql_connect("localhost","root") or die ("echec de connexion")

Salut

Concernant cette ligne il vaut mieux mettre :

mysql_connect("localhost","root","") or die ("echec de connexion");

Là c'est pour le cas où tas base de donnée n'a pas de mot de passe. Si elle a un mot de passe (par exemple toto) il faut mettre :

mysql_connect("localhost","root","toto") or die ("echec de connexion");

Comme ca il n'y aura plus d'erreur et tu pourras enlever le @ .

Maintenant il y a un autre truc:

Il est plutot déconseillé d'utilisé session_register("login"); parce que cette fonction nécessite que register_global soit à ON. Depuis PHP 4, la valeur de register_global est à OFF par défault et elle est totalement retirée depuis PHP 6 .

Pour enregistrer des variables de sessions il vaut mieux utiliser :

$_SESSION['login'] = $login;

voilou :o

Lien à poster
Partager sur d’autres sites

Membre, 39ans Posté(e)
zayneb Membre 61 messages
Baby Forumeur‚ 39ans‚
Posté(e)

merci infiniment gannher :o

Lien à poster
Partager sur d’autres sites

  • 3 semaines après...
Membre, Posté(e)
τδκμshιrφ Membre 1 message
Baby Forumeur‚
Posté(e)

Salut, ton fichier add.php contient pas mal d'erreur..

Essaye cela :

<?php

// On commence par récupérer les champs

if(isset($_POST['pseudo']) AND isset($_POST['login']) AND isset($_POST['pwd']))  

{ 

$pseudo= htmlentities($_POST['pseudo']);

$login= htmlentities($_POST['login']);

$pwd= htmlentities($_POST['pwd']);


// On vérifie si les champs sont vides

if(!empty($pseudo) AND !empty($login) AND !empty($pwd))

{

// Aucun champ n'est vide, on peut enregistrer dans la table

  // connexion à la base

mysql_connect('localhost', 'root', 'mot_de_passe')  or die('Erreur de connexion '.mysql_error());

  // sélection de la base  
mysql_select_db('nom_de_la_base')  or die('Erreur de selection '.mysql_error());

 // on écrit la requête sql
 $sql = "INSERT INTO tbl_user VALUES '".$pseudo."', '".$login."', '".$pwd."'";

 // on insère les informations du formulaire dans la table
 mysql_query($sql) or die('Erreur SQL !'. $sql . mysql_error());

 // on affiche le résultat pour le visiteur
 echo 'Vos infos on été ajoutées.';

 mysql_close();  // on ferme la connexion

} else { echo 'Un ou plusieurs champs ne sont pas remplis !'; }

}
?>

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×