Zone Membre / Base de Donnée

Fermé
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 - 20 juin 2009 à 16:58
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 - 25 juin 2009 à 12:05
Bonjour, Comme je l'ai dis dans le titre , jai crée un espace membre .Je voudrai interroger ma base de donnée pour savoir si le visiteur qui se connecte est bien membre de mon site . Si oui je voudrai afficher des infos sur lui provenant de ma base de donnée

le fichier index.php

<form action="login.php" method="POST">
<table>
<td>Nom : </td><td><input type="text" name="nom" /></td></tr>
<tr>
<td>Prenoms : </td><td><input type="text" name="prenom" /></td></tr>
<tr><td>Mot de Passe :</td><td> <input type="password" name="password"/></td></tr>
<tr><td><input type="submit" value="Connexion"></td></tr>
</table>
</form>
<p><u><a href="inscription_membres.html">Pas encore inscrit ? cliquez ici</a></u></p>

le fichier login.php

<?php
// on teste si nos variables sont définies
if (isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['password'])) {
// je vérifie les informations du formulaire nom , prenom et le mot de pass
if ($nom == $_POST['nom'] && $prenom == $_POST['prenom']&& $password==$_POST['password']) {
// je demarre ma session
session_start ();
// on enregistre les paramètres du membre
$_SESSION['nom'] = $_POST['nom'];
$_SESSION['prenom']=$_POST['prenom'];
$_SESSION['password'] = $_POST['password'];
// je redirige le membre vers la section membre
header ('location: page_membre.php');
}
else {
echo '<body onLoad="alert(\'Membre non reconnu...\')">';

echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?>


le fichier zone_membre.php

<?php
session_start ();
// On récupère nos variables de session
if (isset($_SESSION['nom']) && isset($_SESSION['prenom']) && isset($_SESSION['password'])) {
mysql_connect("localhost","root","");
mysql_select_db("ma_base");
// On teste pour voir si nos variables ont bien été enregistrées
echo '<html>';
echo '<head>';
echo '<title>Page Membre</title>';
echo '</head>';
echo '<body>';
echo '<center><h2><p></p>';
echo 'Bienvenue '.$_SESSION['nom'].' '.$_SESSION
['prenom'].'.';
echo 'mysql_query("SELECT * FROM 10000amis") or die(mysql_error());'
echo '<br />';
// fermeture de notre session
echo '<a href="./logout.php">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
echo '</h2></center>';
?>

Merci au site phpfacile.com pour le tuto

8 réponses

Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
20 juin 2009 à 17:30
Essaye ceci :

le fichier index.php

<form action="login.php" method="POST">
<table>
<td>Nom : </td><td><input type="text" name="nom" /></td></tr>
<tr>
<td>Prenoms : </td><td><input type="text" name="prenom" /></td></tr>
<tr><td>Mot de Passe :</td><td> <input type="password" name="password"/></td></tr>
<tr><td><input type="submit" value="Connexion"></td></tr>
</table>
</form>
<p><u><a href="inscription_membres.html">Pas encore inscrit ? cliquez ici</a></u></p>


le fichier login.php

<?php
// on teste si nos variables sont définies
if (isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['password'])) {
// je vérifie les informations du formulaire nom , prenom et le mot de pass
mysql_connect("localhost","root","");
mysql_select_db("ma_base");
$data = mysql_fetch_array(mysql_query("SELECT * INTO table_inscrits WHERE nom='".$_POST['nom']."' AND prenom='".$_POST['prenom']."' AND password='".$_POST['password']."'"));
if ($data['nom'] == $_POST['nom'] && $data['prenom'] == $_POST['prenom']&& $data['password'] == $_POST['password']) {
// je demarre ma session
session_start ();
// on enregistre les paramètres du membre
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom']=$data['prenom'];
$_SESSION['password'] = $data['password'];
mysql_close();
// je redirige le membre vers la section membre
header ('location: page_membre.php');
}
else {
echo '<body onLoad="alert(\'Membre non reconnu...\')">';

echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?>



le fichier zone_membre.php

<?php
session_start ();
// On récupère nos variables de session
if (isset($_SESSION['nom']) && isset($_SESSION['prenom']) && isset($_SESSION['password'])) {
mysql_connect("localhost","root","");
mysql_select_db("ma_base");
// On teste pour voir si nos variables ont bien été enregistrées
echo '<html>';
echo '<head>';
echo '<title>Page Membre</title>';
echo '</head>';
echo '<body>';
echo '<center><h2><p></p>';
echo 'Bienvenue '.$_SESSION['nom'].' '.$_SESSION
['prenom'].'.';
echo 'mysql_query("SELECT * FROM 10000amis") or die(mysql_error());'
echo '<br />';
// fermeture de notre session
echo '<a href="./logout.php">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
echo '</h2></center>';
?> 
0
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 15
21 juin 2009 à 15:47
Bonjour Merci pour la reponse qui ma beaucoup aidez . Une erreur s'est glissée dans le fichier login.php c'est SELECT * FROM . Bref voila de nouveau mes fichiers :

login.php


<?php

// on teste si nos variables sont définies
if (isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['password'])) {

//je me connecte a ma BDD
mysql_connect("localhost", "user", "");
mysql_select_db("ma_base");

$data = mysql_fetch_array(mysql_query("SELECT * FROM ma_table WHERE nom='".$_POST['nom']."' AND prenom='".$_POST['prenom']."' AND password='".$_POST['password']."'"));
if ($data['nom'] == $_POST['nom'] && $data['prenom'] == $_POST['prenom']&& $data['password'] == $_POST['password']) {
// je demarre ma session
session_start ();
// on enregistre les paramètres du membre
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom']=$data['prenom'];
$_SESSION['password'] = $data['password'];
mysql_close();
// je redirige le membre vers la section membre
header ('location: page_membre.php');
}
else {
echo '<body onLoad="alert(\'Membre non reconnu...\')">';

echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?>


page_membre.php


<?php
// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
session_start ();
// On récupère nos variables de session
if (isset($_SESSION['nom']) && isset($_SESSION['prenom']) && isset($_SESSION['password'])) {

mysql_connect("localhost","user","");
mysql_select_db("ma_base");
$reponse = mysql_query("SELECT * FROM ma_table WHERE nom='".$_SESSION['nom']."' AND prenom='".$_SESSION['prenom']."' AND password='".$_SESSION['password']."'"); // Requête SQL
$reponse1 = mysql_query("SELECT * FROM ma_table WHERE nom='".$_SESSION['nom']."' AND prenom='".$_SESSION['prenom']."' AND password='".$_SESSION['password']."'"); // Requête SQL

?>

<?php

echo'
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=latin1">
</head>
<body> <center><h2> Bienvenue à votre compte </h2></center>

';
echo '<p></p>';

?>
<center><table border=3>

<?php
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )

{
?>


<tr><td>Nom :</td><td> <?php echo $donnees['nom'];?> </td></tr>
<tr><td>Prenom : </td><td><?php echo $donnees['prenom'];?></td></tr>
<tr><td>email : </td><td><?php echo $donnees['mail'];?></td></tr>
<tr><td>Address : </td><td><?php echo $donnees['address'];?></td></tr>
<tr><td>Téléphone : </td><td><?php echo $donnees['phone'];?></td></tr>
<tr><td>IP : </td><td><?php echo $_SERVER['REMOTE_ADDR'];?></td></tr>
<tr><td>pays :</td><td> <?php echo $donnees['pays'];?></td></tr>
<tr><td>ville :</td><td> <?php echo $donnees['ville'];?></td></tr>
</td></tr>

<?php
}
?></table></center>


<?php

echo'

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=latin1">
</head>
<body> <center><h2> Bilan de vos paiements</h2>
</center>
';
echo '<p></p>';

?>
<center><table border=3>
<tr ><th>No</td><th>Date</th><th>Montant</th></tr>
<?php
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees1 = mysql_fetch_array($reponse1) )

{
?>


<tr><td> <?php echo $donnees1['id'];?> </td> <td><?php echo $donnees1['date'];?></td><td> <?php echo $donnees1['montant'];?> </td></tr>

<?php
}
?></table></center>


<?php
// On affiche un lien pour fermer notre session
echo '<a href="./logout.php">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
echo '</h2></center>';
?>

donc dans la zone membre je voudrai afficher le bilan de cotisation des membres . je sais pas si je dois créer une nouvelle table puisque qu'un membre peut faire plusieurs fois un paiement sur différent jours et des montants différents .

Merci de votre aide.
0
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
21 juin 2009 à 16:20
Oui excuse-moi pour l'erreur ! ^^
Je pense que ce serait plus simple pour toi de créer une nouvelle table !
0
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 15
21 juin 2009 à 16:25
OK Mais mon probleme c'est la joncture en les deux tables c a d faire correspondre l'ID de ma table des membres et celle des cotisations . Dois je créer une table de cotisations pour chaque membres ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
21 juin 2009 à 16:29
Non, je ne pense pas....
Dans chaque table que tu veux lier, il faut que tu mettes un champs commun.
Et après tu regerdes les valeurs qui sont identiques entre les deux tables et tu récupères le memebre qui correspond !
0
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 15
21 juin 2009 à 21:54
Bonsoir

je n'arrive pas à afficher les informations de ma deuxième table .

fihcier page_membre.php

<?php
// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
session_start ();
// On récupère nos variables de session
if ( isset($_SESSION['nom']) && isset($_SESSION['prenom']) && isset($_SESSION['password'])) {

mysql_connect("localhost","user","");
mysql_select_db("ma_base");
$reponse = mysql_query("SELECT * FROM ma-table WHERE nom='".$_SESSION['nom']."' AND prenom='".$_SESSION['prenom']."' AND password='".$_SESSION['password']."'"); // Requête SQL
???????????????????????????????????????????????????????????????????????????????

$reponse1 = mysql_query("SELECT id,date,montant FROM ma_table2 WHERE * ma_table.mail=ma_table2.mail"); // Requête SQL *
*
???????????????????????????????????????????????????????????????????????????????
//UN probleme pour faire la joincture
?>

<?php

echo'
<html>
<body> <center><h2> Bienvenue à votre compte </h2></center>

';
echo '<p></p>';

?>
<center><table border=3>

<?php
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )

{
?>


<tr><td>Nom :</td><td> <?php echo $donnees['nom'];?> </td></tr>
<tr><td>Prenom : </td><td><?php echo $donnees['prenom'];?></td></tr>
<tr><td>email : </td><td><?php echo $donnees['mail'];?></td></tr>
<tr><td>Address : </td><td><?php echo $donnees['address'];?></td></tr>
<tr><td>Téléphone : </td><td><?php echo $donnees['phone'];?></td></tr>
<tr><td>IP : </td><td><?php echo $_SERVER['REMOTE_ADDR'];?></td></tr>
<tr><td>pays :</td><td> <?php echo $donnees['pays'];?></td></tr>
<tr><td>ville :</td><td> <?php echo $donnees['ville'];?></td></tr>
</td></tr>

<?php
}
?></table></center>


<?php

echo'

<html>
<body> <center><h2> Bilan de vos paiements</h2>
</center>
';
echo '<p></p>';

?>
<center><table border=3>
<tr class="row_first"><th>No</td><th>Date</th><th>Montant ( CFA )</th></tr>
<?php

?????????????????????????????????????????????????????????????????????????????????????????

// On fait une boucle pour lister tout ce que contient la table :
while ($donnees1 = mysql_fetch_array($reponse1) )

{
?>


<tr><td> <?php echo $donnees1['id'];?> </td><td><?php echo $donnees1['date'];?></td><td><?php echo $donnees1['montant'];?></td></tr>
<tr><td>Total : </td> <td><?php echo $donnees1['montant'];?></td></tr>

????????????????????????????????????????????????????????????????????????????????????????????

Mon Deuxieme probleme . J'ai crée une deuxieme table le champ mail identique à la premiere table . Donc je voudrai afficher les champ id , date et montant de l'utilisateur portant le mail identique aux deux tables

<?php
}
?></table></center>


<?php
// On affiche un lien pour fermer notre session
echo '<a href="./logout.php">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
echo '</h2></center>';
?>
0
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
21 juin 2009 à 23:28
Déjà, je pense savoir pourquoi ca ne s'affiche pas !!
remplaces :
$reponse = mysql_query("SELECT * FROM ma-table WHERE nom='".$_SESSION['nom']."' AND prenom='".$_SESSION['prenom']."' AND password='".$_SESSION['password']."'");

par :
$reponse = mysql_query("SELECT * FROM ma_table WHERE nom='".$_SESSION['nom']."' AND prenom='".$_SESSION['prenom']."' AND password='".$_SESSION['password']."'");

Pour le deuxième problème, je ne comprend pas trop : :(
0
newtech83 Messages postés 187 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 10 avril 2011 15
25 juin 2009 à 12:05
ok merci Ca marche now mais je n'arrive pas a créer une clé etrangere dans ma seconde table

la commande crée ma table1 mais m'affiche une erreur pour la table2

#1064 - Erreur de syntaxe près de 'REFERENCES table1(id)
ON DELETE CASCADE
) TYPE=INNODB' à la ligne 9



CREATE TABLE table1 (
id int(4) primary key auto_increment,
nom text ,
prenom text,
mail text ,
address text ,
phone text ,
password text ,
confirmation text ,
pays text ,
ville text ,
date text ,
ip text
) TYPE=INNODB;


CREATE TABLE table2 (
ref int(4) auto_increment,
table1_id int(4),
Date text,
montant text ,
mail text ,
INDEX table1_ind (id),
primary key (ref),
FOREIGN KEY id REFERENCES table1(id)
ON DELETE CASCADE
) TYPE=INNODB;

Merci de m'éclairer
0