[Resolu][PHP] Problème de connexion a la base.
Dernière réponse : dans Programmation
Bonjour, ou plutôt bonsoir à cette heure tardive, je me suis lancé dans la création d'un site avec gérance des membres. Voila j'ai 3 fichier : login.php, login_form.inc et present.inc.
(Les noms d'utilisateur et autre de la BDD ont été transformé
)
Login.php :
login_form.inc :
present.inc :
Voila la connexion a ma BDD ne se fait pas
J'ai chercher ca viendrait de mon fichier present.inc car quand je remplace correctement dans les fichier cela fonctionne mais dès que je fais ça par variable cela plante... Même en définissant les variables dans le fichier cela ne fonctionne pas!
Merci de votre aide.
Cordialement.
(Les noms d'utilisateur et autre de la BDD ont été transformé
)Login.php :
<?php
@session_start();
include("present.inc");
switch (@$_GET['do'])
{case "login":
$connexion = mysql_connect($host, $user, $password);
//or die ("Connexion impossible au serveur");
$db = mysql_select_db($database, $connexion);
//or die ("la base de donnée ne peut être selectionné");
$sql = "SELECT Login FROM Membre WHERE Login='$_POST[nomUtilisateur]'";
$result = mysql_query($sql);
//or die ("Impossible d'executer la requete");
$num = mysql_nums_row($result);
if ($num == 1) //Si Login trouvé
{ $sql = "SELECT Login FROM Membre WHERE Login='$_POST[nomUtilisateur]' AND pass=password('$_POST[motDepasse]')";
$result2 = mysql_query($sql);
//or die ("impossible d'executer la requete");
$num2 = mysql_num_rows($result2);
if ($num2 > 0) //mot de passe ok
{ $_SESSION['auth']="yes";
$logname = $_POST['nomUtilisateur'];
$_SESSION['logname'] = $logname;
$aujourdhui = date("Y-m-d h:i:s");
$sql = "INSERT INTO Login (Login, dateLogin) VALUES ('$logname', '$aujourdhui')";
mysql_query($sql)
or die ("Impossible d'executer la requete");
// usage fonction header !
if (!headers_sent()) {
header ("Location: indexmembres.php");
exit;
}
else //mdp incorrect
{ unset ($do);
$message = "Le pseudo '$_POST[nomUtilisateur]' existe déjà, mais le mot de passe est incorrect.<br>";
include("login_form.inc");
}
}
elseif ($num == 0) //login absent
{unset ($do);
$message = "Le pseudo est incorrect ou inexistant.<br>";
include("logun_form.inc");
}
break;
case "new":
foreach($_POST as $clé => $valeur)
{
if ($clé != "fax")
{
unset($_GET['do']);
$message_new = "Il manque des informations obligatoires.";
include("login_form.inc");
exit();
}
}
if (ereg("(nom)",$clé))
{
if(!ereg("^[A-Za-z' éèêëàâîïôûùü-]{1,50}$", stripslashes($valeur)))
{
unset($_GET['do']);
$message_new="$clé n'est pas un nom valide.";
include("login_form.inc");
exit();
}
}
$$clé = strip_tags(trim($valeur));
}
if (! ereg("^.+@.+\\..+$",$_POST['email']))
{
unset($_GET['do']);
$message_new = "Email non valide.";
include("login_form.inc");
exit();
}
//Login déjà existant ?
$connection = mysql_connect($host, $user, $password);
//or die ("Connexion au serveur impossible");
$db = mysql_select_db($database, $connexion);
//or die ("Impossible de selection la base de donnée");
$sql = "SELECT Login FROM Membre WHERE Login='$_POST[Pseudo]'";
$result = mysql_query($sql);
//or die ("Impossible d'executer la requete");
$num = mysql_numrows($result);
if ($num > 0)
{
unset($_GET['do']);
$message_new = "Ce Pseudo est déjà utilisé.";
include("login_form.inc");
exit();
}
else
{ $aujourdhui = date("Y-m-d");
$sql = "INSERT INTO Membre (Login,creation,pass,nom,prenom,email) VALUES ('$_POST[Pseudo]','$aujourdhui',password('$_POST[newpass]'),'$_POST[nom]','$_POST[prenom]','$_POST[email]')";
if (! mysql_query($sql))
{
echo mysql_errno()." : ".mysql_error();
exit;
}
$nomUtilisateur = $_POST['Pseudo'];
$_SESSION['auth']="yes";
$_SESSION['logname'] = $nomUtilisateur;
// envoyer mail au nouveau membre
$message =
"Un nouveau compte viens d'être crée pour vous. ".
"Vos identifiants sont :".
"\n\n\t$nomUtilisateur\n\t$_POST[newpass]\n\n".
"Merci de vous être inscrit et bon surf sur Recit et poèmes. ".
"Contact : webmaster@recit-et-poeme.com";
$entete="De : membres@recit-et-poeme.com\r\n";
$sujet = "Votre nouveau compte";
$adresse = $_POST['email'];
$mailsen=mail("$adresse","$sujet","$message","$entete");
// fonction header !
/*
if (!header_sent()) {
header ("Location: NomveauMembre.inc");
exit;
}*/
include("NouveauMembre.php");
exit();
}
break;
default:
include("login_form.inc");
}
?>
login_form.inc :
<?php
/*
Affiche deux formulaire : le premier pour la connexion avec un login déjà crée, le deuxième permet de s'enregistrer.
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" lang="fr">
<head>
<title>Recits et mots.fr</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="icon" type="image/png" href="images/favicon.png" />
<link href="main.css" rel="stylesheet" media="screen" type="text/css" title="design" />
</head>
<body>
<?php include("header.php"); ?>
<?php include("menu.php"); ?>
<div id=corp>
<h2>Connexion des membres et inscription des nouveaux membres.</h2>
<tr>
<td width="33%" valign="top">
<font size="+1"><b>Etes-vous déjà membre?</b></font>
<p>
<!-- Login des nouveaux membres -->
<form action="Login.php?do=login" method="post">
<table border="0">
<?php
if (isset($message))
echo "<tr><td colspan='2'>$message </td></tr>";
?>
<tr><td align="right"><b>Nom de login</b></td>
<td><input type="text" name="nomUtilisateur" size="20"
maxsize="20">
</tr></td>
<tr><td width="120" align="right"><b>Mot de passe</b></td>
<td><input type="password" name="motDePasse" size="20"
maxsize="20">
</tr></td>
<tr><td align="center" colspan="2">
<br><input type="submit" name="log" Valuer="Identifiez-vous!"></td></tr>
</table>
</form>
</td>
<td width="1" bgcolor="gray"></td>
<td width="67%">
<p><font size="+1"><b>Pas encore membre?</b></font>
Une offre spécial, vous pouvez devenir auteur ici!
Nous vous permettons de poster des poèmes, des histoires
ou simplement des mots.
Remplissez le formulaire ci-après et rejoignez notre communeauté.
C'est simple, facile et gratuit!
</p>
<!-- Formulaire des nouveaux membres -->
<form action="login.php?do=new" method="post">
<p>
<table border="0" width="100%">
<?php
if (isset($message_new))
echo "<tr><td colspan='2'><b>$message_new</b></td></tr>";
?>
<tr><td align="right"><b>Pseudo</b></td>
<td><input type="text" name="Pseudo" value="<?php echo @$_POST['Pseudo'] ?>"
size="20" maxlength="20"></td></tr>
<tr><td align="right"><b>Mot de passe</b></td>
<td><input type="password" name="newpass" value="<?php echo @$_POST['newPass'] ?>"
size="10" maxlength="8"></td></tr>
<tr><td align="right"><b>Prenom</b></td>
<td><input type="text" name="Prenom" value="<?php echo @$_POST['prénom'] ?>"
size="40" maxlength="40"></td></tr>
<tr><td align="right"><b>Nom</b></td>
<td><input type="text" name="nom" value="<?php echo @$_POST['nom'] ?>"
size="40" maxlength="40"></td></tr>
<tr><td align="right"><b>e-mail</b></td>
<td><input type="test" name="email" value="<?php echo @$_POST['email'] ?>"
size="55" maxlength="67"></td></tr>
<tr><td> </td>
<td align="center">
<input="submit" value="Enregistrez-vous"></td>
</tr>
</table>
</form>
</td>
</tr>
<tr><td colspan="3" bgcolor="gray"> </td></tr>
</table>
<br>
<div align="center"><font size="-1">
Nous apprecierons vos commentaires et vos suggestion, merci de les adresser à <a href="mailto:Baptiste.Lemarcis@live.fr">webmaster@recit-et-poeme.com</a>
</font>
</div>
</div>
<?php include("footer.php"); ?>
</body>
</html>
present.inc :
<?php
$user="teste76";
$host="localhost";
$password="poulpe";
$database="teste76";
?>
Voila la connexion a ma BDD ne se fait pas
J'ai chercher ca viendrait de mon fichier present.inc car quand je remplace correctement dans les fichier cela fonctionne mais dès que je fais ça par variable cela plante... Même en définissant les variables dans le fichier cela ne fonctionne pas!Merci de votre aide.
Cordialement.
Autres pages sur : resolu php probleme connexion base
Lassé par la pub ? Créez un compte
J'ai bien l'impression que c'est au tout début de mon script lorsqu'il doit se connecter à la BDD je pense que c'est a cause du fichier present.inc la je viens de supprimer les or die, j'avais fait la même dans mon index et c'était les or die qui m'empêchais de l'afficher, sinon je n'ai aucune erreur simplement une page blanche
$connexion = mysql_connect($host, $user, $password) or die (mysql_error());
$db = mysql_select_db($database, $connexion) or die (mysql_error());
retourne nous le message envoyé, si ce n'est pas la connexion à la base de donnée, c'est l'architecture de l'une de tes requete, donc modifie aussi les or die de tes requete par mysql_error() afin d'avoir une erreur plus claire retournée.
$db = mysql_select_db($database, $connexion) or die (mysql_error());
retourne nous le message envoyé, si ce n'est pas la connexion à la base de donnée, c'est l'architecture de l'une de tes requete, donc modifie aussi les or die de tes requete par mysql_error() afin d'avoir une erreur plus claire retournée.
Voila, je viens de corriger le fichier, seulement cela ne fonctionne toujours pas
login.php
login_form.inc
EDIT :
Après correction de toutes les fautes de frappes je les reposte, normalement tout est ok niveau syntaxe, niveau code j'ai regardé j'ai rien trouver, par contre mon fichier present.inc fonctionne bien...
login.php
<?php
error_reporting(E_ALL);
display_errors(1);
@session_start();
include("present.inc");
switch (@$_GET['do'])
{case "login":
$connexion = mysql_connect($host, $user, $password) or die (mysql_error());
$db = mysql_select_db($database, $connexion) or die (mysql_error());
$sql = "SELECT Login FROM Membre WHERE Login='$_POST[nomUtilisateur]'";
$result = mysql_query($sql) or die (mysql_error());
$num = mysql_nums_row($result);
if ($num == 1) //Si Login trouvé
{ $sql = "SELECT Login FROM Membre WHERE Login='$_POST[nomUtilisateur]' AND pass=password('$_POST[motDePasse]')";
$result2 = mysql_query($sql);
$num2 = mysql_num_rows($result2);
if ($num2 > 0) //mot de passe ok
{ $_SESSION['auth']="yes";
$logname = $_POST['nomUtilisateur'];
$_SESSION['logname'] = $logname;
$aujourdhui = date("Y-m-d h:i:s");
$sql = "INSERT INTO Login (Login, dateLogin) VALUES ('$logname', '$aujourdhui')";
mysql_query($sql) or die (mysql_error());
}
// usage fonction header !
if (!headers_sent()) {
header ("Location: indexmembres.php");
exit;
}
else //mdp incorrect
{ unset ($do);
$message = "Le pseudo '$_POST[nomUtilisateur]' existe déjà, mais le mot de passe est incorrect.<br>";
include("login_form.inc");
}
}
elseif ($num == 0) //login absent
{unset ($do);
$message = "Le pseudo est incorrect ou inexistant.<br>";
include("login_form.inc");
}
break;
case "new":
foreach($_POST as $clé => $valeur)
{
if ($clé != "fax")
{
if ($valeur == "")
{
unset($_GET['do']);
$message_new = "Il manque des informations obligatoires.";
include("login_form.inc");
exit();
}
}
if (ereg("(nom)",$clé))
{
if(!ereg("^[A-Za-z' éèêëàâîïôûùü-]{1,50}$", stripslashes($valeur)))
{
unset($_GET['do']);
$message_new="$clé n'est pas un nom valide.";
include("login_form.inc");
exit();
}
}
$$clé = strip_tags(trim($valeur));
} //fin foreach
if (! ereg("^.+@.+\\..+$",$_POST['email']))
{
unset($_GET['do']);
$message_new = "Email non valide.";
include("login_form.inc");
exit();
}
//Login déjà existant ?
$connexion = mysql_connect($host, $user, $password) or die (mysql_error());
$db = mysql_select_db($database, $connexion) or die (mysql_error());
$sql = "SELECT Login FROM Membre WHERE Login='$_POST[Pseudo]'";
$result = mysql_query($sql);
$num = mysql_numrows($result);
if ($num > 0)
{
unset($_GET['do']);
$message_new = "Ce Pseudo est déjà utilisé.";
include("login_form.inc");
exit();
}
else
{ $aujourdhui = date("Y-m-d");
$sql = "INSERT INTO Membre (Login, creation, pass, nom, prenom, email) VALUES ('$_POST[Pseudo]', '$aujourdhui', password('$_POST[newpass]'), '$_POST[nom]', '$_POST[Prenom]', '$_POST[email]')";
if (! mysql_query($sql))
{
echo mysql_errno()." : ".mysql_error();
exit;
}
$nomUtilisateur = $_POST['Pseudo'];
$_SESSION['auth']="yes";
$_SESSION['logname'] = $nomUtilisateur;
// envoyer mail au nouveau membre
$message =
"Un nouveau compte viens d'être crée pour vous. ".
"Vos identifiants sont :".
"\n\n\t$nomUtilisateur\n\t$_POST[newpass]\n\n".
"Merci de vous être inscrit et bon surf sur Recit et poèmes. ".
"Contact : webmaster@recit-et-poeme.com";
$entete="De : membres@recit-et-poeme.com\r\n";
$sujet = "Votre nouveau compte";
$adresse = $_POST['email'];
$mailsen = mail("$adresse","$sujet","$message","$entete");
// fonction header !
/*
if (!header_sent()) {
header ("Location: NomveauMembre.inc");
exit;
}*/
include("indexmembre.php");
exit();
}
break;
default:
include("login_form.inc");
}
?>
login_form.inc
<?php
/*
Affiche deux formulaire : le premier pour la connexion avec un login déjà crée, le deuxième permet de s'enregistrer.
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" lang="fr">
<head>
<title>Recits et mots.fr</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="icon" type="image/png" href="images/favicon.png" />
<link href="main.css" rel="stylesheet" media="screen" type="text/css" title="design" />
</head>
<body topmargin="0" leftmargin="" marginheight="0" marginwidth="0">
<?php include("header.php"); ?>
<?php include("menu.php"); ?>
<div id=corp>
<h2>Connexion des membres et inscription des nouveaux membres.</h2>
<tr>
<td width="33%" valign="top">
<font size="+1"><b>Etes-vous déjà membre?</b></font>
</td>
</tr>
<p>
<!-- Login des nouveaux membres -->
<form action="login.php?do=login" method="post">
<table border="0">
<?php
if (isset($message))
echo "<tr><td colspan='2'>$message </td></tr>";
?>
<tr><td align="right"><b>Nom de login</b></td>
<td><input type="text" name="nomUtilisateur" size="20" maxsize="20"/>
</tr></td>
<tr><td width="120" align="right"><b>Mot de passe</b></td>
<td><input type="password" name="motDePasse" size="20" maxsize="20"/>
</tr></td>
<tr><td align="center" colspan="2">
<br><input type="submit" name="log" Valuer="Identifiez-vous!"/></td></tr>
</table>
</form>
</td>
<td width="1" bgcolor="gray"></td>
<td width="67%">
<p><font size="+1"><b>Pas encore membre?</b></font>
Une offre spécial, vous pouvez devenir auteur ici!
Nous vous permettons de poster des poèmes, des histoires
ou simplement des mots.
Remplissez le formulaire ci-après et rejoignez notre communeauté.
C'est simple, facile et gratuit!
</p>
</td>
</p>
<!-- Formulaire des nouveaux membres -->
<form action="login.php?do=new" method="post">
<p>
<table border="0" width="100%">
<?php
if (isset($message_new))
echo "<tr><td colspan='2'><b>$message_new</b></td></tr>";
?>
<tr><td align="right"><b>Pseudo</b></td>
<td><input type="text" name="Pseudo" value="<?php echo @$_POST['Pseudo'] ?>" size="20" maxlength="20"/></td></tr>
<tr><td align="right"><b>Mot de passe</b></td>
<td><input type="password" name="newpass" value="<?php echo @$_POST['newpass'] ?>" size="10" maxlength="8"/></td></tr>
<tr><td align="right"><b>Prenom</b></td>
<td><input type="text" name="Prenom" value="<?php echo @$_POST['Prenom'] ?>" size="40" maxlength="40"/></td></tr>
<tr><td align="right"><b>Nom</b></td>
<td><input type="text" name="nom" value="<?php echo @$_POST['nom'] ?>" size="40" maxlength="40"/></td></tr>
<tr><td align="right"><b>e-mail</b></td>
<td><input type="test" name="email" value="<?php echo @$_POST['email'] ?>" size="55" maxlength="67"></td></tr>
<tr><td> </td>
<td align="center">
<input="submit" value="Enregistrez-vous"/></td>
</tr>
</table>
</form>
</p>
<tr><td colspan="3" bgcolor="gray"> </td></tr>
<div align="center"><font size="-1">
Nous apprecierons vos commentaires et vos suggestion, merci de les adresser à <a href="mailto:Baptiste.Lemarcis@live.fr">webmaster@recit-et-poeme.com</a>
</font>
</div>
</div>
<?php include("footer.php"); ?>
</body>
</html>
EDIT :
Après correction de toutes les fautes de frappes je les reposte, normalement tout est ok niveau syntaxe, niveau code j'ai regardé j'ai rien trouver, par contre mon fichier present.inc fonctionne bien...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumConnexion a une base oracle avec php
- ForumConnexion a une base oracle en php
- ForumConnexion base mysql avec php
- ForumJava probleme de connexion a une base
- ForumPhp connexion a une base mysql
- ForumPhp connexion a la base de donnees
- ForumConnexion base sql server php
- ForumProbleme de connexion a la base sql
- solutionsProbleme connexion base de donne
- ForumConnexion base de donnee postgres php
- Voir plus