problème session utilisateur
Posté : 15 mars 2010, 21:55
bonjour a tous,
J'ai un petit soucis lorsqu'une personne se logue sur mon site elle arrive sur un menu, elle a la possibilité de poster une annonce, j'ai l'impression qu'une fois loggué les donnée de l'utilisateur ne suive pas ai-je oublier de mentionné quelque chose.
Explication la personne se logue elle arrive sur un menu pour poster une annonce l'annonce s'envoie bien dans la base mais pas la clé étrangére de l'utilisateur n'apparait pas.
voici mon code de ma page de login.php
Comment proceder ?
merci de votre aide
J'ai un petit soucis lorsqu'une personne se logue sur mon site elle arrive sur un menu, elle a la possibilité de poster une annonce, j'ai l'impression qu'une fois loggué les donnée de l'utilisateur ne suive pas ai-je oublier de mentionné quelque chose.
Explication la personne se logue elle arrive sur un menu pour poster une annonce l'annonce s'envoie bien dans la base mais pas la clé étrangére de l'utilisateur n'apparait pas.
voici mon code de ma page de login.php
<?
// Fonction pour parser les variables vers FLASH
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}
$MAILUTILISATEURS=$HTTP_POST_VARS['MAILUTILISATEURS'];
$MDP=$HTTP_POST_VARS['MDP'];
//Fontion "decoder" (facultative)
function decoder($texte){
$texte = utf8_decode($texte);
/*$texte = stripslashes($texte);
$texte = trim($texte);
$texte = htmlentities($texte, ENT_QUOTES);
$texte = strip_tags($texte);
$texte = nl2br($texte);
$texte = str_replace(">", ">", $texte);
$texte = str_replace("<", "<", $texte);*/
$texte = str_replace("è","%E8",$texte);
$texte = str_replace("é","%E9",$texte);
$texte = str_replace("è","%EA",$texte);
$texte = str_replace("ç","%E7",$texte);
$texte = str_replace("%","%25",$texte);
$texte = str_replace("!","%21",$texte);
$texte = str_replace("\"","%22",$texte);
$texte = str_replace("#","%23",$texte);
$texte = str_replace("\$","%24",$texte);
$texte = str_replace("&","%26",$texte);
$texte = str_replace("'","%27",$texte);
$texte = str_replace("(","%28",$texte);
$texte = str_replace(")","%29",$texte);
$texte = str_replace("*","%2A",$texte);
$texte = str_replace("+","%2B",$texte);
$texte = str_replace(",","%2C",$texte);
$texte = str_replace("/","%2F",$texte);
$texte = str_replace(":","%3A",$texte);
$texte = str_replace(";","%3B",$texte);
$texte = str_replace("<","%3C",$texte);
$texte = str_replace("=","%3D",$texte);
$texte = str_replace(">","%3E",$texte);
$texte = str_replace("?","%3F",$texte);
$texte = str_replace("[","%5B",$texte);
$texte = str_replace("]","%5D",$texte);
$texte = str_replace("^","%5E",$texte);
$texte = str_replace("`","%60",$texte);
$texte = str_replace("{","%7B",$texte);
$texte = str_replace("|","%7C",$texte);
$texte = str_replace("}","%7D",$texte);
$texte = str_replace("~","%7E",$texte);
$texte = str_replace("¢","%A2",$texte);
$texte = str_replace("£","%A3",$texte);
$texte = str_replace("¥","%A5",$texte);
$texte = str_replace("|","%A6",$texte);
$texte = str_replace("§","%A7",$texte);
$texte = str_replace("«","%AB",$texte);
$texte = str_replace("¬","%AC",$texte);
$texte = str_replace("¯","%AD",$texte);
$texte = str_replace("º","%B0",$texte);
$texte = str_replace("±","%B1",$texte);
$texte = str_replace("ª","%B2",$texte);
$texte = str_replace(",","%B4",$texte);
$texte = str_replace("µ","%B5",$texte);
$texte = str_replace("»","%BB",$texte);
$texte = str_replace("¼","%BC",$texte);
$texte = str_replace("½","%BD",$texte);
$texte = str_replace("¿","%BF",$texte);
return $texte;
}
//On applique la fonction "decoder" sur les deux variables
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$MDP = decoder($MDP);
//ici on commence avec les requêtes MySQL pour vérifier dans la table
include ('../php/connect.php');//ici on inclut le fichier avec l'accès à MySQL.
$crypt=md5($MDP);//On crypt le mot de passe en md5 pour l'entrer dans la table
$sql = "select MDP from utilisateurs where MAILUTILISATEURS='".$MAILUTILISATEURS."'"; // on recupère le password de la table qui correspond au login du visiteur
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);//On comptabilise le nombre de résultat trouvé
if($data['MDP'] != $crypt)
{//Si le mot de passe envoyé par Flash, est différent au mot de passe de la table
echo 'Mauvais identifiant(s)';//on affiche le "resulat"
}
else
{ //sinon
session_start();//La session commence
session_register('MAILUTILISATEURS');
header("Location: ../moncomptepart.php");
}
?>
Et voici une des pages que l'utilisateur a acées dans son profil pour poster une annonces.
<?php include("http://logisdesannonces.fr/moncomptepart.php"); ?>
<?php
echo("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "aaaa";
$admin = "aaaa";
$mdp = "aaaa";
$base = "aaaaaa";
/* On récupère si elle existe la valeur de la région envoyée par le formulaire */
$idr = isset($_POST['region'])?$_POST['region']:null;
?>
<div id="formulaire">
Votre region :<br />
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
* car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_region`, `region`".
" FROM `region`".
" ORDER BY `id_region`";
$rech_regions = mysql_query($sql1);
$code_region = array();
$region = array();
/* On active un compteur pour les régions */
$nb_regions = 0;
if($rech_regions != false)
{
while($ligne = mysql_fetch_assoc($rech_regions))
{
array_push($code_region, $ligne['id_region']);
array_push($region, $ligne['region']);
/* On incrémente de compteur */
$nb_regions++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une région - - -</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{
?>
<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php
}
?>
</select>
</form>
<form id="ok" method="post" action="php/mcpvalidationannonce.php">
<?php
mysql_free_result($rech_regions);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les départements de cette région */
$sql2 = "SELECT `id_departement`, `departement`".
" FROM `departement`".
" WHERE `id_region` = ". $idr ."".
" ORDER BY `id_departement`;";
if($connexion != false)
{
$rech_dept = mysql_query($sql2, $connexion);
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$code_dept = array();
$nom_dept = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_dept = mysql_fetch_assoc($rech_dept))
{
array_push($code_dept, $ligne_dept['id_departement']);
array_push($nom_dept, $ligne_dept['departement']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
Votre departement :<br />
<select name="departement" id="departement">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_dept[$d].'-'.$nom_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_dept);
}
?>
<br />
<label for="typeannonce">Type d'annonce:</label><br />
<label>
<input type="radio" name="typeannonce" value="vends" />Je vends
</label>
<label>
<input type="radio" name="typeannonce" value="donne" />Je donne
</label>
<label>
<input type="radio" name="typeannonce" value="troc" />Je troc
</label>
<br /><br />
<label for="categorie">Sélectionner une catégorie:</label><br />
<select name="categorie" id="categorie">
<option value="0">Votre catégorie</option>
<option value="divers">Divers</option>
<option value="vehicules">Véhicules</option>
<option value="immobilier">Immobilier</option>
<option value="high-tech">High-Tech</option>
<option value="animaux">Animaux</option>
</select>
<br /><br />
<label for="souscategorie">Sélectionner un sous catégorie:</label><br />
<select name="souscategorie" id="souscategorie">
<optgroup label="DIVERS">
<option value="select">Votre sous-catégorie</option>
<option value="antiquite-art">Antiquité-Art</option>
<option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
<option value="meuble-decoration">Meuble-Décoration</option>
<option value="vetements">Vêtements</option>
<option value="puericulture">Puériculture</option>
<option value="livres">Livres</option>
<option value="loisir">Loisir</option>
<option value="collections">Collections</option>
<option value="musique">Musique</option>
<option value="jeux-jouets">Jeux-Jouets</option>
<option value="sport">Sport</option>
</optgroup>
<optgroup label="VEHICULES">
<option value="voiture">Voiture</option>
<option value="moto-scooter">Moto-Scooter</option>
<option value="camping-car">Camping car</option>
<option value="caravane">Caravane</option>
<option value="utilitaire">Utilitaire</option>
<option value="bateau-nautisme">Bateau-Nautisme</option>
<option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
<option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
<option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
<option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>
</optgroup>
<optgroup label="IMMOBILIER">
<option value="location">Location</option>
<option value="location saisonniere">Location saisonnère</option>
<option value="vente maison">Vente Maison</option>
<option value="vente appartement">Vente appartement</option>
<option value="vente propriete">Vente propriété</option>
<option value="vente hotel particulier">Vente hotel particulier</option>
<option value="vente garage">Vente garage</option>
<option value="immeuble">Immeuble</option>
<option value="vente constructeur">Vente constructeur</option>
<option value="investisseur">Investisseur</option>
<option value="renovation">Rénovation</option>
<option value="etang">Etang</option>
<option value="corps de ferme">Corps de ferme</option>
</optgroup>
<optgroup label="HIGH-TECH">
<option value="hifi-photo-video">Hifi-Photo-Video</option>
<option value="informatique">Informatique</option>
<option value="jeux video">Jeux video</option>
<option value="musique-film">Musique-Film</option>
<option value="telephonie">Téléphonie</option>
<option value="autre">Autre</option>
</optgroup>
<optgroup label="ANIMAUX">
<option value="achat-vente">Achat-Vente</option>
<option value="adoption-don">Adoption-Don</option>
<option value="services">Services</option>
<option value="accessoires">Accessoires</option>
</optgroup>
</select>
<br />
<label for="titreannonce">Titre de l'annonce:</label><br />
<input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
<span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
<label for="descriptionannonce">Description de l'annonce :</label><br />
<textarea name="descriptionannonce" id="descriptionannonce" rows="5" cols="30"></textarea><br />
<label for="prix">Prix:</label><br />
<input type="prix" name="prix" id="prix" size="10" /><br />
<?php
echo '<input type="hidden" name="region" id="region" value="'.$region[$idr - 1].'"/>';
?>
<input type="submit" name="ok" id="ok" value="envoyer" />
</form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
}
?>
<br /><br /><br /><br /><br /><br />
</div>
</body>
</html>
faut til que sur chaque page je mentionne que la session appartient au NUMUTILISATEURS ( ID de l'utilisateur ) qui est logué ?Comment proceder ?
merci de votre aide