Page 1 sur 1

Erreur connexion

Posté : 10 sept. 2012, 21:34
par Larker
Bonsoir à tous,

J'aurais besoin d'aide sur un formulaire en php qui m'affiche cette erreur :

Fatal error: Call to a member function query() on a non-object in /public_html/dossier1/connexion.php on line 11

Voici le fichier connexion.php

<?php
session_start();
require('fonction.php');
require('base.php');


if(!empty($_POST['pseudo']) && !empty($_POST['password']))
{
    $bdd = ConnexionSql();
    
   	   $reponse = $bdd->query('SELECT * FROM joueurs WHERE pseudo="'.$_POST['pseudo'].'"')or die(mysql_error());
	   $donnees = $reponse->fetch();
       
    
    $_SESSION['id'] = $donnees['id'];
    
    $_SESSION['Passe'] = $_POST['password'];
    $_SESSION['PasseC] = md5($_POST['password']);
	$_SESSION['Message'] = TRUE;
 
    header('location: index.php');
}
else
{
?>
<h1>Connexion </h1>
<p>Bienvenue sur<?php echo NOM_site; ?>
<form action="" method="POST">
<input type="text" name="pseudo" value="Pseudo" />
<input type="password" name="password" value="Password" />
<input type="submit" name="connexion" value="Connexion"/>
</form>
<?php
}
?>

Merci à ceux qui pourront m'aider ;)

Re: Erreur connexion

Posté : 10 sept. 2012, 23:52
par moogli
salut,

$bdd = ConnexionSql();

ne retourne pas un objet il te faut debuguer

attention il te manque une ' (regarde avec la colorisation de la syntaxe).


@+

Re: Erreur connexion

Posté : 11 sept. 2012, 19:10
par Larker
C'est bon j'ai rajouté le ' qu'il manquait après PassC.
Donc comment puis je résoudre mon problème de connexion exactement svp, car je ne suis pas très expérimenté en ce qui concerne les bugs et autres ?

Re: Erreur connexion

Posté : 11 sept. 2012, 20:17
par xTG
Aller voir dans la fonction connexionSql() qui a de grande chance de comporter un problème avec les arguments de connexion (mauvais identifiant, mot de passe, nom de base de données, ect).
Mais surtout vérifier qu'il y a un return dans cette fonction et ce dans tous les cas.

Re: Erreur connexion

Posté : 11 sept. 2012, 20:24
par Larker
Pourtant j'ai bien mit les bons identifiants, voici mon fichiers sql :
<?php
function ConnexionSql()
{
 $mysql_host = "Nom_serveur";
 $mysql_user = "Nom_user";
 $mysql_passwd = "M_passe";
 $mysql_bdd = "Nom_base";

try
{
	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
	$bdd = new PDO('mysql:host='.$mysql_host.';dbname='.$mysql_bdd.'', $mysql_user, $mysql_passwd);
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}

echo 'OK';
}

function connect_pe()
{
 $mysql_host = "Nom_serveur" ;
 $mysql_user = "Nom_user" ;
 $mysql_passwd = "Nom_base" ;

function connect_fo()
{
	include('connection/mysql.php');
	mysql_connect($mysql_host, $mysql_user, $mysql_passwd);
	mysql_select_db($mysql_bdd3);
}

?> 

Re: Erreur connexion

Posté : 11 sept. 2012, 20:43
par Larker
Mais bon ça met bien que l'erreur est à la ligne 11 du ficher connexion qui renvoie à cette ligne :
  $reponse = $bdd->query('SELECT * FROM joueurs WHERE pseudo="'.$_POST['pseudo'].'"')or die(mysql_error());

Re: Erreur connexion

Posté : 11 sept. 2012, 23:27
par moogli
Mais bon ça met bien que l'erreur est à la ligne 11 du ficher connexion qui renvoie à cette ligne :
simplement parce que c'est la qu'est l'erreur !!!!

le truc c'est que ta fonction ConnexionSqlne retourne rien (il manque le mot clef : return)

c'est pour cela que tu as cette erreur !

ajoute return $bdd; à la fin de cette fonction !

Je te conseil de relire l'utilisation des fonctions.

de plus ton code des deux autres n'est pas syntaxiquement correcte et je ne vois pas à quoi elles servent . il ne faut pas mélanger l'utilisation de PDO et de l'extension mysql


@+

Re: Erreur connexion

Posté : 12 sept. 2012, 12:02
par Larker
ça ne marche toujours pas une fois que j'ai ajouté return $bdd;

Donc je comprend vraiment pas ...

Re: Erreur connexion

Posté : 12 sept. 2012, 13:55
par xTG
Montres nous la modification effectuée.