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 :

Undefined index: texte


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club Avatar de tania.du
    Profil pro
    Inscrit en
    Février 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut Undefined index: texte
    Bonjour,

    J'ai une message d'erreur qui apparait à l'affichage du texte:
    Notice: Undefined index: texte in C:\Program Files\EasyPHP 2.0b1\www\moi\widgEditor\submit.php on line 22

    Ligne 22 est : $texte = mysql_real_escape_string($_POST["texte"]);

    Et pourtant, il me semble que le code est bon, je ne trouve pas où il y a le problème. Malgré le message d'erreur l'insertion est correct. ??????

    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
    <?php
    header("Content-Type: text/html; charset=iso-8859-1");
     
    /* Insertion variable de connexion et fonctions utiles */
    require_once('includes/fonctions.php') ;
    require_once('includes/mysql/mysql.php') ;
     
    foreach($_POST as $cle => $val) {
    	echo $cle." => ".$val."<br/>" ;
    }
     
    echo str_repeat("<br/>",3) ;
     
    // Nouvelle instance
    $Bdd = new MySQL();
     
    // Connexion à la base de donnée
    // Et sélection de la base
    if(!$link = $Bdd -> connect($MySQL_Host, $MySQL_User, $MySQL_Passwd, $MySQL_Base))
    die( $Bdd -> return_error() );
     
    $texte = mysql_real_escape_string($_POST["texte"]);
     
     
    $Query="INSERT INTO matable(texte)
    VALUES('$texte')";
     
    // Envoi de la requete :
    if( !$Result = $Bdd -> Send_Query($Query, $link) ) {
    die( $Bdd -> return_error());
    } else {
    echo "Insertion OK !" ;
    }
     
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Malgré le message d'erreur l'insertion est correct.
    Le message d'erreur signifie que $_POST['texte'] n'existe pas donc il doit plutot t'inserer un ligne vide.
    il faut que tu vérifie que la variable existe avec isset() avant de l'utiliser.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Le message d'erreur signifie que $_POST['texte'] n'existe pas donc il doit plutot t'inserer un ligne vide.
    il faut que tu vérifie que la variable existe avec isset() avant de l'utiliser.
    Vraissemblement, ta variable n'a pas été postée par le formulaire aussi. Vérifies bien que 1/ c'est bien la validation du formulaire qui appelle ton script, 2/ tes variables ont bien le bon nom (<INPUT NAME='texte' />)

  4. #4
    Nouveau membre du Club Avatar de tania.du
    Profil pro
    Inscrit en
    Février 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    Oui , c'est bien le formulaire qui appele mon script et mais à la place de l'input c'est le textearea <textarea name="texte" class="widgEditor nothing" id="texte">

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Tu as le message d'erreur, mais l'insertion est correcte ? C'est pas possible... Tu es sûr que le texte est bien inséré dans ta bdd ? et non pas un texte vierge ?

    Remplace ton script de réception du formulaire par echo $_POST["texte"];
    est-ce que tu récupère les données ?

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour,
    Sabotage t' a expliqué pourquoi ça ne marchait pas,
    du reste il y a 2 régles a respecter pour ta sécuritée,

    1) Ne jamais utiliser direstement un POST ou un GET,
    directement mais une variable associée comme je
    l'indiques en tête de ton code.

    2) bloques aprés contrôle tout ce qui ne doit s'exécuter
    que lorsque un POST ou un GET existe vraiment

    ça donnes cela

    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
     
    <?php
    header("Content-Type: text/html; charset=iso-8859-1");
     
    /* Insertion variable de connexion et fonctions utiles */
    require_once('includes/fonctions.php') ;
    require_once('includes/mysql/mysql.php') ;
    if (isset($_POST["texte"])) $texte=htmlentities(trim($_POST["texte"]));
        else $texte="";
     
    if ($texte!="")
     
    {
    //ETC........................
     
    }
    ?>

  7. #7
    Nouveau membre du Club Avatar de tania.du
    Profil pro
    Inscrit en
    Février 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    A megar.

    oui, j'ai regardé, la base de données est rempli par le texte que j'ai écris dans le formulaire, je peux aussi afficher le contenu de la base, le texte s'affiche correctemment. C'est juste le message qui s'affiche au mement d'envoie de la variable, tout le reste marche. c'est pour ça , je n'arrive rien à comprendre.

  8. #8
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par tania.du Voir le message
    A megar.

    oui, j'ai regardé, la base de données est rempli par le texte que j'ai écris dans le formulaire, je peux aussi afficher le contenu de la base, le texte s'affiche correctemment. C'est juste le message qui s'affiche au mement d'envoie de la variable, tout le reste marche. c'est pour ça , je n'arrive rien à comprendre.
    On se demande pourquoi t'avoir longuement répondu, ou nous l'avons mal fait !!

    Si tu executes cette fonction alors que $_POST n'est pas existant, tu aura
    toujours cette erreur, c' est pourquoi je t'ais donné la trame a respecter,

    OUI il va bien enregistrer, mais une fois fait il revient sur la page et la POST n'est plus actif !!!!! :

  9. #9
    Nouveau membre du Club Avatar de tania.du
    Profil pro
    Inscrit en
    Février 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 73
    Points : 38
    Points
    38
    Par défaut
    Ok, merci FoxLeRenard! Je vais tester.

    J'ajouterai une chose qui me parrait être très bizarre: Qand je doit inserrer 2 variables , au lieu de 1 , je n'ai plus de message d'erreur et tout a l'air fonctionner .

Discussions similaires

  1. [Librairies] PHPMVC : Undefined index
    Par Benat64 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/12/2005, 09h27
  2. [Noob] Undefined index: id
    Par Devil666 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2005, 13h00
  3. Undefined index
    Par sebduduf dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 12h13
  4. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21
  5. [SQL Serv2000][Indexation Texte Integral]Choix menu grisé
    Par TreizeSegments dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 09h21

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