<form action = "index.php" method = "post">
username : <input type = "text" name = "uname" /><br>
password : <input type = "text" name = "pass" /><br>
submit : <input type = "submit" name = "submit" value = "submit" />
</form>
<?php
if(isset($_SESSION['id'])){echo $_SESSION['id'];}
if(isset($_POST['submit'])){
if ($_POST['submit'] == 'submit'){
$uname = $_POST['uname'];
$pass = $_POST['pass'];
$db = "davidedwardcakes";
$connect = mysql_connect('localhost', 'root', 'wtfiwwu');
$db_connect = mysql_selectdb($db, $connect);
if(!$db_connect){echo 'no';}
$query = "SELECT * FROM `users` WHERE uname ='$uname' AND pass = '$pass'";
$result = mysql_query($query, $connect);
if(mysql_num_rows($result) > 0){//echo 'index failed'; var_dump($result);}
while($row = mysql_fetch_array($result)){echo $row['uname']
. "<br>";
session_start();
echo '<a href = "test.php">peruse</a>';
$_SESSION['id'] = $row['id'];}}
else{echo 'lol'; var_dump($query);}}
Chaque fois que je veux vous connecter, je reçois l'erreur: chaîne 'SELECT * FROM utilisateurs WHERE uname =' brune 'ET pass = 'kenji'' (longueur = 61)mysql_num_rows() retourne zéro
ce qui signifie qu'il y a un problème avec ma requête $. Si je supprime la requête $ pass de $ query cela fonctionne bien mais ne le fait pas quand il est inclus. Quelqu'un peut-il aider s'il vous plaît.
Huh? Pourquoi cela signifie-t-il qu'il y a un problème avec votre requête? C'est votre code 'var_dump'. – BenM
Ce n'est pas une erreur. C'est votre 'var_dump ($ query);' code. –
1. Ne stockez pas les mots de passe en texte brut. 2. N'utilisez pas les fonctions 'mysql_ *'; ils sont obsolètes. 3. Votre code est largement ouvert à l'injection SQL ... – BenM