Souci avec base de donnée

Résolu
Bonjour,
j'essaye d'envoyer des données en dans une base en mysql mais je n'y arrive pas et je ne sais pas ou est le problème dans mon code:

<?php


mysql_connect("localhost", "root");
mysql_select_db("test");

$pseudo=$_POST['pseudo'];
$titre_news=$_POST['titre news'];
$contenu_news=$_POST['contenu_news']; 
$new=nl2br ($contenu_news);

mysql_query("INSERT INTO news VALUES('', '" .$pseudo. "', '" .$titre_news. "', '" .$news. "')");

mysql_close();
?>
Configuration: Windows Vista
Firefox 3.0.13

8 réponses

  1. Contributeur
    <form action="sql.php" method="post" />
    <p align="center" class="Style3"> Rédiger une news </p>
    <p align="center" class="Style2"> </p>
    <p align="center" class="Style2">Titre:(50 caractères max)</p>
    <form id="titre_news" name="titre_news" method="post" action="">


    Ici tu ouvres un formulaire avant d'en avoir fermé un autre.

    Tu ne peux pas avoir un formulaire dans un autre, il faut les séparer.
    Par contre tu peux en avoir plusieurs sur la même page.

    Ensuite ta balise : <form action="sql.php" method="post" /> n'est jamais fermé et il faut enlever le / à la fin donc ça donnerait : <form action="sql.php" method="post">

    Donc pour tout ton formulaire si tu fais le traitement dans ta page sql.php il faut que tu fasses :

    <form action="sql.php" method="post">
    <p align="center" class="Style3"> Rédiger une news </p>
    <p align="center" class="Style2"> </p>
    <p align="center" class="Style2">Titre:(50 caractères max)</p>
    <div align="center">
    <input name="titre_news" type="text" id="titre_news" maxlength="50" />
    </div>
    <p align="center" class="Style2">Pseudo:(15caractères max)</p>
    <div align="center">
    <input name="pseudo" type="text" id="pseudo" maxlength="15" />
    </div>
    <p align="center" class="Style2">Contenu:</p>
    <div align="center">
    <textarea name="contenu_news" id="contenu_news"></textarea>
    </div>
    <div align="center">
    <input type="submit" name="button" id="button" value="Envoyer" />
    </div>
    </form>

    Essaie comme ça, ça devrait aller mieux

    1
    1. Contributeur
      Tu as un message d'erreur ou pas?
      0
      1. Bonjour

        j'ai rajouter un bout de code a la suite:
        mysql_query("INSERT INTO news VALUES('', '" .$pseudo. "', '" .$titre_news. "', '" .$news. "')");
         echo mysql_error().'<br />';

        As-tu un code d'erreur maintenant ?
        0
        1. Ma page html ne me renvoie vers aucune page c'est le pire :(

          <form action="sql.php" method="post" />
          <p align="center" class="Style3"> Rédiger une news </p>
          <p align="center" class="Style2">&nbsp;</p>
          <p align="center" class="Style2">Titre:(50 caractères max)</p>
          <form id="titre_news" name="titre_news" method="post" action="">
            
            
            <div align="center">
              <input name="titre_news" type="text" id="titre_news" maxlength="50" />
            </div>
          </form>
          <p align="center" class="Style2">Pseudo:(15caractères max)</p>
          <form id="form3" name="form3" method="post" action="">
            
            <div align="center">
              <input name="pseudo" type="text" id="pseudo" maxlength="15" />
              </div>
          </form>
          <p align="center" class="Style2">Contenu:</p>
          <form id="form2" name="form2" method="post" action="">
            
            <div align="center">
                <textarea name="contenu_news" id="contenu_news"></textarea>
              </div>
          </form>
          <form id="form4" name="form4" method="post" action="">
            <div align="center">
              <input type="submit" name="button" id="button" value="Envoyer" />
            </div>
          </form>
          
          0
          1. Ca marche mais j'ai un autre problème, après envoie de la news, il m'affiche:
            "La connexion avec le serveur a été réinitialisée pendant le chargement de la page."
            "La liaison au réseau a été interrompue pendant la négociation d'une connexion. Veuillez réessayer."

            Comment puis-je résoudre ce problème ?

            Et j'aimerai bien faire:

            si news est bien envoyé
            la news a été correctement envoye

            si news non envoyé
            La news n'a pas été envoyé

            Le tout avec if ou autre chose si c'est possible enfin
            0
            1. Contributeur
              Dans ta page sql.php tu as ça :
              <?php

              mysql_connect("localhost", "root", "");
              mysql_select_db("test");

              $pseudo=$_POST['pseudo'];
              $titre_news=$_POST['titre news'];
              $contenu_news=$_POST['contenu_news'];
              $news=nl2br ($contenu_news);

              if ( mysql_query("INSERT INTO news VALUES('', '" .$pseudo. "', '" .$titre_news. "', '" .$news. "')") ) {
              echo 'la news a été envoyée';
              } else {
              echo 'la news n'a pas été envoyée';
              }

              mysql_close();
              ?>

              Je t'ai corrigé quelques petites erreurs, ça devrait fonctionner.
              Je t'ai aussi ajouté ton if, dis moi si c'est bon.
              0
              1. Ca m'affiche toujours le message d'erreur je vais le tester online 5mn
                0
                1. Online ca marche, reste plus qu'a créer les autres fichiers:
                  modifier_news.php
                  supprimer_news.php
                  index.php

                  Merci à tous et surtout à Passarhino ;)
                  0