Page 1 sur 1

Envoyer des données d'un formulaire dans une base de données

Posté : 14 juil. 2014, 15:43
par samtm123
Bonjour à tous, j'espère que vous allez bien :D ?

Je viens vers vous car j'ai soif d'apprendre comment faire et surtout car je me casse la tête à trouver ce que je veux sur Google, mais rien de satisfaisant :roll:

Je vous explique: Je me suis lancer un nouveau défi, faire un site de streaming.. Pour ce faire, j'ai créé un formulaire(super basique) ici, http://http://birdstream.net/admin/ J'aimerais dans le fond que quand je clique sur envoyé, les information ce rajoute dans ma base de données :oops:

J'aurais une autre petite demande, si possible quand on met une virgule pour séparer les acteurs que ça crée la liste des acteurs dans la base de données et non comme si c'était toute une phrase (Je sais pas si vous comprenez ?

Quelqu'un pourrais m'expliquer comment cela fonctionne ?

Merci beaucoup et surtout d'avance pour votre futur aide 8-|

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 18:22
par moogli
salut,

récupérer les valeurs d'un formulaire : http://www.lephpfacile.com/cours/8-recu ... ormulaires
insérer les données en bases : http://www.lephpfacile.com/cours/14-ins ... votre-base

Après pour t'aider plus il nous faut du code, ciblé, afin d'être plus précis.

pour séparer une chaîne de caractères sur un délimiteur tu peux utiliser explode.


@+

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 20:12
par samtm123
Merci moogli pour ta réponse rapide, je me penche sur cela et te reviens :)

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 20:50
par samtm123
C'est encore moi :mrgreen:

Alors quand je clique sur envoyer mon formulaire, je l'envoi sur la page ajout.php. Alors pour commencer, voici mon formulaire:

Code : Tout sélectionner

<form method="post" action="ajout.php"> Le titre du film: <br /> <input type="text" id="titre" name="titre" /> <br /> Code de l'image: <br /> <input type="text" id="image" name="image" /> <br /> Code iframe du film: <br /> <input type="text" id="iframe" name="iframe" /> <br /> Description du film: <br /> <input type="text" id="description" name="description" /> <br /> Année du film: <br /> <input type="text" id="year" name="year" /> <br /> Pays du film: <br /> <input type="text" id="pays" name="pays" /> <br /> Les acteurs du film: (séparer par une virgule chaque acteur) <br /> <input type="text" id="acteurs" name="acteurs" /> <br /> <input type="submit" value="Envoyer le film"> </form>
Ensuite sur la page ajout.php voici mon code (pour le moment):

Code : Tout sélectionner

<?php if (isset($_POST['titre']) && isset($_POST['image']) && isset($_POST['description']) && isset($_POST['year']) && isset($_POST['pays']) && isset($_POST['acteurs']) && isset($_POST['iframe'])) { echo "Le film à été ajouter avec succes !"; } ?>
Le problème est que même si j'oubli de remplir un champ, mon echo apparait quand même. J'ai donc rajouter ce code:

Code : Tout sélectionner

if (empty($_POST['titre']) && empty($_POST['image']) && empty($_POST['description']) && empty($_POST['year']) && empty($_POST['pays']) && empty($_POST['acteurs']) && empty($_POST['iframe'])) { echo "pas bon !"; }
Maintenant, quand je rajoute ce code il n'y à juste plus aucun message qui apparaît :D

On pourrait m'expliquer ^^ ?

P.S, j'ai aussi essayer comme ceci à la place du dernier code et ça ne fonctionne pas :(

Code : Tout sélectionner

else { echo "Pas bon"; }
En fait, même si je marque rien dans mon formulaire.. mon echo "Le film à été ajouter avec succes !"; fonctionne quand même :|

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:10
par Elie
<?php

	$error = 0;
	foreach($_POST as $k => $v) {
		if(empty($_POST[$k])) $error = 1;
	}
	
	if($error == 0) {
		echo 'c bon';
	} else {
		echo 'c pas bon';
	}
?>
	
Ca donne quoi ca ?

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:13
par samtm123
C'Est super :D Tout fonctionne, merci à toi Elie vraiment merci :D!!

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:24
par samtm123
Bon j'ai une autre question... Maintenant que je veux ajouter les infos dans la base de données, j'ai rajouter ce code:

Code : Tout sélectionner

