aide problème script connexion en php

dededick
Invité n'ayant pas de compte PHPfrance

20 juin 2006, 14:23

Bonjour, je demande votre aide car je suis confronté à ce problème: j'a imon formulaire d'inscription, mon traitement des données...
Mais je ne sais pas quoi mettre pour vérifier si l'utilisateur est loggé et s'il peut donc accéder à la page; voici mon formulaire d'inscription:
<html>
<head>
<title> Inscription </title>
<meta http-equiv="content-language" content="fr">
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />

<SCRIPT LANGUAGE="JavaScript">
// a mettre entre <head> et <head/>
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this=textlist.arguments;
}
tl = new textlist(
"Bievenue sur ce site.",
"En cas de problème, un forum est à votre disposition.",
"Petites annonces:",
"Aujourd'hui, le cerveau a des capacités tellement étonnantes, que presque tout le monde en a un.",
"Un verre est à moitié plein d'eau; n'est-il pas plutôt à moitié vide?",
"Il semblerait que... mais on n'en est pas sur...",
"Vous pensez ne rien savoir? Mais rassurez-vous, vous savez au moins ça!"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0;
setTimeout("textticker()", 2000);
if(++x == max) x = 0;
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
</head>
<BODY OnLoad="textticker()">

<center>
<form name=tickform>
<textarea name=tickfield rows=3 cols=38 style="background-color: rgb(0,0,0); color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>Les infos apparaissent ici, une fois que la page est chargée.</textarea>
</form>
</center>
</script>



</head>
<script language="JavaScript">
function nextSize(i,incMethod,textLength){
if (incMethod == 1) return (40*Math.abs( Math.sin(i/(textLength/3.14))) );
if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis){
output = "";
for (i = 0; i < text.length; i++){
size = parseInt(nextSize(i +dis,method,text.length));
output += "<font style='font-size: "+ size +"pt'>" +text.substring(i,i+1)+ "</font>";
}
theDiv.innerHTML = output;
}

function doWave(n){
theText = "dededick.free.fr";
sizeCycle(theText,1,n);
if (n > theText.length) {n=0}
setTimeout("doWave(" + (n+1) + ")", 150);
}
</script>
<body>
<div id="en_tete">
<!-- Mettre la bannière -->
</div>
<div id="menu">
<div id="element_menu">
<ul id="lien2">
<li><a href="inscription.php"> Inscription </a></li>
<li><a href="connexion.php"> Connexion </a></li>
</ul>
</div></div>
<div id="corps">
Bienvenue sur notre page d'inscription.<br/>
Veuillez remplir tous les champs demandés et rentrez un e-mail valide.<br/>
<h3> Formulaire </h3>
<form method="post" action="envoi.php">
<tr>
<td width="150"><b>
Votre Pseudo:</b></td>
<td width="100"><input type="text" name="pseudo" tabindex="10"/></td>
</tr>
<br/><br/>
<tr>
<td width="150"><b>
Votre Mot de Passe :</b></td>

<td width="100"><input type="password" name="password" tabindex="20"/></td>
</tr>
<br/><br/>
<tr>
<td width="150"><b> Votre adresse e-mail :</b></td>
<td width="100"><input type="text" name="email" tabindex="30"/></td>
</tr>
<br/><br/>

<tr>
<td width="196"><b>Votre sexe :</b> </td>
<td width="144"><select name="sex" size="1" tabindex="40">

<option value="Garcon">Je suis un Garçon</option>
<option value="Fille">Je suis une fille</option>
<option value="Neutre"> Je ne sais plus ^^ </option>
</select></td>
</tr><br/><br/>
<tr>
<td width="196"><b> Votre maison : </b></td>
<td width="144"><select name="maison" size="1" tabindex="50">
<option value="gryffondor"> Gryffondor </option>
<option value="serpentard"> Serpentard</option>
<option value="serdaigle"> Serdaigle </option>
<option value="poufsouffle"> Poufsouffle </option></td>
</tr><br/><br/>
<input type="submit" name="sumbit" value="envoyer"/></form>
</body>
</html>
et ma page de traitement:
<?php
if(isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else $nom="";

if(isset($_POST['password'])) $password=$_POST['password'];
else $password="";

if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";

if(isset($_POST['sex'])) $sex=$_POST['sex'];
else $sex="";

if(isset($_POST['maison'])) $choix=$_POST['maison'];
else $maison="";
// On récupère les champs ci-dessus

// On vérifie si les champs sont vides ci-dessous
if(empty($pseudo) OR empty($password) OR empty($email) OR empty($sex) OR empty($maison))
{
echo '<font color="red">Attention, tous les champs doivent être <b>remplis</b>! Cliquez <a href="http://dededick.free.fr/inscription.php">ici pour revenir à la page précédente</a></font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table ci-dessous
else
{
$db = mysql_connect('localhost', 'blabla', '*****'); // connexion à la base
mysql_select_db('trucmachin',$db); // sélection de la base

{
$sql = "INSERT INTO siteweb(id, pseudo, password, email, sex, maison) VALUES('','$pseudo','$password','$email','$sex','$maison')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on informe le visiteur que tout s'est bien passé ci-dessous
echo 'Vos informations ont bien étés prises en compte.';
}
mysql_close(); // on ferme la connexion
}
?>
Est-ce que qq peut me montrer ce qu'il faudrait faire pour vérifier si les personnes sont bien connectées?
Merci beaucoup :) [/php][/code]

Eléphant du PHP | 95 Messages

23 juin 2006, 11:53

tu peu faire quelque chose dans ce goût la :
<?php
	// Déclaration de la continuation de la session
	session_start();
	// Déclaration de l'inclusion du fichier contenant les informations de connexion à la base de données
	include 'proprietes.php';
?>

<head> </head>

<?php
    // Connexion à la base de données
    mysql_connect($serveur,$utilisateurserveur,$mdpserveur);
    mysql_select_db("[i]trucmachin[/i]") or die(mysql_error());
    // Requête de vérification de l'utilisateur et de son statut
    $requete = "SELECT DISTINCT login, passwd FROM users WHERE users.login = '".$_SESSION["login"]."' AND users.passwd = '".$_SESSION["password"]."' ";
    // Execution de la requête et comptage du nombre de résultat
    $resultat = mysql_query($requete);
    $nbresultat = mysql_num_rows($resultat);
    // Fin de la requête et comptage du nombre de résultat
    if ($nbresultat != 0)
    {
        echo '

ta page

              ';
		}
	else
		{echo '<script>document.location = "index.php";alert ("Erreur dans le login ou bien le mot de passe");</script>';}
?>

</body>
</html>
a inclure sur toutes tes pages