bonjour je suis en train de faire un espace membres
mais semble que j'ai une erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\crud\connexion.php on line 36
voici mon code de connexion :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php 
 
	if ( !empty($_POST)) {
		// verification que ca n'est pas vide
		$pseudoError = null;
		$passError = null;
 
		// transformation en varialbe ceux qui a etais poster
		$pseudo = $_POST['pseudo'];
		$pass = $_POST['pass'];
 
		// si un champ est oublier alors on fait un rappel a l'ordre
		$valid = true;
		if (empty($pseudo)) {
			$pseudoError = 'Taper votre pseudo';
			$valid = false;
		}
 
		if (empty($pass)) {
			$passError = 'Taper votre password';
			$valid = false;
		}
		// on envoi les données en db
	if ($valid) {
			include 'database.php';
			$pass_hache = sha1($_POST['pass']);
					   $pdo = Database::connect();
					   $sql = 'SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass';
	 				   //$sql->execute(array(
					   $sql = (array(
 
    'pseudo' => $pseudo,
 
    'pass' => $pass_hache));
 
$resultat = $sql->fetch();
 
		if (!$resultat)
				{
				echo '<p>Mauvais identifiant ou mot de passe !</p>';
				}
 
		else
				{
				session_start();
				$_SESSION['id'] = $resultat['id'];
				$_SESSION['pseudo'] = $pseudo;
				echo 'Vous êtes connecté !';
				}
					   Database::disconnect();
					   header("Location: profil.php");
				}
			}
				  ?>
 
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>
 
	<body>
    	<div class="container">
				<div class="span10 offset1">
    				<div class="row">
		    			<h3>Connexion</h3>
		    		</div>
 
	    			<form class="form-horizontal" action="connexion.php" method="post">
 
					  <div class="control-group <?php echo !empty($pseudoError)?'error':'';?>">
					    <label class="control-label">pseudo</label>
					    <div class="controls">
					      	<input name="pseudo" type="text"  placeholder="pseudo" value="<?php echo !empty($pseudo)?$pseudo:'';?>">
					      	<?php if (!empty($pseudoError)): ?>
					      		<span class="help-inline"><?php echo $pseudoError;?></span>
					      	<?php endif; ?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($passError)?'error':'';?>">
					    <label class="control-label">password</label>
					    <div class="controls">
					      	<input name="pass" type="text"  placeholder="Password" value="<?php echo !empty($pass)?$pass:'';?>">
					      	<?php if (!empty($passError)): ?>
					      		<span class="help-inline"><?php echo $passError;?></span>
					      	<?php endif; ?>
					    </div>
					  </div>
 
					  <div class="form-actions">
						  <button type="submit" class="btn btn-success">Create</button>
						  <a class="btn" href="index.php">Back</a>
						</div>
					</form>
				</div>
 
		</div> <!-- /container -->
  </body>
</html>
si quelqu'un pouvez m'aider svp que là je sèche mon fetch me parait correct pourtant il va recuperer la ligne recherché en db
merci de votre aide et de vos réponse