Aidez moi ! SVP


lunettenoire Membre 46 messages
Forumeur balbutiant‚
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.

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Messages recommandés

Bashi VIP 5 233 messages
Just Breathe‚ 28ans
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

Partager ce message


Lien à poster
Partager sur d’autres sites
ph0b Fondateur 4 329 messages
Faut Bosser‚ 27ans
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

Partager ce message


Lien à poster
Partager sur d’autres sites
lunettenoire Membre 46 messages
Forumeur balbutiant‚
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

?>

Partager ce message


Lien à poster
Partager sur d’autres sites
Pheldwyn Membre 11 138 messages
Explorateur de Nuages‚ 39ans
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é.

Partager ce message


Lien à poster
Partager sur d’autres sites
Wixblog.com Membre 29 messages
Forumeur balbutiant‚ 29ans
Posté(e)

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

Ensuite essaye de remplacer 127.0.0.1 par localhost

Partager ce message


Lien à poster
Partager sur d’autres sites
zayneb Membre 61 messages
Forumeur en herbe‚ 33ans
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")

?>

Partager ce message


Lien à poster
Partager sur d’autres sites
zayneb Membre 61 messages
Forumeur en herbe‚ 33ans
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

Partager ce message


Lien à poster
Partager sur d’autres sites
gannher Membre 895 messages
Forumeur accro‚ 32ans
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

Modifié par gannher

Partager ce message


Lien à poster
Partager sur d’autres sites
zayneb Membre 61 messages
Forumeur en herbe‚ 33ans
Posté(e)

merci infiniment gannher :o

Partager ce message


Lien à poster
Partager sur d’autres sites
τδκμ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 !'; }

}
?>

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant