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 :

message d'erreur sur action


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut message d'erreur sur action
    Bonjour il s'agit d'ajouter un utilisateur
    voici le code

    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
    <html>
    <head>
    <title>WebJeff - Espace membre</title>
    </head>
    <body>
    <font face="Verdana" size="2">
    <center>
    <?
    require("conf.php3");
     
    switch($action) {
    /*-----------------------------------------------------------------*/
    /*	AJOUT DANS MySQL			*/
    /*-----------------------------------------------------------------*/
     
    case "add";
     
    // CONNEXION A LA BASE DE DONNEE
    $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
     
    // TEST SUR LES VALEURS SAISIES
    if($pseudo_membre==""){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
    if($passe_membre==""){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
    // CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
    //if($email==""){echo "Vous n'avez pas saisi votre email<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
    //if($ville==""){echo "Vous n'avez pas saisi la ville<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
     
    // ON VERIFIE SI CE PSEUDO EXISTE DEJA
    $requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo_membre\"",$db_link) or die(mysql_error());
    $num=mysql_num_rows($requete);
    if($num!=0)
    	{
    	echo "Ce pseudo existe déjà, veuillez en choisir un autre<br><br><a href=\"javascript:window.history.back()\">Retour</a>";
    	}
    else
    	{
    	// CREATION D'UN IDENTIFIANT ALEATOIRE
    	$taille = 20;
    	$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
    	srand(time());
    	for ($i=0;$i<$taille;$i++)
    		{
    		$id.=substr($lettres,(rand()%(strlen($lettres))),1);
    		}
     
    	// ON RECHERCHE L'ID MAXIMUM DE LA TABLE
    	$requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$db_link) or die(mysql_error());
    	$idmax=mysql_result($requete,0,"max(id_membre)");
     
    	// INSERTION DANS LA TABLE 
    	$idnew=$idmax+1;
    	$requete=mysql_db_query($sql_bdd,"insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\")",$db_link) or die(mysql_error());
    	// CHAMPS SUPLEMENTAIRES, complétez la requête précédente en ajoutant les variables et en respectant l'ordre des colonnes de la table. Exemple :
    	// insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\",\"$ville\")
     
    	// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
    	echo "Merci, vous êtes bien enregistré. Cliquez <a href=\"$zone_membre?id=$id\">ici</a> pour entrer dans votre espace privé.";
    	}
     
    // DECONNEXION MYSQL
    mysql_close($db_link);
     
    break;
     
     
    /*-----------------------------------------------------------------*/
    /*	AFFICHAGE DU FORMULAIRE			*/
    /*-----------------------------------------------------------------*/
     
    default;
    echo "	<h2>Nouveau membre</h2>
    	<form action=\"adduser.php3\" method=\"post\">
    	<input type=\"hidden\" name=\"action\" value=\"add\">
    	Chosissez un pseudo<br><input type=\"text\" name=\"pseudo_membre\"><br>
    	Chosissez un mot de passe<br><input type=\"password\" name=\"passe_membre\"><br>
    	<! -- CHAMPS SUPLEMENTAIRES, décommentez les 2 lignes suivantes -->
    	<!-- Votre email<br><input type=\"text\" name=\"email\"><br> -->
    	<!-- Ville<br><input type=\"text\" name=\"ville\"><br> -->
    	<input type=\"submit\" value=\"Envoyer\">
    	</form>
    	<font face=\"Verdana\" size=\"2\"><a href=\"index.htm\">Se connecter</a></font>";
    break;
    }
    ?>
    </center>
    </font>
    </body>
    </html>
    et voici le message d'erreur qui apparait

    Notice: Undefined variable: action in d:\program files\easyphp1-8\www\espace membre\adduser.php3 on line 11
    sur cette ligne : switch($action) {

    Je n'arrive pas à comprendre pourquoi merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    ta variable action n'a pas été instanciée, d'ou ton erreur. En gros, ta variable n'a jamais été définie dans ton code. D'ailleurs dans ton code, je ne vois à aucun moment l'endroit ou tu affectes une valeur à la variable action.

    Ensutie si mes souvenirs sont bons, il faut faire et non pas

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Je pense que en plus des remarque de Raideman qui sont exactes tu dois marquer avant ton switch pour recupérer ce add par un POST

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $action = $_POST["action"];

  4. #4
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut
    ok merci je vais tester ça

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

Discussions similaires

  1. message d'erreur sur test module
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 23/11/2005, 21h19
  2. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 15h21
  3. [Struts] Message d'erreur Validate Action Form
    Par cosmos38240 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/10/2005, 12h05
  4. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 13h10
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 16h30

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