IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Une erreur cachée, dans le POST


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 115
    Points : 104
    Points
    104
    Par défaut
    avant le début que tu nous fournis il y a quoi car je vois un case mais pas de switch

  3. #3
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    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

  4. #4
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    form action="index.php"
    Non ?

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    Juste par hasard, au début si tu changes ça
    par ça

  6. #6
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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é ^^ )

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    Ben montre nous ton script entièrement car chez moi ça passe dedans.

  8. #8
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    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 )

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer une variable en $ dans un post
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2012, 19h52
  2. Réponses: 1
    Dernier message: 15/07/2010, 18h44
  3. Déclencher une erreur "perso" dans un trigger
    Par sebpern dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/04/2010, 19h11
  4. Intégrer une zone cachée dans une zone de texte
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 20/10/2008, 16h20
  5. [JTREE] une info cachée dans un noeud
    Par PM_calou dans le forum Composants
    Réponses: 8
    Dernier message: 25/09/2007, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo