|
|
|
|
Bonsoir
ma question simplement : comment faire pour créer ma variable de session?
Auparavant, on devait s'inscrire pour pouvoir avoir acces au site.J'avoue que c chiant, dont j'aimerais savoir si il y a moyen de mettre cette variable dans le menu(comme sur CCM,"quand on est loggé et quand on ne l'est pas")
merci
Euh ouais bon, c'est vrai que sans expliquer le problème, y aura pas démace de réponses
<?php
session_start();
if (!isset($_SESSION['login']))
{
exit();
}
?>
ce code est censé ouvrir un session, si la sessoin n'existe pas il doit être redirigé vers la page d'inscription comme ceci: <?php
session_start();
if (!isset($_SESSION['login']))
{
}
else
{
header('Location: inscriptionoblige.php');
}
?>
mais il y a un menu si la variable session existe, alors il est censé afficher une partie du menu avec la variable session, mis si il ne l'est pas, alors on place le menu avec formulaire: <div id="menu">
<div id="element_menu">
<h3>Menu 1</h3>
<ul>
<li><a href="#">Lien 1.1</a></li>
<li><a href="#">Lien 1.2</a></li>
<li><a href="#">Lien 1.3</a></li>
</ul>
</div>
<div id="element_menu">
<h3>Menu 2</h3>
<ul>
<li><a href="#">Lien 2.1</a></li>
<li><a href="#">Lien 2.2</a></li>
<li><a href="#">Lien 2.3</a></li>
</ul>
</div>
<div id="element_menu">
<?php
if (isset($_SESSION['login']))
{
echo
'
<ul>
<li><a>Salut </br><?php echo 'htmlentities(stripslashes(trim($_SESSION['login'])))'; ?></a></li>
<li><a href="deconnection.php">Se déconnecter</a></li>
</ul>
';
}
else
{
echo
'
<form action="post" method="identification.php">
Pseudo<br>
<input type="text" name="pseudo"><br>
Mot de passe<br>
<input type="password" name="motdepasse"><br>
<input type="submit" value="Valider"><br>
<a href="inscription.php">S\'inscrire</a><br>
</form>
';
}
?>
</div>
</div>
le menu se trouve dans un include et la page d'inscription est la suivante si l'erreur viendrait de la: <?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['motdepasse']) && !empty($_POST['motdepasse'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['motdepasse'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('site', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['motdepasse'])).'", "'.addslashes($_POST['email']).'", "'.addslashes($_POST['pays']).'", "'.addslashes($_POST['sexe']).'", "'.addslashes($_POST['jour']).'", "'.addslashes($_POST['mois']).'", "'.addslashes($_POST['annee']).'", "'.addslashes($_POST['lien']).'", "'.addslashes($_POST['statut']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: inscrit.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<?php include("haut.php") ?>
<?php include("menu.php") ?>
<div id="corps">
<form action="post" method="ajoutmembre.php">
Pour t'inscrire, il faut obligatoirement que tu remplisses tous les champs suivants :</p>
Nom : <input type="text" name="nom">
</p>
Prénom : <input type="text" name="prenom">
</p>
E-mail : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo stripslashes(htmlentities(trim($_POST['email']))); ?>">
</p>
Choisis un login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>">
</p>
Mot de passe : <input type="password" name="motdepasse" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['motdepasse']))); ?>">
</p>
Retape le mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>">
</p>
Pays :
<select name="pays">
<optgroup label="Europe">
<option value="belgique">Belgique</option>
<option value="france">France</option>
<option value="hollande">Hollande</option>
<option value="espagne">Espagne</option>
<option value="italie">Italie</option>
<option value="royaumeuni">Royaume-Uni</option>
</optgroup>
<optgroup label="Amérique">
<option value="canada">Canada</option>
<option value="etatsunis">Etats-Unis</option>
</optgroup>
<optgroup label="Asie">
<option value="chine">Chine</option>
<option value="japon">Japon</option>
</optgroup>
<optgroup label="Afrique">
<option value="maroc">Maroc</option>
<option value="congo">Congo</option>
</optgroup>
</select>
</p>
Date de naissance :
<select name="jour">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="mois">
<option value="janvier">janvier</option>
<option value="fevrier">février</option>
<option value="mars">mars</option>
<option value="avril">avril</option>
<option value="mai">mai</option>
<option value="juin">juin</option>
<option value="juillet">juillet</option>
<option value="aout">août</option>
<option value="septembre">septembre</option>
<option value="octobre">octobre</option>
<option value="novembre">novembre</option>
<option value="decembre">decembre</option>
</select>
<select name="annee">
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
<option value="1909">1909</option>
<option value="1908">1908</option>
<option value="1907">1907</option>
<option value="1906">1906</option>
<option value="1905">1905</option>
<option value="1904">1904</option>
<option value="1903">1903</option>
<option value="1902">1902</option>
<option value="1901">1901</option>
<option value="1900">1900</option>
</select>
</p>
Tu es :
<input type="radio" name="sexe" value="homme"> un homme<br>
<input type="radio" name="sexe" value="femme"> une femme
</p>
<input type="hidden" name="statut" value="0">
<!-- pour créer une chaine aléatoire -->
<?php
$tab=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
?>
<?php
$chaine='';
for ($i=0;$i<50;$i++)
{
$offset=rand(0,35);
$chaine=$chaine . $tab[$offset];
}
?>
<input type="hidden" name="lien" value="<?php echo $chaine ?>" />
<!-- le code suivant pour tester si on a validé le formulaire -->
<input type="submit" name="inscription" value="Inscription">
</form>
<!-- ici s'affichera (l'éventuelle) erreur -->
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</div>
<?php include("bas.php") ?>
voilà, c'est un peu long ,mais je ne m'en sort vraiment pas merci pour votre futur aide |
Je ne pense pas que se soit ça.
|
Bonjour,
<?php
if (session_is_registered("nom de la session") || $variable_du_mot_de_passe == $variable_du_formulaire && $variable_du_loggin ==$variable_du_formulaire) {
?>
Ensuite tu mets le contenu de la page à afficher, puis l'autre condition pour afficher le formulaire : <?php
}
else {
?>
Tu mets ensuite le formulaire sans oublier de fermer la condition : <?php } ?> Bon courage |
Personnellement, j'utilise ce genre de header sur les autres pages,
|
J'ai utilisé <?php
if (session_is_registered("login") || $_POST['motdepasse'] == $motdepasse && $_POST['login'] ==$login) {
?>
, mais ça me donne un tas d'erreurs.:( Notice: Undefined index: motdepasse in c:\documents and settings\propriétaire\mes documents\vraiespacemembre\menu.php on line 23 Notice: Undefined variable: motdepasse in c:\documents and settings\propriétaire\mes documents\vraiespacemembre\menu.php on line 23 Notice: Undefined index: login in c:\documents and settings\propriétaire\mes documents\vraiespacemembre\menu.php on line 23 Notice: Undefined variable: login in c:\documents and settings\propriétaire\mes documents\vraiespacemembre\menu.php on line 23 Salut Notice: Undefined index: login in c:\documents and settings\propriétaire\mes documents\vraiespacemembre\menu.php on line 26 Se déconnecter |
Bonjour,
<?php
session_start();
if (!isset($_SESSION['login']))
{
header(location:("authentification.php"));
}
exit;
?>
S'il est déjà inscrit, il s'authentifie, le script compare les variables de connexion et il peut accéder aux pages protégées. Une fois loggé, il peut accéder à toutes les pages protégées sans avoir à s'authentifier à nouveau. S'il n'est pas encore inscrit, il clique sur le lien pour ouvrir le formulaire d'inscription situé dans un autre fichier (inscription.php). Tu dois pouvoir mettre le formulaire d'inscription dans le même fichier que le formulaire d'authentification en mettant une condition du genre :
//Déclaration de la variable $action
$action=$_REQUEST['action'];
//Le lien :
<a href="?action=inscription">Inscription</a>
//La condition :
if ($action=="inscription"){
//Puis le formulaire d'inscription
}
mais je trouve que c'est plus simple et plus clair comme ça pour commencer, à toi de voir. Bon courage.
|
Répondre à maxime_B
|