$sql = 'INSERT INTO titre VALUES ("$_POST['titre']")'; $sql = 'INSERT INTO image VALUES ("$_POST['image']")'; $sql = 'INSERT INTO description VALUES ("$_POST['description']")'; $sql = 'INSERT INTO year VALUES ("$_POST['year']")'; $sql = 'INSERT INTO pays VALUES ("$_POST['pays']")'; $sql = 'INSERT INTO acteurs VALUES ("$_POST['acteurs']")'; $sql = 'INSERT INTO iframe VALUES ("$_POST['iframe']")'; mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); // on ferme la connexion à la base mysql_close();
Devine quoi, ça ne marche pas :D!

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:28
par Elie
INSERT INTO table (champ1, champ2) VALUES (valeur1, valeur2)

http://dev.mysql.com/doc/refman/5.0/fr/insert.html

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:36
par samtm123
D'accord, en fait pour le code que tu viens de me donner je pense bien me débrouiller, le truc que j'aimerais si tu veux peut-être me montrer un exemple avec un screenshot de comment je devrais arranger ma base de données sachant que je veux qu'elle ressemble à cela, mais pour chaque champ:

Image

en fait, c'est la dernière chose que je demande... Les tutoriels sur le web j'en ai pas trouver qui me dise exactement comment faire.. J'aimerais que tu me l'explique, tu as l'air bonne avec tout cela ^^

Merci vraiment beaucoup xx !!!

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 14 juil. 2014, 21:40
par Elie
Euh bah ... https://www.youtube.com/watch?v=t4wQTqZ-PwE
A dans 30 minutes

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 15 juil. 2014, 16:52
par samtm123
Bon :D!.... Oui oui j'ai encore le même problème :P

Voici le code que j'ai rajouter, mais encore une fois plus rien apparait et fonctionne..
$sql = 'INSERT INTO Stream (idStream, titre, description, year, pays, acteurs, iframe, image) VALUES (NULL, "$_POST['titre']", "$_POST['description']", "$_POST['year']", "$_POST['pays']", "$_POST['acteurs']", "$_POST['iframe']", "$_POST['image']")';

mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

// on ferme la connexion à la base
mysql_close();
Une solution ?

Merci d'avance vraiment !!

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 15 juil. 2014, 17:03
par Elie
http://php.net//manual/fr/language.operators.string.php

'".$variable."'

Un ' autour, un " pour dire qu'on va mettre une variable et un . pour la lier
$sql = "INSERT INTO Stream (idStream, titre, description, year, pays, acteurs, iframe, image) VALUES (NULL, '".$_POST['titre']."', '".$_POST['description']."', '".$_POST['year']."', '".$_POST['pays']."', '".$_POST['acteurs']."', '".$_POST['iframe']."', '".$_POST['image']."')";

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 15 juil. 2014, 20:37
par samtm123
Bonjour Elie, et merci!

J'ai quelque chose qui s'affiche, mais j'ai tout de même une erreur. Essaye par toi même, http://birdstream.net/admin/ (Envoie le formulaire et tu verra ;)

Voici le code php que j'ai:
<?php
$base = mysql_connect ('192.95.31.34:3306', 'zebre456', '123234');
mysql_select_db ('bstream', $base) ;
?>

<?php

        $error = 0;
        foreach($_POST as $k => $v) {
                if(empty($_POST[$k])) $error = 1;
        }
        
        if($error == 0) {
                echo 'c bon';
        } else {
                echo 'c pas bon';
        }
$sql = "INSERT INTO Stream (idStream, titre, description, year, pays, acteurs, iframe, image) VALUES (NULL, '".$_POST['titre']."', '".$_POST['description']."', '".$_POST['year']."', '".$_POST['pays']."', '".$_POST['acteurs']."', '".$_POST['iframe']."', '".$_POST['image']."')";

mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

// on ferme la connexion à la base
mysql_close();
		?>
(Mes infos de connexion ne sont pas les bon)

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 15 juil. 2014, 20:47
par xTG
[quote]Table 'bstream.Stream' doesn't exist[/quote
L'erreur parle d'elle même, il n'existe pas de table nommée Stream dans la base de données bdstream. ;)

Re: Envoyer des données d'un formulaire dans une base de don

Posté : 15 juil. 2014, 20:54
par samtm123
Oh mon dieu, j'ai dû sauter par dessus cette ligne de texte car j'ai pas vu qu'il était marquer :mrgreen:

J'ai mit un S majuscule :P

Merci !!