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 26/06/2007, 16h30   #1
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
Par défaut Une erreur cachée, dans le POST

Bonjour !

J'ai un petit souçis avec un truc qu'est pas censé etre compliqué à la base ... mais bon la ca me prend la tête de pas trouver, alors je vous demande votre aide (ou vos yeux ...).

Mon code est assez long, le mieux serait de faire un petit copier/coller dans un éditeur ... enfin j'ai aps de conseils a vous donner

Le problème: J'ai un formulaire, mais quand je le "submit", il ne rentre pas dans la boucle en tête de script (celle qui teste si !empty($_POST) ). D'ailleur, un petit print_r($_POST) en début m'affiche bien un tableau vide ... Vous voyez quelque chose ? (PS: tout est dans le meme script, dans "/util/index.php")

Voici le code, j'ai laissé que ce qui pose problème:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
 
<?
if(!empty($_POST))
{	require_once("../../constantes.php");
	require_once("../../fonctions.php");
	session_start();
 
	if(!isset($_SESSION['admin']))
	{	quit("Acces non autorisé");}
	$liendb = connect_bdd();
 
	if(isset($_POST['action']))
	{
	}
	else
	{	if(!empty($_POST['mdp1'])&&($_POST['mdp1']==$_POST['mdp2']))
		{	$id = crea_compte($_POST) or quit("Impossible de creer le compte");
			header('Location: ./index.php');
		}
		else
		{	quit("Les deux champs mots de passe de correspondent pas !");}
	}
 
	die();
}
case "newuser":
		{	?>
			<form action="./util/index.php" method="post">
				<table>
					<tr>
						<th colspan="2">Les champs avec * sont obligatoires</th>
					</tr>
					<tr>
						<th>Identifiant</th>
						<td><input type="text" name="id" maxlength="20"/></td>
					</tr>
					<tr>
						<th>Civilité*</th>
						<td>	<input type="radio" name="civilite" value="M"/ checked="checked"> Monsieur <br/>
								<input type="radio" name="civilite" value="F"/> Madame <br/>
								<input type="radio" name="civilite" value="L"/> Mademoiselle
						</td>
					</tr>
					<tr>
						<th>Nom*</th>
						<td><input type="text" name="nom" maxlength="30"/></td>
					</tr>
					<tr>
						<th>Prenom*</th>
						<td><input type="text" name="prenom" maxlength="30"/></td>
					</tr>
					<tr>
						<th>Mot de Passe*</th>
						<td><input type="password" name="mdp1"/></td>
					</tr>
					<tr>
						<th>Retaper le mot de passe*</th>
						<td><input type="password" name="mdp2"/></td>
					</tr>
					<tr>
						<th>Tel Interne</th>
						<td><input type="text" name="tel_int" maxlength="4" size="4"/></td>
					</tr>
					<tr>
						<th>Tel ligne directe</th>
						<td><input type="text" name="tel_dir" maxlength="10" size="10"/></td>
					</tr>
					<tr>
						<th>Tel portable</th>
						<td><input type="text" name="tel_por" maxlength="10" size="10"/></td>
					</tr>
					<tr>
						<th>Adresse Mail</th>
						<td><input type="text" name="mail" maxlength="50"/></td>
					</tr>
					<tr>
						<th>Acces a l'informatique</th>
						<td>
							<input type="radio" name="acces_info" value="N" checked="checked"/> Non &nbsp
							<input type="radio" name="acces_info" value="O"/> Oui
						</td>
					</tr>
					<tr>
						<th>Localisation</th>
						<td><input type="text" name="localisation" maxlength="30"/></td>
					</tr>
					<tr>
						<th>Service</th>
						<td>
							<select name="service">
								<option value="0">Inconnu</option>
						<?
				$temp = mysql_query("SELECT * FROM service ORDER BY designation_service");
				while($result = mysql_fetch_assoc($temp))
				{	echo '<option value="'.$result['id_service'].'">'.$result['designation_service'].'</option>';}
						?>
							</select>
						</td>
					</tr>
					<tr>
						<th>Fonction</th>
						<td><input type="text" name="fonction" maxlength="30"/></td>
					</tr>
					<tr>
						<th>3ème jour de repos</th>
						<td>
							<input type="radio" name="jour_repos" value="0" checked="checked"/> Inconnu <br/>
							<input type="radio" name="jour_repos" value="1"/> Lundi <br/>
							<input type="radio" name="jour_repos" value="2"/> Mardi <br/>
							<input type="radio" name="jour_repos" value="3"/> Mercredi <br/>
							<input type="radio" name="jour_repos" value="4"/> Jeudi <br/>
							<input type="radio" name="jour_repos" value="5"/> Vendredi <br/>
						</td>
					</tr>
					<tr>
						<th colspan="2"><input type="submit" value="Creer le compte"/></th>
					</tr>
				</table>
			</form>
Merci a vous
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 16h39   #2
Membre régulier
 
Inscription : juin 2002
Messages : 114
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juin 2002
Messages : 114
Points : 77
Points : 77
Envoyer un message via MSN à Odulo
avant le début que tu nous fournis il y a quoi car je vois un case mais pas de switch
Odulo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h01   #3
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
heu oui l'erreur n'est pas la, c'est juste que je en voulais pas vous assomer avec tout le script (car je fais la méthode cochon, c'est a dire pas de fonctions la ou j'aurais pu en faire, et surabondance de code inutile ).

Donc pas de prob, c'est quand je suis dans le case, et que je submit pour aller au post que j'ai un soucis ^^

Merci
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h10   #4
Membre éclairé
 
Avatar de johweb
 
Inscription : décembre 2003
Messages : 332
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : décembre 2003
Messages : 332
Points : 316
Points : 316
Si ton formulaire appelle le même fichier, tu as un problème sur l'action de ton form... Car là, il va chercher dans un autre répertoire util le fichier index.php...
Soit tu mets
ou alors
Code :
form action="index.php"
Non ?
johweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h12   #5
Membre du Club
 
Inscription : juillet 2006
Messages : 67
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 67
Points : 40
Points : 40
Juste par hasard, au début si tu changes ça
par ça
louveteau02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h26   #6
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
Citation:
Envoyé par johweb
Si ton formulaire appelle le même fichier, tu as un problème sur l'action de ton form... Car là, il va chercher dans un autre répertoire util le fichier index.php...
Soit tu mets
ou alors
Code :
form action="index.php"
Non ?
Non, désolé c'est de ma faute j'avais pas expliqué c'est vrai que ca surprend, mais il s'agit d'une page en include, donc en fait pour le poste je vais chercher le script dans son repertoire de stockage.

Citation:
Envoyé par louveteau02
[CODE]Juste par hasard, au début si tu changes ça
par ça
Ben ca marchais sans pour le reste, donc c'est pas ca (j'ai verifié ^^ )
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h30   #7
Membre du Club
 
Inscription : juillet 2006
Messages : 67
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 67
Points : 40
Points : 40
Ben montre nous ton script entièrement car chez moi ça passe dedans.
louveteau02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 17h36   #8
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
J'ai trouvé, autant pour moi.

Je pensais que le $_POST était vide, et il l'etait. Mais c'est compte tenu du fait que le header('Location: ./index.php') me renvoyait sur le script lui-meme, et du coup, après traitement, le POST était vide. (en fait, je dois faire un header('Location: ../index.php'), il me manquait un point ! Car comme dit dans le message d'avant, c'est un script d'include).

Mais il etait bien rempli à un moment donné ! C'est à dire avant le header !

Du coup je pensais qu'il sautait cette étape, mais c'est que j'ai mal fait mon header() ce qui m'a induit en erreur. C'est en consultant la BDD que j'ai vu que l'utilisateur était bien créé ....

Encore désolé pour mon manque de vigilance !
Et merci de votre aide (lire mon script est pas une partie de plaisir, j'en suis conscient )

++
bigltnt 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 22h41.


 
 
 
 
Partenaires

Hébergement Web