[php] probleme liaison base de données
Bonjour,
J'ai un petit probleme avec mon site (projet pour le bac). Il semblerait qu'il y ait un probleme de liaison entre la base de données é le site. voir : gipn56.free.fr/inscription
Essayez de vous inscrire vous verez le probleme.
Ci-dessous vous verez les scripts de mes différents fichiers php :
***conf.php***
<?
$host="sql.free.fr";
$user="gipn56";//nom d'utilisateur
$pass="mon mot de pass";//mot de pass
$base="gipn56";//nom de la bases de données
$connect=mysql_connect($host,$user,$pass);
mysql_select_db($base, $connect);
?>
***connect.php***
<?php
if($action=="deconnexion"){
session_start();
$_SESSION = array();
session_destroy();
}
?>
<form action="connect2.php" method='post'>
<table align="left" border="0" class="text1">
<tr>
<td>Pseudo :</td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Mot de Passe :</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion"></td>
</tr>
</table>
</form></p>
***connect2.php***
<?
require("conf.php");
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from membres_tbl where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $password) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="membres.php" </SCRIPT>';
}
}
else {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>
***inscription.php***
<SCRIPT LANGUAGE="JavaScript">
function VerifForm(formulaire)
{
adresse = formulaire.mail.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);
if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
formulaire.submit();
return(true);
}
else
{
alert('Entrez une adresse e-mail valide!!');
return(false);
}
}
</SCRIPT>
<form action="inscription2.php" method='post' onSubmit="return(VerifForm(this))">
<table width="280" border="0" class="text1">
<tr>
<td width="125" height="24">Pseudo :</td>
<td width="145"> <div align="left">
<input type="text" name="login">
</div></td>
</tr>
<tr>
<td height="24">Mot de Passe :</td>
<td> <div align="left">
<input type="password" name="password">
</div></td>
</tr>
<tr>
<td>Adresse Email :</td>
<td><input type="text" name="mail"></td>
</tr>
<br>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="S'inscrire"></td>
</tr>
</table>
</form></p>
***inscription2.php***
<?
include('conf.php');
$login= $_POST['login'];
$password= $_POST['password'];
$mail= $_POST['mail'];
$requete=mysql_query("INSERT INTO membres_tbl VALUES('','$_POST[login]','$_POST[password]','$_POST[mail]','$_POST[nom]','$_POST[prenom]','$_POST[adresse]','$_POST[ville]','$_POST[codepostal]')");
echo ' <p>Vos informations ont bien été ajoutés, <a href="index.html">cliquez ici</a> pour vous identifier.</p>
';
?>
***membres.php***
<?
session_start();
if(!isset($_SESSION['login'])) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>
<?php echo '<p>Bonjour ',$_SESSION['login'],'</p>';
?>
<a href="connect.php?action=deconnexion">Déconnexion</a>
==> voila vous avez tout. Merci pour vos réponses ;)
J'ai un petit probleme avec mon site (projet pour le bac). Il semblerait qu'il y ait un probleme de liaison entre la base de données é le site. voir : gipn56.free.fr/inscription
Essayez de vous inscrire vous verez le probleme.
Ci-dessous vous verez les scripts de mes différents fichiers php :
***conf.php***
<?
$host="sql.free.fr";
$user="gipn56";//nom d'utilisateur
$pass="mon mot de pass";//mot de pass
$base="gipn56";//nom de la bases de données
$connect=mysql_connect($host,$user,$pass);
mysql_select_db($base, $connect);
?>
***connect.php***
<?php
if($action=="deconnexion"){
session_start();
$_SESSION = array();
session_destroy();
}
?>
<form action="connect2.php" method='post'>
<table align="left" border="0" class="text1">
<tr>
<td>Pseudo :</td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Mot de Passe :</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Connexion"></td>
</tr>
</table>
</form></p>
***connect2.php***
<?
require("conf.php");
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from membres_tbl where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['password'] != $password) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="membres.php" </SCRIPT>';
}
}
else {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>
***inscription.php***
<SCRIPT LANGUAGE="JavaScript">
function VerifForm(formulaire)
{
adresse = formulaire.mail.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);
if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
formulaire.submit();
return(true);
}
else
{
alert('Entrez une adresse e-mail valide!!');
return(false);
}
}
</SCRIPT>
<form action="inscription2.php" method='post' onSubmit="return(VerifForm(this))">
<table width="280" border="0" class="text1">
<tr>
<td width="125" height="24">Pseudo :</td>
<td width="145"> <div align="left">
<input type="text" name="login">
</div></td>
</tr>
<tr>
<td height="24">Mot de Passe :</td>
<td> <div align="left">
<input type="password" name="password">
</div></td>
</tr>
<tr>
<td>Adresse Email :</td>
<td><input type="text" name="mail"></td>
</tr>
<br>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="S'inscrire"></td>
</tr>
</table>
</form></p>
***inscription2.php***
<?
include('conf.php');
$login= $_POST['login'];
$password= $_POST['password'];
$mail= $_POST['mail'];
$requete=mysql_query("INSERT INTO membres_tbl VALUES('','$_POST[login]','$_POST[password]','$_POST[mail]','$_POST[nom]','$_POST[prenom]','$_POST[adresse]','$_POST[ville]','$_POST[codepostal]')");
echo ' <p>Vos informations ont bien été ajoutés, <a href="index.html">cliquez ici</a> pour vous identifier.</p>
';
?>
***membres.php***
<?
session_start();
if(!isset($_SESSION['login'])) {
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="connect.php" </SCRIPT>';
exit;
}
?>
<?php echo '<p>Bonjour ',$_SESSION['login'],'</p>';
?>
<a href="connect.php?action=deconnexion">Déconnexion</a>
==> voila vous avez tout. Merci pour vos réponses ;)
Configuration: Windows Vista Internet Explorer 7.0
36 réponses
Résumé de la discussion
Problème de liaison entre la base de données et le site, avec des scripts PHP utilisant mysql_connect et un accès à sql.free.fr, entraînant des échecs lors des inscriptions et de l'authentification. Des réponses suggèrent de revoir le code et les redirections, de corriger les identifiants et l'hôte, d'utiliser une authentification et une navigation vers les pages membres ou index, selon le contexte. Plusieurs participants évoquent la distinction entre PHP4 et MySQL, l'utilisation de pages PHP vs HTML, et l'erreur possible chez l'hébergeur Free, avec des conseils comme tester l'inscription, vérifier l'hôte et les permissions.
-
je t'es envoyer les identifiants en message privé
-
A quel endroit il te le marque ?
Est ce que tu peut m'ouvrir un compte et m'envoyer les accès par mail stp ?
Merci
Yohan -
j'ai crée un deuxieme compte et en fait le probleme c'est qu'il quitte pas la première session avec laquelle tu t'es identifié.
1er essai : je me connecte avec le pseudo gipn56 é aprè il me met bonjour gipn56
2ème essai : je me connecte avec le pseudo ddd et après il me met bonjour gipn56 -
j'ai rien recu ni dans le courrier normal ni dans les indésirables.
Envoi-les sur gipn56-@-free.fr
(sans les -) -
C'est partie sur ton adresse mail hotmail
Yohan -
non j'ai rien recu
-
Tu as recut les miens ?
Yohan -
c'est bon je t'ai envoyé les fichiers
-
Salut,
Il faut que tu m'envoi tes fichiers la je ne pourrait te dire sans voir les bons fichiers.
Pour moi, il n'y a pas de doute c'est en rapport avec tes sessions PHP4.
Yohan -
Non c'est bon en fait j'avais le fichier en plusieurs exemplaire et j'avais pas envoyé le bon sur le ftp donc c'est bon tout est parfait.
Sauf que j'ai un nouveau probleme :
je fais des tests depuis tout a l'heure et j'arrive a m'identifier et quand j'atteris sur la page indexclient.php il me met bonjour gipn56. Donc jusque ici pas de probleme.
Mais j'ai un copain qu'a crée un compte (pseudo : laboule) et quand il s'identifie ca lui marque bonjour gipn56 aussi !? -
Excuse enleve les - mais pas celui qu'il y a entre le dif et le fm sinon marchera pa ! lol
-
Salut,
Renvoi moi les fichiers en ZIP sur ylerin-@-dif-fm.com.
Enleve les - pour m'envoyer le message -
j'ai remplacé comme tu m'as dit dans le fichier connect2.php membre.php par indexclient.html mais il me renvoit toujours sur membre.php
-
Salut,
Déjà, je pense qu'il va faloir que tu repense ton code pour savoir vraiment ce que tu veux faire et comment tu veux le faire. Ok, tu veux renvoyer vers la page indexclient.html mais l'HTML ne supporte pas le php à moins que ce ne soit derrière une page php renommé par l'URL rewriting ?
Sinon ta page indexclient est en php, tu as juste à faire un include dans ta page et puis voila.
Pour ce qui est de la redirection, dans ton fichier connect2.php, tu remplace dans le code javascript, membre.php par indexmembre.html
Yohan -
En fait la quand je m'identifie je suis envoyé sur la page membres.php alors que moi je voudrais etre envoyé sur la page indexclient.html en incluant le code de membres.php dans l'indexclient.html
-
Si j'ai bien compris ta logique, il faudrait que tu adapte ces codes à tes index, soit index soit indexmembre
Yohan -
ce que je veux dire c'est qu'il faut le mettre dans quelle page ? ou dans quel fichier php ?
-
Ce sont des morceaux de code a toi de l'adapter à tes codes
-
Ce sont des morceaux de script, après à toi d'adapter selon ton code
-
le script que tu m'as donné il faut que je le mette ou ?
- 1
- 2
Suivant