bonjour, bonsoir
J'ais suivie le tuto pour crée son portfolio de notre cher jonathan.
Je suivie le tuto jusqu'à la partie qui consiste a crée le système de connexion tous marcher bien, jusqu'au je veux rajouter le css en utilisent bootstrap.
J'ais un souci aux niveau du script de connexion. je rendre les identifient et une erreur affiche :
Fatal error: Call to a member function rowCount() on a non-object in C:\wamp\www\Project\Portfolio\login.php on line 11
Code de login.php
<?php $auth = 0; ?>
<?php include'lib/includes_css_nonav.php' ?>
<?php include 'lib/includes.php' ?>
<?php include 'partials/header_login.php ' ?>
<!--Systeme de connection-->
<?php
if(isset($_POST'username']) && isset($_POST'password'])){
$username = $db->quote($_POST'username']);
$password = sha1($_POST'password']);
$select = $db->query("SELECT * FROM users WHERE username=$username AND password='$password'");
if($select->rowCount() > 0){
$_SESSION'Auth'] = $select->fetch();
setFlashSuc('Vous êtes maintenant connecté');
header('Location:' .WEBROOT. 'admin/index.php');
die();
}
}
?>
<!--Formulaire de conection -->
<div class="container">
<div class="row">
<form action="#" method="post">
<div class="input-group col-lg-3 col-xs-5 col-md-2 col-ms-2 col-lg-offset-4 col-xs-offset-0 col-md-offset-5 col-sm-offset-4">
<span class="input-group-addon icon-user"><i class="glyphicon glyphicon-user"></i></span>
<?= input('username') ?>
</div>
<div class="input-group col-lg-3 col-xs-5 col-md-2 col-ms-2 col-lg-offset-4 col-xs-offset-0 col-md-offset-5 col-sm-offset-4">
<span class="input-group-addon"><i class="glyphicon glyphicon-pencil"></i></span>
<input type="password" class="form-control input-medium" placeholder="Mot de passe" id="password" name="password">
</div>
<button type="submit" class="btn btn-default col-xs-offset-6 col-sm-offset-10 col-md-offset-8 col-lg-offset-8 ">Se connecter</button>
</form>
</div>
</div>
<!--innclude-->
<?php include 'lib/debug.php' ?>
<?php include 'partials/footer.php' ?>
Partie qui crée la session
<?php
session_start();
if (!isset($auth)){
if(!isset($_SESSION'Auth']'id'])){
//header('Location:' . WEBROOT . 'login.php');
}
}
ps : la variable Auth et stocker dans $_SESSION.
il te signale que row count n'est pas définis, ou que l'appel mal, pas sur mais met juste un ";" aprés rowcount() car il me semble que tu appelle une function de classe.
sinon en ligne 11 avant ton if fait un
vardump($select);
Merci de ta réponse flo3376. bon alors quant je mais un ";" aprés mon rowCount() se ne règle pas l'erreur pour se qui est du debug de $select sa me donne une erreur:
Fatal error: Call to undefined function vardump() in C:\wamp\www\Project\Portfolio\login.php on line 10
je ne comprend vraiment pas de ou sa vient, vue que sa marcher bien avent la mise en forme de la page web. ces toute "les fonction" qui pause problème (var-dump,rowCount). le problème ces que saïte partie qui gère la session ou son stocker les id de l'admin ...." .
Si mon problème et pas réglés a la fin de la semaine je reset tout pour recommencer. merci a vous tous pour votre aide.
Salut.
Essaye de debug ta variable '$select' avant le 'if' de la 11ème ligne et affiche ici ce qu'elle contient s'il te plait
...
$select = $db->query("SELECT * FROM users WHERE username=$username AND password='$password'");
var_dump($select); // debug
if($select->rowCount() > 0){
...
Bonjour bonsoir.
Merci de ton aide, je vient de faire se que tu ma dit. le rowCount bloque toujours sa m'affiche la même erreur.
Fatal error: Call to a member function rowCount() on a non-object in C:\wamp\www\Project\Portfolio\login.php on line
sans le rowCount il me sort
boolean false
Code boolean false
<?php $auth = 0; ?>
<?php include'lib/includes_css_nonav.php' ?>
<?php include 'lib/includes.php' ?>
<?php include 'partials/header_login.php ' ?>
<!--Systeme de connection-->
<?php
if(isset($_POST'username']) && isset($_POST'password'])){
$username = $db->quote($_POST'username']);
$password = sha1($_POST'password']);
$select = $db->query("SELECT * FROM users WHERE username=$username AND password='$password'");
var_dump($select); // debug
}
?>
<!--Formulaire de conection -->
<div class="container">
<div class="row">
<form action="#" method="post">
<div class="input-group col-lg-3 col-xs-5 col-md-2 col-ms-2 col-lg-offset-4 col-xs-offset-0 col-md-offset-5 col-sm-offset-4">
<span class="input-group-addon icon-user"><i class="glyphicon glyphicon-user"></i></span>
<?= input('username') ?>
</div>
<div class="input-group col-lg-3 col-xs-5 col-md-2 col-ms-2 col-lg-offset-4 col-xs-offset-0 col-md-offset-5 col-sm-offset-4">
<span class="input-group-addon"><i class="glyphicon glyphicon-pencil"></i></span>
<input type="password" class="form-control input-medium" placeholder="Mot de passe" id="password" name="password">
</div>
<button type="submit" class="btn btn-default col-xs-offset-6 col-sm-offset-10 col-md-offset-8 col-lg-offset-8 ">Se connecter</button>
</form>
</div>
</div>
<!--innclude-->