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 :

Texte long envoyé par formulaire non enregistré dans la base de données


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Texte long envoyé par formulaire non enregistré dans la base de données
    Bonjour à tous,

    Je me permet de poster car je suis face à un soucis qui me bloque depuis plusieurs jours.

    Je développe une fonctionnalité d'un site qui récupère du texte et qui le stock dans une base de données MySQL.

    Voici le formulaire :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action='gestionnaire_editeur.php' method='post'>
    <textarea rows='1' cols='90' name='titre'>Titre</textarea>
    <textarea rows='15' cols='90' name='contenu'>Contenu</textarea>
    <input type='submit' name='enregistrer' value='Enregistrer'>
    </form>

    Bref, c'est très classique, très simple.

    Je récupère la valeur de "contenu" et de "titre" dans gestionnaire_editeur.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $titre = $_POST['titre'];
    $contenu = $_POST['contenu'];
    $timestamp = time();
     
    $reqsql = "INSERT INTO table (ID, titre, contenu, timestamp) VALUES ('', '$titre', '$contenu', '$timestamp');";
    mysql_query($reqsql,$connection); // envoi de la requête à la base de données
    Dans la base, la table contient cette structure :

    ID int(11)
    titre text
    contenu longtext
    timestamp int(11)


    Mon soucis est simple : lorsque j'entre un texte assez court (dans contenu), la requête est bien exécutée par contre lorsqu'il devient assez conséquent, rien ne se passe.

    J'ai tenter de d'afficher "contenu" juste avant le INSERT : tous les caractères sont présents. Par précaution, j'ai mis le type "longtext" à "contenu" mais rien n'y fait.

    D'où peut venir cette limitation?

    Merci par avance pour vos réponses,
    JC

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    En quoi est-ce un problème HTML ?

    Au passage, ton script n'est absolument pas sécurisé et est ouvert aux injections SQL.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    J'ai posté dans cette section car j'ai un doute sur le textarea. Il aurait été mieux dans la section php?

    Pour l'injection de SQL, j'ai nettoyé le code avant de poster afin qu'il soit plus présentable.

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Il n'y a pas de limitation à ce niveau là, juste des erreurs de développement.
    A mon avis tu as une erreur SQL avec un certain texte (ou plutôt certains caractères). Rajoute un or die(mysql_error()); derrière ton mysql_query().

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/09/2014, 15h18
  2. Réponses: 1
    Dernier message: 11/09/2013, 10h44
  3. Réponses: 5
    Dernier message: 28/02/2011, 21h42
  4. Réponses: 13
    Dernier message: 08/01/2011, 02h52
  5. textbox.text enregistrer dans la base de donnée
    Par christi dans le forum ASP.NET
    Réponses: 21
    Dernier message: 06/02/2007, 17h27

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