Erreur...encore et toujours

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur...encore et toujours

par seinto28 » 15 mars 2006, 16:30

Tu peux essayer ça, ça doit marcher:
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

for($i = 0; $i < mysql_num_rows($req); $i++){
    $line = mysql_fetch_object($req);

    if ( $line->Fonction_user == 1)

}

par ephemere » 15 mars 2006, 15:44

j'ai essayé de modifier ma condition de la manière suivante:
$sql = "SELECT Login_user, Password_user, Fonction_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == 1 and "Fonction_user" == 1)
mais la condition ne se remplit jamais...ai je le droit d'inclure la valeur d'un champ dans une condition comme j'ai essayé de le faire?

par Cyrano » 15 mars 2006, 14:36

Excellent, un petit [Résolu] par dessus tout ça et ce sera parfait :)

par ephemere » 15 mars 2006, 14:29

yesyesyesyesyesyesyesyesyes!!! CA MARCHE!
c'est bête mais ça me rend heureux!

grand merci à cyrano...comme souvent!

PS: j'avais vu pour mon mot de passe mais étant donné que personne n'a accès au serveur ou est hébergée ma base ça m'était égal...

voici le code définitif pour ceux que ça pourrait aider:
<?php
//récupération des données saisies dans le formulaire
$login = $_POST['login'];
$password = $_POST['password'];

//connection au serveur hébergeant la BD
$req = mysql_connect("nom_du_serveur","nom_utilisateur","mot_de_passe") or die(mysql_error());
//séléction de la BD
$req = mysql_select_db("nom_BD");

//requète sql et éxécution de la requète
$sql = "SELECT champ_login, champ_password FROM nom_de_table WHERE champ_login = '".$login."' AND champ_password = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

//conditions pour 1 résultat corrècte
if (mysql_num_rows($req) == 1)
{
   echo 'Bienvenue '.$login;
}
//sinon
else
{
   echo 'Login inconnu';
}
?>
voila!
maintenant il me reste à faire les redirections vers les différents types de pages en fonction du statut de mes utilisateurs...
comme d'hab j'essaye de faire tout seul mais si ça marche pas...vous le saurez bien asser tôt :wink:

par Cyrano » 15 mars 2006, 13:32

Attention à ne pas afficher tes codes d'accès ici, j'ai édité et remplacé par des "*", fais attention.

Pour ton code, il y a un progrès : tu es connecté au serveur, mais il manque toujours la sélection de la base avec mysql_select_db()

par ephemere » 15 mars 2006, 13:27

exact cyrano j'me suis pris la tête à trouver ça tout seul alors que tu me donnais la solution...m'enfin c'est pas grave.
voici le code mis à jour:
<?php
$login = $_POST['login'];
$password = $_POST['password'];
$req = mysql_connect("odin","root","*********") or die(mysql_error());

$sql = "SELECT Login_user, Password_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($req) == 1)
{
   echo 'Bienvenue '.$login;
}
else
{
   echo 'Login inconnu';
}
?>
alors bien entendu le message précédent a disparu mais uniquement pour céder la place à un nouveau:
"No database selected",
et c'est logique puisque je n'indique nulle part le nom de ma base. Je suppose qu'il faut le spécifier dans ma requète sql mais je ne connait pas la syntaxe..c'est ça ou je me trompe (encore)?

par Cyrano » 15 mars 2006, 12:34

Comme le demande avec justesse mere-teresa, où est la connexion ?
Access denied for user 'ODBC'@'localhost' (using password: NO)
Ce message indique une chose: à défaut d'un script de connexion, ton système essaye de se connecter via ODBC, or cette possibilité n'étant pas prévue, l'accès est bien entendu refusé

Avant d'exécuter une requête avec mysql_query, il faut commencer par te connecter au serveur : mysql_connect() et ensuite sélectionner la base de données appropriés : mysql_select_sb()

par mere-teresa » 15 mars 2006, 12:28

Où est-le fichier qui te permet de te connecter à ta BDD ?

par ephemere » 15 mars 2006, 11:11

MySQL.
En fait je ne crois pas que le problème vienne de la connection à la base elle même...j'ai supprimé ma connection à ma base..le problème reste identique.

Quand je clique sur affichage des données dynamique sous dream il maffiche une fenêtre avec le même message d'erreur mais avec en plus un onglet "plus d'info" qui m'envoi là:
http://www.macromedia.com/cfusion/knowl ... d=tn_18848

Alor la je suppose qu'il faut aller voir du coté de ODBC error...mais apres j'ai un peu de mal étant donné que l'anglais...c'est pas vraiment mon truc :roll: !

par mario » 15 mars 2006, 10:50

Quel SGBD utilises - tu ?
MySQL, SQL Server, Oracle, Sybase, ....?

Erreur...encore et toujours

par ephemere » 15 mars 2006, 10:12

Salut à tous, ce post fait suite a celui d'hier ("c'est quoi le mieux")...j'en reste exactement au même point...
je récapitule:

j'essai de créer une sécurité login/password relié à une BD contenant entre autre une table user et deux types de champs: Login_user et Password_user

Je vous donne le code entier de la page:
<?php
$login = $_POST['login'];
$password = $_POST['password'];

$sql = "SELECT Login_user, Password_user FROM user WHERE Login_user = '".$login."' AND Password_user = '".$password."'";
$req = mysql_query($sql)or die(mysql_error());
if (mysql_num_rows($req) === 1)
{
   echo 'Bienvenue '.$login;
}
else
{
   echo 'Login inconnu';
}
?>
<form id="form1" name="form1" method="post" action="">
  <label>
  LOGIN
  <input name="login" type="text" id="login" />
  </label>
  <p>
    <label>
    PASSWORD
    <input name="password" type="text" id="password" />
    </label>
    </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Envoyer" />
    </label>
  </p>
</form>
j'obtient systématiquement le message d'erreur suivant:
Access denied for user 'ODBC'@'localhost' (using password: NO)
1-Mes paramètres de mots de passe sont bon (pour preuve la connection fonctionne tres bien sous dreamweaver)
2-Je ne travaille pas en localhost, j'ai un serveur distant (de 10 mètres) répondant au doux nom de Odin

jcomprend pô.. :?

HELP ME !