IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

probleme de fetch [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Par défaut probleme de fetch
    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

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu n'as pas fais la preparation et tu t'es complétement mélangé dans le nom de tes variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sth = $pdo->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass');
    $sth->execute(array(':pseudo' => $pseudo, ':pass' => $pass_hache));
    $resultat = $sth->fetch();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Par défaut
    bien vu le prépare je me disais il manque quelques chose
    merci sabotage
    +1
    peu tu me dire a quoi serve les :qui sont avant la variable dans la requête stp ??

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est pour indiquer qu'il s'agit d'un paramètre dans la requête.
    Un peu comme le $ en PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] probleme avec un fetch array
    Par Kuchiki Byakuya dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/03/2010, 13h37
  2. [MySQL] probleme :mysql_ fetch _array
    Par youssef222 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/02/2009, 00h03
  3. probleme avec mysql fetch array
    Par philsand77 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/04/2007, 07h56
  4. [HQL]Problème avec double join fetch
    Par zev dans le forum Hibernate
    Réponses: 1
    Dernier message: 05/12/2006, 09h59
  5. fetch d'un cursor dynamique probleme
    Par juin29 dans le forum Oracle
    Réponses: 1
    Dernier message: 24/11/2006, 07h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo