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

PHP & Base de données Discussion :

probleme formulaire et redirection


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Par défaut probleme formulaire et redirection
    bonjour nouveau sur ce forum et grand debutant dans le php je fait mes premiers pas mais deja des galeres lol normal vous allez me dire ^^
    bref voila apres de longue bataille et recherche sur le net j'ai fait mon premier bout de code avec un formulaire mon premier souci j'ai une erreur ligne 71 que je ne trouve pas !! la ou je dis qui si les deux mails ne sont pas identique je veut tel message ....

    secondo j'aimerais que une fois l'envoie du formulaire le message comme quoi tous est ok s'affiche sur une page vierge puis redirige mon visiteur sur la page d'accueil
    mais pour sa un pti coup de main serais pas de refus

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>MN-Iformatique.com</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       </head>
       <body>
     
       <div id="en_tete">
       </div>
     
       <?php include("menu.php");?>
     
       <div id="corps">
       <div id="formulaire">
    		<h2>Formulaire d'inscription</h2>
     
    		<form method="post" action="formulaire.php">
     
     
    	<fieldset>
    	<p>
    		<br/><br/>		<label for="pseudo">Pseudo :</label> <input type="text" name="pseudo" id="pseudo" maxlength="15"/>
    		<br/><br/>		<label for="mdp">Mot de passe :</label> <input type="password" name="mdp" id="mdp" maxlength="15"/>
    		<br/><br/>		<label for="mail">Mail :</label> <input type="text" name="mail" id="mail"maxlength="50"/>
    		<br/><br/>		<label for="confirm_mail">Confirmation mail :</label> <input type="text" name="confirm_mail" id="confirm_mail" maxlength="50"/>
    	</fieldset>
    						<input type="submit" name="valider" value="Valider"/> <input type="reset" />
    	</p>
    		</form>
     
     
     
    <?php
    		// connexion a bdd 
     
    				try
    			{
    				$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    				$bdd = new PDO('mysql:host=localhost;dbname=mn_info', 'root', '', $pdo_options);
    			}
    				catch (Exception $e)
    			{
    				die('Erreur : ' . $e->getMessage());
    			}
    		?>
     
    		<?php		
     
    		// on verifie  que tous les champs soit remplis 
    		if(
    				!empty($_POST['pseudo'])
    				&&!empty($_POST['mdp'])
    				&&!empty($_POST['mail'])
    				&&!empty($_POST['confirm_mail']))
    		{
    		if($_POST['mail']==$_POST['confirm_mail'])  //on verifie que les adresses soit les meme
    		{
     
     
    		$req=$bdd->prepare('INSERT INTO formulaire(pseudo,mdp,mail)VALUES (?,?,?)');
    		$req->execute(array(
    							$_POST['pseudo'],
    						md5($_POST['mdp']),
    							$_POST['mail']));
     
    				echo 'Inscription valide merci de la confirmer dans le mail que vous avez recu ';
    		}
    		}
    				elseif  (isset($_POST['mail'])!=($_POST['confirm_mail']))
    		{
    				echo 'Les deux adresses mail doivent etre les meme';
    		}
    				elseif (!empty($_POST['valider']))
    		{
    				echo 'Tous les champs doivent etre remplis';
    		}
    		?>
    	</div>
    	</div>
    	</body>
    	</html>

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    tu as mélangé un truc.

    il faut 2 pages. L'une qui pourrait être en html pur (ou pas) qui contient le formulaire et l'autre qui sera designé dans l'attribut action du form, qui va lire les données du formulaire et faire ce quelle veut (pour toi écrire dans la bd et la redirection).

    la ou c'est sympa de le faire en 2 pages, ta 2e page peux ne faire que

    Code php : 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
    <?php	// pas d'espace ni de html avant une fonction header !!!
     
    		// on verifie  que tous les champs soit remplis 
    		if(
    				!empty($_POST['pseudo'])
    				&&!empty($_POST['mdp'])
    				&&!empty($_POST['mail'])
    				&&!empty($_POST['confirm_mail']))
    		{
    		if($_POST['mail']==$_POST['confirm_mail'])  //on verifie que les adresses soit les meme
    		{
     
     
    		$req=$bdd->prepare('INSERT INTO formulaire(pseudo,mdp,mail)VALUES (?,?,?)');
    		$req->execute(array(
    							$_POST['pseudo'],
    						md5($_POST['mdp']),
    							$_POST['mail']));
     
    				echo 'Inscription valide merci de la confirmer dans le mail que vous avez recu ';
    		}
    		}
    				elseif  (isset($_POST['mail'])!=($_POST['confirm_mail']))
    		{
    				echo 'Les deux adresses mail doivent etre les meme';
    		}
    				elseif (!empty($_POST['valider']))
    		{
    				echo 'Tous les champs doivent etre remplis';
    		}
    //?>	C'est pas obligatoire et ça évite l'écriture d'un \n avant le header()

    et ensuite une redirection "obligatoire" à l'aide de la fonction header()
    http://fr.php.net/manual/fr/function.header.php

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    enfin quand je dit "ne fait que", c'est pour l'instant... apres ya gestion de session y tout

Discussions similaires

  1. probleme formulaire
    Par serapha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/12/2005, 11h12
  2. probleme formulaire
    Par serapha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/12/2005, 20h19
  3. [MySQL] Probleme Formulaire [Dropdown]
    Par lemagicien dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2005, 10h27
  4. Problemes formulaires web
    Par mdma64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/08/2005, 10h09
  5. probleme avec Response.Redirect
    Par nicerico dans le forum ASP
    Réponses: 2
    Dernier message: 06/08/2004, 16h21

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