Connexion à bd avec Ajax

Fermé
jakol - 17 juin 2010 à 16:06
xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 - 17 juin 2010 à 16:56
Bonjour,
Je suis entrain de péter, je n'arrive pas à faire un tp permettant de saisir un login et un mots reliés à une base de données.
je vous remercie de jeter un coup d'oeil sur mon code et de m'éclairer...

<?php
require("Sajax.php");

function logpass($log,$pass){

$host="localhost";
$login="zozo";
$password="1234";
$bdd="bdzozo";

$hdl=mysql_connect($host,$loginx,$passwordx) or die ("erreur de connexion à MYSQL".mysql_error());

mysql_select_db($bdd) or die ("erreur de connexion à la base");

$query="SELECT nom,prenom from Utilisateurs where login=$login and password=$password";
$resultat=mysql_query($query,$hdl) or die ("erreur de connexion à la base");

$nb_lignes=mysql_num_rows($resultat);

for($i=0;$i<$nb_lignes;$i++)
{
$nom=mysql_result($resultat,$i,0);
$prenom=mysql_result($resultat,$i,"prenom");
echo "$nom, $prenom";
echo "<br>";
}

mysql_close();

return $resultat;

}




sajax_init();
// $sajax_debug_mode = 1;
sajax_export("logpass");
sajax_handle_client_request();
?>

<html>
<head>
<script>
<?
//Initialisation de SAjax
sajax_show_javascript();
?>


// Fonction callback de traitement du résultat
function do_logpass_cb(res) {
document.getElementById("res").value = res;
}


// Fonction cliente traite lâevt
function do_logpass() {
// get the folder name
var log;
var pass;

log = document.getElementById("log").value;
pass = document.getElementById("pass").value;

// Invocation du de la fonction lien
x_logpass(log,pass,do_logpass_cb);
}

</script>

</head>
<body>
<input type="text" name="log" id="log">
<input type="text" name="pass" id="pass">


<input type="button" name="tst" value="res" onclick="do_logpass();">

<input type="text" name="res" id="res" size="30">


</body>
</html>






4 réponses

xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 4
17 juin 2010 à 16:09
Salut jakol !

j'aimerais savoir pourquoi tu intègres ajax ? tu veux juste pouvoir créer une base de données et pourvoir t'y connecter avec un nom d'utilisateur/pass renseignée dans cette base de données ?!

Cordialement,
xqM
0
salut xqM

en fait, c'est un tp de cours...
la base de données existe déjà
si l'utilisateur rentre le bon login et le bon mot de passe, la requête sql se lance et affiche les noms et prénoms...

Désolé, ça me rend fou ce truc...
0
xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 4
17 juin 2010 à 16:24
Re Jakol !

Je ne comprends toujours pas ce que tu veux faire !
Tu as donc un input text pour le pseudo et un input password pour le pass ! il entre son login et son mot de pass, et si c'est bon ça affiche les noms et prénoms ... Comment ça ? Ils viennent d'où les noms et les prénoms ?
Essaye d'être plus clair !

Cordialement,
xqM
0
En fait, je pense que j'ai mal compris la consigne
tu rentres un login et mdp, tu te connectes sur la base, sur une table "personnes"
si le login et mdp saisis correspondent à un nom et à un password existant dans la table "personne" alors on affiche le nom et le password .....
Je dois revoir le code... merci
0
xqM Messages postés 98 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 31 mars 2014 4
17 juin 2010 à 16:56
Re jakol !

tu m'excuseras, mais j'utilise encore les anciennes façon d'appeler les requêtes sql :p

Je vais te dire comment faire en partant du principe que ta bdd est valide !
Donc tu as une table " personnes " qui dispose d'un champ ID, PRENOM, PASSWORD
Dans ceux-ci tu as :
ID PRENOM PASSWORD
1 JULIEN 123456
2 JULIETTE 7890

Je vais commencer par la partie html placer donc entre les balises <body> et </body>

<form action="tapage.php" method="post">
Entre ton nom : <input type="text" name="prenom" id="prenom"><br />
Entre ton prénom : <input type="password" name="password" id="password"><br />
<input type="submit" id="validation" name="validation">
</form>

Une fois ta partie html finie, commençons le php !
En haut de page on se co à la db
<?php
mysql_connect('host', 'user', 'pass');
mysql_select_db('nom_db');

Ensuite, on a une fonction qui permet de vérifier si on a cliqué sur le submit !
Donc après tu mets
if(isset($_POST['validation'])) //verification submit
{
//on vérifie les champs prénom et password, si ceux si ont bien été remplis, ils prennent la valeur entré, sinon ils sont nuls !
if(isset($_POST['prenom']))
{
$prenom=$_POST['prenom'];
}
else
{
$prenom="";
}
//faire pareil pour le password :p
//une fois qu'on a vérifier leur valeur et qu'ils ne sont pas vides, on va chercher tous les noms et prénoms dans la table personnes
$recup_donnees=mysql_query("SELECT PRENOM, PASSWORD FROM personnes WHERE PRENOM='" . $prenom . "' AND PASSWORD='" . $password . "');
//on va maintenant les mettre dans un tableau dit " array " pour lire ce qu'on a récupéré !
while($donnees=mysql_fetch_array($recup_donnees))
{
//une fois qu'on peut lire, on compare tout simplement la base et ce qui a été entré !
if(($prenom==$donnees['PRENOM']) AND ($password==$donnees['PASSWORD']))
//on est donc dans le si, on a plus qu'à faire un echo pour afficher les infos de la base de donnees !
echo $donnees['PRENOM'] . "<br /> . " $donnees['PASSWORD'];
}
}

Voilà, ça devrait marcher si j'ai pas fait d'erreur étant donné que je viens de coder ça à l'instant, si ça marche pas ou que tu ne comprends pas quelque chose, demande moi !

Cordialement,
xqM
0