Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/08/2007, 18h06   #1
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Par défaut Vérification formulaire

Bonjour a tous , et merçi d'avance pour vos futur reponses.
Voila mon problem se passe a la verification de donné d'un formulaire , ce formulaire sert a enregistrer un membres dans la base de données . Je debute dans la programmation donc c'est pour cela que je fait appel a vous , Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
<?
include('../../config.php');
include('../../modules.php');
if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset($_POST['pass_confirm']) AND isset($_POST['pays']) AND isset($_POST['email']))
{
$pseudo = addslashes($_POST['pseudo']); 
$pass = $_POST['pass']; 
$pass_confirm = $_POST['pass_confirm']; 
$pays = $_POST['pays'];
$email = $_POST['email']; 
 
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($pass == $pass_confirm)
{
	$pass_verif = 1;
	}
	else
	{
		$pass_verif = 0;
	echo'<SCRIPT LANGUAGE="JavaScript">
		alert("Le mot de passe n\'est pas le même que celui confirmé")
document.location.href="index.php?file=registrer" </SCRIPT>';
}
$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='$email'") or die ('Erreur : '.mysql_error());	//verification si e-mail existe déjà
$count_mail=mysql_num_rows($reponse_mail);
if($count_mail == 0)
	{
	$email_verif = 1;
	}
	else
	{
	$email_verif = 0;
	echo'<SCRIPT LANGUAGE="JavaScript">
	alert("Cet e-mail existe déjà.")
document.location.href="index.php?file=registrer" </SCRIPT>';
	}
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error());	//verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 0)
	{
	$pseudo_verif = 1;
	}
	else
	{
	$pseudo_verif = 0;
	echo'<SCRIPT LANGUAGE="JavaScript">
	alert("Ce pseudo existe déjà.")
document.location.href="index.php?file=registrer" </SCRIPT>';
	}
	}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
	if($pseudo_verif = 1 AND $pass_verif = 1 AND $email_verif = 1)
	 {
		mysql_query("INSERT INTO membres VALUES ('', '$pseudo', '$pass', '$pays', '$email')") or die ('Erreur : '.mysql_error());	//insertion dans la bdd
	echo'<SCRIPT LANGUAGE="JavaScript">
	alert("Merçi de vosu être enregistrer , Vous pouvez vous connecter .")
document.location.href="../../index.php" </SCRIPT>';
}
else
{
	echo'<SCRIPT LANGUAGE="JavaScript">
	alert("Il y a eut un problem dans votre enregistrement")
document.location.href="index.php?file=registrer" </SCRIPT>';
}
?>
Voila mon probleme est que lors de la verification même si l'email , le pseudo sont deja existant , il entre les variable dans la base de donnée ... Alors que sa devrait faire un retour sur la page inscription ... merçi de vos futurs reponses

------------------------
nitteN
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2007, 19h02   #2
Membre chevronné
 
Avatar de djayp
 
Inscription : avril 2004
Messages : 290
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 290
Points : 617
Points : 617
Envoyer un message via ICQ à djayp
Salut !

l'erreur se trouve à cette ligne :

Code :
if($pseudo_verif = 1 AND $pass_verif = 1 AND $email_verif = 1)
Tu emploie ici un seul signe "=". Du coup, les variables prennent pour valeur "1" et aucune comparaison n'est réalisée...

A remplacer donc par :
Code :
1
2
 
if($pseudo_verif == 1 AND $pass_verif == 1 AND $email_verif == 1)
A++
__________________
Djay
http://j-place.developpez.com/
djayp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2007, 21h30   #3
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
a merçi sa marche , mais maintenent c'est avec la connection qu'il y a un probleme :S désolé voici mon code je penser que la connection planter a cose de l'enregistrement mais je me rend compte que non voici mon code :

