Salut à tous je suis débutant en PHP + MySQL,
j’aimerai faire une requete un peu particuliere a MySQL du genre :
$reponse=mysql_query(‘SELECT password FROM droits WHERE login=’.$_POST[‘login’])
mais ca passe pas, et c’est bien dommage, donc j’aimerai savoir comment faire pour pouvoir modifier l’appel a la fonction c’est a dire que si $_POST[‘login’])==‘hokkos’, alors ca appel:
$reponse=mysql_query(“SELECT password FROM droits WHERE login=‘hokkos’”);
…
merci
J’ai l’impression que c’est un truc pour une zone membres, ata je vais te filer on script perso…
Une page simple :
<? session_start();
if (isset($_POST['deco']) AND $_POST['deco'] == true) { session_destroy(); }
$kellebase = 'free';
if ($kellebase == 'free') { $hote = 'xxxxx'; $compte = 'xxxxx'; $mot_de_passe = 'xxxxxx'; $base = 'xxxxx'; }
mysql_connect("$hote", "$compte", "$mot_de_passe"); // on se connecte
mysql_select_db("$base");
if (isset($_POST['user'], $_POST['password'])) {
$info_mbr = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE pseudo='" . $_POST['user'] . "' "));
if (isset($info_mbr['password']) AND $info_mbr['password'] != '') {
if ($_POST['password'] == $info_mbr['password']) { setcookie('user', $info_mbr['pseudo'], (time()+7776000)); $_SESSION['user'] = $info_mbr['pseudo']; $_SESSION['password'] = $info_mbr['password']; $actualise = true; }
else { $badpass = true; } }
else { $badlogin = true; } }
if (isset($_SESSION['user'], $_SESSION['password'])) {
$info_mbr = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE pseudo='" . $_SESSION['user'] . "' "));
if ($_SESSION['password'] == $info_mbr['password']) { $enter = true; }
else { $enter = false; } }
mysql_close;
if ($enter == true) { ?>
Si le gars est authentifié, on affiche la page ici
Sinon on propose de se relogger :
<? } else { include 'authentify.php'; } ?>
La page d’authentification (si le pass est mauvais ou si t’es pas loggé) :
<? session_start(); ?><!-- auth -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Page d'administration du site de la team DtF`</title>
<link rel="stylesheet" type="text/css" href="admin.css">
</head><body>
<div class="main">
<h1>Page d'administration - Login</h1>
<? if ($actualise == true OR $_POST['deco'] == true) { ?>
<? if ($_POST['deco'] == true) { session_destroy(); echo '<p>Destruction de la session en cours...</p>'; }
else { echo '<p>Création du compte en cours...</p>'; } ?>
<p><form name="redirect">Temps restant estimé : <form><input type="text" size="2" name="redirect2"> secondes... </form></p>
<script>
<!--
/*
Count down then redirect script
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/
//change below target URL to your own
var targetURL="index.php"
//change the second to start counting down from
var countdownfrom=8
var currentsecond=document.redirect.redirect2.value=countdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout("countredirect()",1000)
}
countredirect()
//-->
</script>
<p></p>
<p></p>
</div></body></html>
<? } else {
if ($restricted == true) { ?>
<p><span style="color:#CC0000; text-align:center;">VOUS N'AVEZ PAS ACCES A CETTE ZONE ! </span></p>
<? } else { ?>
<p></p><p>Vous n'ètes pas authenfifié ! Veuillez vous identifier...</p>
<h2>Authentification</h2>
<? if ($badpass == true) echo '<p><strong>Vous avez entré un mauvais mot de passe ! </strong></p>
' ?>
<form action="index.php" method="post">
<p>Pseudo : <input name="user" type="text" value="" /></p>
<p>Password : <input name="password" type="password" value="" /></p>
<p><input type="submit" value="Ok !" /></p></form>
<p></p>
<p></p>
</div></body></html> <? } } ?>
Voila, éssaie de comprendre ce code et de te débrouiller avec…
A la base je fait ca pour apprendre donc je veux pas trop voir des exemples des autres, je verrai ca quand j’aurrai fini pour voir si mon code est bon ou pas, mais je te remercie quand meme, c’est effectivement pour une zone membre mais j’ai résolu mon probleme avec un magnifique :
$query=‘SELECT password FROM droits WHERE login=\’’.$_POST[‘login’].’\’’;
$reponse=mysql_query($query)
tu avais effectivement oublié de fermé le ’ apres le '.$_POST[‘login’]
En plus simple :
$reponse=mysql_query(‘SELECT password FROM droits WHERE login=\’’.$_POST[‘login’].’\’’);
Et surtout vous songerez bien à vous connecter avec l’utilisateur suivant :
'; DELETE FROM droits; –
Voir ce que ça donne, au moins au niveau de la requête…
(et puis si c’est sous free, pourquoi pas un DROP DATABASE).
-> mysql_real_escape_string.