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

ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
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

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
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
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
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
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
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
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
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   > codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention  
 
ok
0
jm-25 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   121
 
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
ghisloy Messages postés 89 Date d'inscription   Statut Membre Dernière intervention  
 
jm-25 si je n'ajoute pas <?php ajoutnews1(); ?> est ce que cela ira dans la bd
0