Partage
  • Partager sur Facebook
  • Partager sur Twitter

formulaire

Sujet résolu
    10 mars 2007 à 11:29:05

    Salut a tous,

    Debutant en php, je voudrais comprendre et trluver la solution. Je m'explique

    j'ai un formulaire. Quand je mets un tout petit texte dans le champ actualité, l'enregistrement dans ma bdd se passe bien. Si je mets un texte long, ca coince. Si je previsualise mon envoi, tout se passe bien
    Ca vient de mon champ (text dans la bdd) ?
    le page :
    // retour du form d'ajout

    if (isset ($_POST['apercu']))
    // si un apercu du formulaire est demandé
    {

    $periode = $_POST['periode'] ;
    $resume = $_POST['resume'] ;
    $aff = $_POST['aff'];
    $auteur = $_POST['auteur'] ;
    $actualite = $_POST['actualite'] ;
    echo '<div align="center"><strong>Ajout d\'une actualité</strong><br><em>Prévisualisation</em></div><br><br>
    <table width="640" bgcolor="#33ccff" border="0"><tr><td><font color="#0000FF"><b>'.$periode.'</b></font><br>Posté par '.$auteur.'<br><em>
    <u>Résumé</u> : '.nl2br(stripslashes($resume)).'</em>.<br><br><div align="justify">'.nl2br(stripslashes($actualite)).'</div></td></tr></table>';
    // affichage des donnees mises en page
            echo'
    <form name="depot_article" method="post" action="actualite.php">
    <!-- =>archives.php -->
            <table width="300" border="0" align="center">
          <tr>
            <td><div align="center">
              <input name="apercu" type ="submit" value="Apercu">
            </div></td>
            <td><div align="center">
                      <input name="envoyer" type ="submit" value="Envoyer">
                     </div></td>
          </tr>
        </table>
            <br>
            <br>
            afficher : (o/n)
            <input name="aff" type="text" id="aff" size="2" maxlength="1" value="'.$aff.'">
            <br>
            <br>
            Auteur :
            <input name="auteur" type="text" id="auteur" size="35" value="'.$auteur.'">
            <br>
            <br>
            p&eacute;riode :
            <input name="periode" type="text" id="periode" size="25"value='.$periode.'">
            <br>
            <br>
            Résumé : <textarea name="
    resume" rows="5" cols="40" >'.stripslashes($resume).'</textarea>
            <br><br>
    <br>
            Actualit&eacute; :
            <textarea name="
    actualite" rows="10" cols="40">'.stripslashes($actualite).'</textarea>
            <br><br>
            </form>';
    //formulaire de modif des donnees

    }
    else
    {
    // sinon
    if ( isset ($_POST['envoyer']))
    // si le formulaire a été envoyé, enregistrement danxs la bdd
    {
    //enregistrement actualité

            $date = date ("
    d-m-Y");
            $sql='INSERT INTO actualite (id, aff, auteur, actualite, resume, periode, date) VALUES (\'\',\''.$_POST['aff'].'\', \''.
    $_SESSION['user'].'\', \''.stripslashes($_POST['actualite']).'\', \''.stripslashes($_POST['resume']).'\', \''.$_POST['periode'].'\', \''.$date.'\')';
            mysql_query ($sql) or die ("
    impossible de se connecter");
            if ($_POST['aff'] !='o')
            {
                    echo '<div align "
    center"><u>L\'actualité que vous venez d\'ajouter ne sera pas affiché</u></div>';
            }
    }

            if (isset ($_GET['id']))
            {
    // choix de la requete
                    $sql='SELECT * FROM actualite WHERE id='.$_GET['id'];
    // selectionne l'actualite choisie
                    $reponse = mysql_query ($sql);
                    while ($donnees = mysql_fetch_array ($reponse))
                    {
                            echo '<font color="
    #0000FF"><b>'.$donnees['periode'].'</b></font><br>Posté par '.$donnees['auteur'].'<br><em>
    <u>Résumé</u> : '.nl2br($donnees['resume']).'</em>. <br><br><div align="justify">'.nl2br($donnees['actualite']).'</div>';
                    }
            }
            else
            {
                    $sql='
    SELECT * FROM actualite WHERE aff=\'o\' ORDER BY id DESC';
    // selectionne toutes les actualités
                    $reponse = mysql_query ($sql);
                    while ($donnees = mysql_fetch_array ($reponse))
                    {
                            echo '
    <font color="#0000FF"><b>'.$donnees['periode'].'</b> </font><br>
    <em><font size="2">'.$donnees['resume'].'</font></em><br>Posté par '.$donnees['auteur'].'<BR>';
                            echo '
    <a href="actualite.php?id='.$donnees['id'].'"><font size="2" color="#0000FF"><div align="right">Lire la suite</div>
    </font></a><br><br>';

                    }
            }
    }
    • Partager sur Facebook
    • Partager sur Twitter
      10 mars 2007 à 11:55:46

      Salut,
      As tu essayé avec longtext en type de donnée dans ta bdd?
      • Partager sur Facebook
      • Partager sur Twitter
        10 mars 2007 à 12:33:46

        Dans le code que tu Post, vu les couleurs tu semble avoir un problème de balise! Tu passe de PHP en html sans balise.
        Ou je ne les ai pas vues
        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2007 à 14:06:21

          mon formulaire te semble etre en HTML mais tu as un echo avant"<!-- =>archives.php -->" qui se termine avant "//formulaire de modif des donnees"
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2007 à 14:27:15

            Ca c'est du HTML:
            Résumé : <textarea name="resume" rows="5" cols="40" >'.stripslashes($resume).'</textarea>
            <br><br>
            <br>
            Actualit&eacute; :
            <textarea name="actualite" rows="10" cols="40">'.stripslashes($actualite).'</textarea>
            <br><br>
            </form>';

            Ca c'est du PHP

            //formulaire de modif des donnees

            }
            else
            {
            // sinon

            Où est ta balise?
            • Partager sur Facebook
            • Partager sur Twitter
              10 mars 2007 à 14:52:17

              negatif, j'ouvre les "'" avec <!-- =>archives.php -->, dedans je mets du html et je mets en forme comme si c'etait du html. Ensuite je mets "';" avant //formulaire de modif des donnees. Au milieu y a des "'.$variable." comme ici :
              <textarea name="actualite" rows="10" cols="40">'.stripslashes($actualite).'</textarea>
              • Partager sur Facebook
              • Partager sur Twitter

              formulaire

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown