[php]session..ou mettre la variable???

Résolu/Fermé
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 - 7 févr. 2006 à 20:46
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 - 2 janv. 2007 à 20:02
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

14 réponses

maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
8 févr. 2006 à 22:34
..............
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
15 avril 2006 à 22:49
...........
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
15 avril 2006 à 23:28
euh ouais bon, c'est vrai que sans expliquer le problème, y aura pas démace de réponses
alors voilà ce code-ci est placé en haut de chaque page:
<?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
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342
15 avril 2006 à 23:50
for ($i=0;$i<50;$i++)
{
$offset=rand(0,35);
$chaine=$chaine . $tab[$offset];
}
?>


Bonjour,

Je ne m'y connais pas trop en PHP, mais j'ai un truc à proposer :
rand(0,34) ?

25 lettres +10 chiffres =35 caractères.
Donc de 0 à 34, 35 chiffres.

Mais bon, ce n'est peut-être pas cela.

Salut !
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
16 avril 2006 à 10:21
je ne pense pas que se soit ça.
en fait le problème est d'afficher le menu avec formulaire pour les non-loggés et l'autre menu pour ceux qui se sont cnnectés.
il faut donc aussi ouvrir les sessions sur toutes les pages, car si un loggé reviens sur une page que tout le monde visite, si on ne met pas de variable session, il ne sera plus loggé.
et ceux voulant accéder aux pages que seul ceux s'étant inscrits peuvent voir, dvent être redirigés vers la page d'inscription.

voilà
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
16 avril 2006 à 11:17
Bonjour,

Je ne suis pas sûr de bien comprendre ta question, mais pour afficher le formulaire qui si le visiteur n'est pas loggé, tu peux utiliser une condition (c'est ce que j'utilise, à adapter à ton cas) :

<?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
0

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

Posez votre question
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
16 avril 2006 à 11:40
je ne sais pas, il n'y a pas moyen d'utiliser un header dans le genre:
<?php
session_start();
if (!isset($_SESSION['login']))
{
header(location:("inscription.php"));
}
else
{

}
?>

???
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
16 avril 2006 à 11:47
Personnellement, j'utilise ce genre de header sur les autres pages,

<?php
session_start();
if (!isset($_SESSION['login']))
{
header(location:("inscription.php"));
}
exit;
?>

afin de renvoyer le visiteur automatiquement vers la page "inscription.php" qui contient le formulaire, et dans laquelle se trouve la vérification que je t'ai donnée dans mon post précédent.
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
16 avril 2006 à 11:49
je vais essayer ça alors...
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
16 avril 2006 à 11:57
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 
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
16 avril 2006 à 12:27
Je pense qu'il y a un problème au niveau de la variable "login" et du nom de la session, donne un autre nom à ta session ou à la variable du formulaire.
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
16 avril 2006 à 12:34
Tes variables "$motdepasse" et "$login" sont stockées où ?

Elles ne semblent pas définies.
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
16 avril 2006 à 23:50
elles sont stockées dans la BDD.
un autre problème que j'ai remarqué est que ça affiche d'office le formulaire avec variable, alors que je n'ai encore rien tapé comme login ni mot de passe...
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
17 avril 2006 à 06:49
Bonjour,

C'est normal que le formulaire s'affiche, puisque tu n'es pas loggé et que la condition le prévoit.

Il faut mettre le formulaire d'authentification et en plus, par exemple, un lien vers le formulaire d'inscription, comme ça les personnes qui sont déjà inscrites n'ont qu'à se logger, les autres iront d'abord sur le formulaire d'inscription.

Pour le problème de variables non définies, il faut vérifier que tu accèdes bien aux variables stockées dans ta base de données pour pouvoir les comparer avec les variables de connexion que les visiteurs vont saisir dans le formulaire d'authentification (en te connectant à la base qui les contient et en récupérant les variables, en début de script).

L'authentification se passe en plusieurs temps, le visiteur appelle un fichier protégé, il est redirigé automatiquement sur le fichier d'authentification (authentification.php, par exemple) et le formulaire d'authentification s'affiche ainsi que le lien vers la page d'inscription (inscription.php), dans le même temps le script se connecte à la Bdd et récupère les variables de connexion.

Grâce à ce script :

<?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.
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
17 avril 2006 à 10:59
...
y a un autre problème que je n'avais pas encore remarqué
j'arrive même pas à m'inscrire....
voilà le formulaire d'inscription:
<?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 membres 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 membres 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: ajoutmembre.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
<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") ?>


et ajoutmembre.php:

<?php
//Envoi du mail de confirmation.
                                $sujet='Inscription au site de Dj Maxou';
								$message= 'Bonjour '.$login.'\n\nTu viens de t\'inscrire sur le site de Dj Maxou et pour valider ton inscription, tu dois cliquer sur le lien suivant : <a href="http://membres.lycos.fr/newdjmaxou/validation.php?lien='.$lien.'">cliques ici</a>';
                                $headers ='From: "Dj Maxou"<webmaster@djmaxou.net>'."\n";
								
								mail($email, $sujet, $message, $headers)

?>

<?php include("haut.php") ?>

<?php include("menu.php") ?>

<div id="corps">

Tu devrait reçevoir un e-mail pour valider ton inscription.
Si tu ne cliques pas sur le lien avant une semaine, tu devras te r&eacute;inscrire.

</div>

<?php include("bas.php") ?>


en fait je crois que le problème ici, vinet de action dans inscription.php, mais après inscription, le visiteur doit être redirigé vers une autre page qui lui envoie un mail de confirmation...

(y a bcp de prob, mais...)
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
17 avril 2006 à 11:20
Je pense que pour commencer, tu devrais faire simple, d'abord un formulaire d'inscription avec deux champs, puis si ça marche, tu ajoutes le mail de confirmation, et ainsi de suite.

Tu trouverais plus facilement les problèmes, et pour t'aider c'est plus facile à déchiffrer.
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
17 avril 2006 à 15:32
je cais essayer, mais ça risque d'être long...
0
Bonjour à tous.

rien à voir avec les sessions, mais pourquoi pour les selects n'utilises-tu pas les 'for'.
Tu as un gains de place plus important ( 4 lignes au lieu de ..... )



<select name="jour" size="1">
<?php
for ($x=1; $x<=31 ; $x++) { echo '<option value="'.$x.'">'.$x.'</option>'; } 
?>
</select>





au lieu de :

<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>




** De même pour l'année :


<select name="annee" size="1">
<?php
for ($x=2006; $x>=1900 ; $x--) { echo '<option value="'.$x.'">'.$x.'</option>'; } ?>
</select>




Par contre pour les mois, si tu les utilisent dans plusieurs pages, met les dans un array dans un fichier distinct que tu pourra appeller de n'importe où avec un include:


SALUTATIONS DISTINGUEES

CANIBAL_BOX
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
2 janv. 2007 à 20:02
ok merci
0