////////////// Page verif_connection.php ///////
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
include('../../config.php');
if(isset($_POST['pseudo']) AND isset($_POST['mdp']))
{
$pseudo = $_POST['pseudo'];
$mdp = $_POST['mdp'];
}
 
 
if(!$pseudo)
	{
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Pseudo manquant !  ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
if(!$mdp)
	{
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Mot de passe incorrect ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
$reponse_cores=mysql_query("SELECT * FROM membres WHERE pass='$mdp' AND pseudo='$pseudo'") or die ('Erreur : '.mysql_error());
$count_cores=mysql_num_rows($reponse_cores);
if($count_cores == 0 )
	{
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Le pseudo et/ou le mot de passe ne sont pas correct . ")
document.location.href="../../index.php" </SCRIPT>';	//on vérifie la correspondance
	}
else
	{
	$_SESSION['pseudo'] = $_POST['pseudo'] ;
	$_SESSION['connect'] = 1 ;
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Connection réussi ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
?>

/////// page connection.php ////////
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
if(isset($_SESSION['connect']))  // Si $_SESSION['connect'] existe
{
  $connect = $_SESSION['connect']; // alors on attribue la variable $connect 
  }
  else   // sinon
{
        $connect=0;  // Definir la varriable $connect a "0"
}
if ($connect == 1) // Si $connect = "0" alors affichage de le module de connection
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	echo ' <h1>Bonjour , '.$_SESSION['pseudo'].'  <a href="index.php?file=logout">Logout</a> - <a href="index.php?file=myprofil">myprofil</a></h1>';  // on dit bonjour a la personne connecter 
	}
	else // sinon on se demande de se connecter
	{
	echo '
	<form method="post" action="modules/User/verif_connection.php">	
	<span class="myprofil">Pseudo : 
	<input name="pseudo" type="text" id="pseudo" />
	Password : 
	<input name="mdp" type="password" id="mdp" />
	<input type="submit" value="ok" />
	</form>
	<a href="index.php?file=lost_pass">Lost password ?</a> / 
	<a href="index.php?file=registrer">registrer</a>
	</span>
	';
	}
?>
Voila mon problem est que sa ne m'affiche pas Bonjour , nitteN , quan dje me connect il y a le formulaire qui revien ...

merçi de vos futurs reponses

------------
nitteN
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 08h13   #4
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Il est clair que tu dois avoir un probleme au niveau de la session.
Est ce qu'elle est démarrée ?

Dans page_connection.php essaie ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
session_start();
 
if(isset($_SESSION['connect']))  // Si $_SESSION['connect'] existe
{
  $connect = $_SESSION['connect']; // alors on attribue la variable $connect 
  }
  else   // sinon
{
        $connect=0;  // Definir la varriable $connect a "0"
}
C'est peut-etre tout simplement cela qui fait defaut

Pour en savoir plus sur les sessions :
http://fr2.php.net/manual/fr/function.session-start.php



@+
cadou
__________________
PHP Competition System
Script de gestion de coupes et championnats
http://phpcompet.free.fr

Mon jeu de foot
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 08h27   #5
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Oui la session a était demarrer dans index.php ( j'ai essayer de la remettre mais sa me dit que la session est deja demarrer , donc sa ne vien pas de la , personne n'a d'autres idées ? merçi
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 11h45   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par nitteN
Oui la session a était demarrer dans index.php ( j'ai essayer de la remettre mais sa me dit que la session est deja demarrer
Mais nous nous ne pouvons pas déterminer quel script est appelé ni comment (inclusion ou non) ... Le moyen le plus simple serait de retracer l'activité de la session en en affichant le contenu (print_r($_SESSION)) et l'identifiant (echo session_id()) sur chaque script (enfin au moins ceux qui posent problème) après l'appel à session_start (et fin de script éventuellement).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 02h05   #7
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Merçi j'ai verifier et il manquer bien un session_start dans la page de mon formulaire car je penser l'avoir appeller sous la forme index.php?file= merçi de m'avoir permis de poursuivre ma progrmmation
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h37.


 
 
 
 
Partenaires

Hébergement Web