Comment envoyer des données dans la bd sur clic de bouton

ghisloy Messages postés 137 Statut Membre -  
ghisloy Messages postés 137 Statut Membre -
Bonjour, étant novice en php j'ai du mal a comprendre son foncionnement.
je voudrais ajouter un enregistrement dans une base de donnée mysql sur clic bouton Voici ma fonction php qui se situe en haut de ma page php


function ajoutnews1()
{
mysql_connect("localhost", "root","") or die("Echec de connexion au serveur.");; // Connexion à MySQL
mysql_select_db("cfdeco") or die("Echec de sélection de la base.");; // Sélection de la base coursphp
 
echo('bla');
if (isset($_POST['titren1'])) // Si la variable existe
{	
	if (isset($_POST['daten1'])) // Si la variable existe
	{
		if (isset($_POST['descn1'])) // Si la variable existe
		{
			$titre = $_POST('titren1');
			$date = $_POST('daten1');
			$desc = $_POST('descn1');
			echo($titre);
			mysql_query("insert into news (titre_news,texte_news,date_news) values('$titre','$date','$desc')"); // Requête SQL
			mysql_close();
 
		}
	}
}
 
 
}
 


et voici ce qui se trouve sur ma page en bas le code du formulaire

<p>Titre : </br><input type="text" name="titren1"/></p>
<p>Date : </br><input type="text" name="daten1" /><p>
<p>News : </br><textarea name="descn1" id="descn1" rows="10"; cols="50";></textarea><p>
<input type="submit" value="Valider" onclick="="<?php ajoutnews1(); ?>"/>

2 réponses

  1. codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
     
    bonjour, tu a mélanger une fonction php contre une fonction javascript.

    l'attribut onclick appartient a javascript et donc attend du javascript.

    Tu peux donc supprimer le onclick="......."

    et ajouter ajoutnews1(); a la fin du php après cette même fonction qui fini par la dernière accolade }.

    tu peut déplacer mysql_close(); juste avant cette même accolade
    0
    1. ghisloy Messages postés 137 Statut Membre
       
      si je comprend bien, je fais ceci <p>Titre : </br><input type="text" name="titren1"/></p>
      <p>Date : </br><input type="text" name="daten1" /><p>
      <p>News : </br><textarea name="descn1" id="descn1" rows="10"; cols="50";></textarea><p>
      <input type="submit" value="Valider" ="<?php ajoutnews1(); ?>"/>
      0
    2. codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
       
      le ="<?php ajoutnews1(); ?>" appartient a onclick, il faut aussi le supprimer.

      Le fait de cliquer sur le bouton du formulaire te redirigera vers la même page si tu a bien configurer action="la page php" et method="post"


      Le fait d'être rediriger vers la page qui contient ton php enregistrera dans la bdd.
      Mais ce serai trop facile, car en faite tu as encore fait une erreur.
      tu a crée une fonction php qui ce nome ajoutnews1()

      et n'est exécuter nulle part en php.
      c'est pour ça que je tes demander de rajouter ça : ajoutnews1();
      mais pas n'importe où.
      0
    3. ghisloy Messages postés 137 Statut Membre
       
      ok carrément j'enlève et je m'arrête a valider sinon dis moi stp où précisement je dois mettre la fonction

      merci
      0
    4. codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
       

      // definition de la fonction (mais pas son execution)
      function ajoutnews1(){

      // algorithme
      }

      // execution de la fonction
      ajoutnews1();
      0
      1. ghisloy Messages postés 137 Statut Membre > codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention  
         
        ok
        0
  2. jm-25 Messages postés 149 Statut Membre 123
     
    Salut,

    Ton formulaire doit être de la sorte sinon ça ne peut pas marcher:

    <form action="page.php" method="post">
    <p>Titre : </br><input type="text" name="titren1"/></p>
    <p>Date : </br><input type="text" name="daten1" /><p>
    <p>News : </br><textarea name="descn1" id="descn1" rows="10"; cols="50";></textarea><p>
    <input type="submit" value="Valider"/>
    </form>


    Donc l'utilisateur rempli les champs, et quand il clique sur le bouton valider, ça passe les variables titren1, daten1 et descn1 à ta "page.php". Après ta page.php traite les données reçues et enregistre les données dans la bdd. Avec ton code seul, rien ne se passera.
    0
    1. ghisloy Messages postés 137 Statut Membre
       
      jm-25 si je n'ajoute pas <?php ajoutnews1(); ?> est ce que cela ira dans la bd
      0