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 :

Problème avec un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut Problème avec un formulaire
    Voila, j'ai fini de faire un formulaire qui envoi des informations dans la base de donnée, il fonctionne ( les informations sont bien ajouter dans chaque champ de la table en question) mais mon problème, c'et que sur la page , j'ai le message
    "
    Notice: Undefined index: action in c:\program files\easyphp1-8\www\rnews.php on line 2
    message "

    Mon php:
    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
    <?php
    switch($_POST['action'])
    {
      case "inserer":
     
     
        $host = "localhost";
        $user = "root";
        $pass = "";
        $bdd = "";
        $table = "News";
     
     
    $time = date("G:i:s");   //l'heure de connextion
     
     
        @mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données");
        @mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
     
        echo ' ok , message bien envoyer par exemple ';
     
            $titre = $_POST['titre'];
         $texte = $_POST['texte'];
    $nom = $_POST['nom'];
    $sql = nl2br ("INSERT INTO news ( titre , auteur, date , texte, ip)  VALUES('" .$titre. "' , '" .$nom. "', '".date("Y-m-d H:i:s")."' , '".$texte."', '".$_SERVER["REMOTE_ADDR"]."') ");
    $res = mysql_query($sql);
    mysql_close();
    break;
    // AFFICHAGE FORMULAIRE HTML
    default:
    ?>
    <b>message</b>
    <br>
    <html>
    <br>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    titre : <input type="text" name="titre" size=50 />
    nom : <input type="text" name="nom" size=50 />
    <input type="hidden" name="action" value="inserer" />
    <p><textarea cols=60 rows=11 input type="text" name="texte" /></textarea> </p>
    <p><input type="submit" name="Submit" value="Envoyer" /></p>
     
            </form>   </html>
        <?
     
      break;
     
    }
     
    ?>
    </body>
    </html>

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    l'intégrité de ton script repose sur le contenu de la superglobale $_POST['action']. sers toi d'une variable reposant dessus, initialises-la avant et tu n'auras plus cet avertissement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $action = (!isset($_POST['action']))?(''):($_POST['action']);
     
    switch($action) {
     
    ....
    ....


  3. #3
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    biensur au debut tu n'as pas posté le formulaire donc $_post['action'] n'est definit donc c'est mieu de faire de cette façon:
    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
    <?php 
    if(isset($_POST['action']) )  { 
        $host = "localhost"; 
        $user = "root"; 
        $pass = ""; 
        $bdd = ""; 
        $table = "News"; 
        $time = date("G:i:s");   //l'heure de connextion 
    	@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données"); 
        @mysql_select_db($bdd) or die("Impossible de se connecter à la base de données"); 
        echo ' ok , message bien envoyer par exemple '; 
        $titre = $_POST['titre']; 
         $texte = $_POST['texte']; 
    	$nom = $_POST['nom']; 
    	$sql = nl2br ("INSERT INTO news ( titre , auteur, date , texte, ip)  VALUES('" .$titre. "' , '" .$nom. "', '".date("Y-m-d H:i:s")."' , '".$texte."', '".$_SERVER["REMOTE_ADDR"]."') "); 
    	$res = mysql_query($sql); 
    	mysql_close(); 
    }
    else {
    // AFFICHAGE FORMULAIRE HTML 
    ?> 
    <b>message</b> 
    <br> 
    <html> 
    <br> 
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    titre : <input type="text" name="titre" size=50 /> 
    nom : <input type="text" name="nom" size=50 /> 
    <input type="hidden" name="action" value="inserer" /> 
    <p><textarea cols=60 rows=11 input type="text" name="texte" /></textarea> </p> 
    <p><input type="submit" name="Submit" value="Envoyer" /></p> 
    </form>   </html> 
    <?  }  ?> 
    </body> 
    </html>

  4. #4
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut
    OK, ca fonctionne, merci beaucoup.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2006, 19h48
  2. problème avec un formulaire
    Par mary12 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 07/06/2006, 11h39
  3. Problème avec un formulaire
    Par GilesB dans le forum Langage
    Réponses: 9
    Dernier message: 06/06/2006, 21h19
  4. [Système] Problème avec les formulaires
    Par Ludo75 dans le forum Langage
    Réponses: 9
    Dernier message: 02/02/2006, 11h13
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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