Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2008, 18h31   #1
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
Par défaut Traitement formulaire php

Bonjour a tous

Je fait appel a vous car je patoge grave depuis un certain temps, je suis très novice dans la domaine

Voila ce que je voudrai faire:

sur mon site je voudrai faire un formulaire, quand les visiteurs reponde je voudrai que les resultat s'affiche a l'ecran, que ca s'enregistre dans la BDD et aussi que ca s'affche a un endroit de ma page d'acceuil

Merci de m'aiguiller etde m'aidez

A+
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2008, 18h32   #2
Membre régulier
 
Avatar de L8O8L
 
Inscription : janvier 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 148
Points : 79
Points : 79
T'as pas déjà un bout de code?

Tu veux quoi du code ou un algo ?
L8O8L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2008, 18h47   #3
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
Voila mon code de mon formulaire, ce que je voudrait c'est la solution pour enregistrer les résultat dans la BDD et l'afficher sur un endroit de la page d'acceuil


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<center><span id="titrecategorie">Proposer
un lien</span><br>
<br>
</center>
<form name="formulaire" action="traitement.php"
 method="get">
  <table
 style="text-align: left; margin-left: auto; margin-right: auto;"
 border="1">
    <tbody>
      <tr>
        <td>Votre Pseudo : </td>
        <td><input name="nom" size="50"
 type="text"></td>
      </tr>
      <tr>
        <td>Votre pr&eacute;nom : </td>
        <td><input name="prenom" size="50"
 type="text"></td>
      </tr>
      <tr>
        <td>Votre email :</td>
        <td><input name="email" size="50"
 type="text"></td>
      </tr>
      <tr>
        <td>Cat&eacute;gorie ou r&eacute;f&eacute;rencer le lien</td>
        <td>
        <input name="categories" value="Moteur de recherche"
 type="radio">&nbsp;Moteur de recherche<br>
        <input name="categories" value="Truc et astuces"
 type="radio">&nbsp;Trucs et astuces<br>
        <input name="categories" value="Informatique"
 type="radio">&nbsp;Informatique<br>
        <input name="categories" value="Logiciel"
 type="radio">&nbsp;Logiciel<br>
        <input name="categories" value="News groupe/Usenet"
 type="radio">&nbsp;News groupe/Usenet<br>
        <input name="categories" value="Webmasters"
 type="radio">&nbsp;Webmasters<br>
        <input name="categories" value="Graphisme"
 type="radio">&nbsp;Graphisme<br>
        <input name="categories" value="Music"
 type="radio">&nbsp;Music<br>
        <input name="categories" value="Liens Linux"
 type="radio">&nbsp;Liens Linux<br>
        <input name="categories" value="Liens utiles"
 type="radio">&nbsp;Liens utiles<br>
        <input name="categories" value="Jeux flash"
 type="radio">&nbsp;Jeux flash<br>
        <input name="categories" value="Divers"
 type="radio">&nbsp;Divers<br>
        </td>
      </tr>
      <tr>
        <td>Le lien : </td>
        <td><input name="Le lien" size="50"
 type="text"></td>
      </tr>
      <tr>
        <td>Etes vous le Webmasters du site? </td>
        <td> <input name="webmasters_du_site"
 value="oui" type="radio">&nbsp;Oui<br>
        <input name="webmasters_du_site" value="non"
 type="radio">&nbsp;Non<br>
        </td>
      </tr>
      <tr>
        <td><input name="annuler" value="Annuler"
 type="reset"></td>
        <td><input name="soumettre" value="Envoyer"
 type="submit"></td>
      </tr>
    </tbody>
  </table>
</form>
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2008, 19h05   #4
Membre régulier
 
Avatar de L8O8L
 
Inscription : janvier 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 148
Points : 79
Points : 79
Alors dans ta page traitement.php ca doit faire quelque chose comme ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
 
// Tu peux tester le remplissement de tes champs avec
if((isset($_GET['name'])) && ($_GET['name'] != null)){ // par exemple
 
//apres tu fais ton traitement  :
//Connexion base de donnée et insertion des valeurs avec les fonctions php
 
//Apres si tu veux fais le revenir à l'accueil:
header("Location:index.php");
 
}else{
 
//Si il n'y a pas les valeurs que tu dois faire remplir fais le retourner à la page ou il y a ton formulaire
header("Location:ta_page_ou_ya_ton_formulaire.php");
}
?>
En gros ta page traitement.php va ressembler à ca.

Apres sur ton accueil qui je pense s'appelle index.php tu auras quelque chose comme ca:
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
//Connexion à ta base et recuperation des valeurs que tu veu
// On va dire que tu a récupéré une variable $name ou tu as le nom du bonhomme.
 
if(isset($name)){
 echo 'Bonjour, '.$name;
}else{
 echo 'Bonjour, vous n\'etes pas identifié';
}
?>
Voila ca fera quelque chose de ce gout la.

Bon par contre c'est des bases et y'a des cours pour ca !!!
L8O8L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2008, 20h12   #5
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
Bon j'ai repris tout depuis le début
J'essai en vain d'afficher des donnéé, mais je ne voit pas du tout pourquoi ca ne marche pas, ce sont des code très simple

Voila l'index avec un mini mini formulaire

Code :
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 
<form method='POST' action='traitement.php' name='mon_formulaire'>
Votre nom : <input type='text' name='nom' size='20' value=''><br>
Votre prénom : <input type='text' name='prenom' size='20' value=''><br><br>
<input type='submit' value='Valider'></form>
 
 
</body>
</html>
Et mon fichier "traitement.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>Message envoyé !</title>
 
</head>
<body>
<h1>message envoyé !</h1>
</body>
</html>
<?php
echo "Nom posté : $nom<br> Votre prénom : $prenom</font>";
?>
Dans le navigateur ca affiche :

Nom posté :
Votre prénom :

Ca n'affiche pas les donnéé
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2008, 21h57   #6
Membre régulier
 
Avatar de L8O8L
 
Inscription : janvier 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 148
Points : 79
Points : 79
Heuuuu C'est tout a fait normal... xD
Essaye ca pour traitement :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<html>
<head>
<title>Message envoyé !</title>
 
</head>
<body>
<h1>message envoyé !</h1>
</body>
</html>
<?php
echo "Nom posté : $_POST['nom']<br> Votre prénom : $_POST['prenom']</font>";
?>
C'est les bases.. Nan franchement
L8O8L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 01h23   #7
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
Ok j'ai compris!! je veut aller trop vite, c'est telement plus simple quand on lit les tuto et les cours!

Désoler de vous poser des question aussi béte, j'ai compris maintenant les bases je vais pouvoir mi mettre, sans sauter d'étape, pardon




Pour info c'est pas la que je voulai commencer:
Code :
1
2
3
4
5
<?php
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
echo"<center>Bonjour $prenom $nom</center>";
?>
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 10h49   #8
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
Salut!

Je refait appel a vous car j'ai encore un petit probléme, j'ai pas mal avancer et apris mais la je voit pas tout ce qui va pas, j'ai verifier x fois!

voila:
Par l'intermediaire d'un formulaire, j'alimente une table, il n'y a qu'un seul champ qui ne s'incrit pas dans la table, c'est le champ "link"

Voila mon code, merci de m'aidez

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<head>
<title>Message envoyé !</title>
 
</head>
<body>
 
<?php
 
 
if(isset($_POST['pseudo']))      
$pseudo=$_POST['pseudo'];
else      $pseudo="";
 
if(isset($_POST['prenom']))      
$prenom=$_POST['prenom'];
else      $prenom="";
 
if(isset($_POST['email']))      
$email=$_POST['email'];
else      $email="";
 
if(isset($_POST['categories']))      
$categories=$_POST['categories'];
else      $categories="";
 
if(isset($_POST['link']))      
$link=$_POST['link'];
else      $link="";
 
if(isset($_POST['webmasters_du_site']))      
$webmasters_du_site=$_POST['webmasters_du_site'];
else      $webmasters_du_site="";
 
 
 
//debut pour dire champs n'est pas renseigner
 
if (empty($pseudo) OR empty($prenom) OR empty($email) OR empty($categories) OR empty($prenom) OR empty($webmasters_du_site))
{
echo"<center>veuillez remplir tout les champs, merci</center>";
exit();
} 
 
//fin pour dire champs n'est pas renseigner
 
else     
{ 
// connexion à la base
$db = mysql_connect('localhost', '', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
 
mysql_select_db('',$db)  or die('Erreur de selection '.mysql_error());
 
// on écrit la requête sql
$sql = "INSERT INTO proposer_un_lien(id,pseudo,prenom,email,link,categories,webmasters_du_site) VALUES('','$pseudo','$prenom','$email','$link','$categories','$webmasters_du_site')"; 
 
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
 
mysql_close();  // on ferme la connexion
}
?>
 
</body>
</html>
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 12h08   #9
Membre régulier
 
Avatar de L8O8L
 
Inscription : janvier 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 148
Points : 79
Points : 79
Pourquoi quand tu choisis ta base tu fais :
Code :
mysql_select_db('',$db)
Ton premier argument est vide.C'est normal?
L8O8L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2008, 12h53   #10
Invité de passage
 
Inscription : avril 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 28
Points : 3
Points : 3
oui c'est normal, j'ai effacer les info de la BDD quand j'ai poster
n'en tient pas compte
Tiny Buster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2008, 22h45   #11
Invité de passage
 
Fabrice Manzeki
Inscription : mai 2008
Messages : 5
Détails du profil
Informations personnelles :
Nom : Fabrice Manzeki
Localisation : Canada

Informations forums :
Inscription : mai 2008
Messages : 5
Points : 0
Points : 0
Par défaut optimisation de ton code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
		// Tu peux remplacer ton code 
 
		if(isset($_POST['pseudo']))      
		$pseudo=$_POST['pseudo'];
		else      $pseudo="";
 
		if(isset($_POST['prenom']))      
		$prenom=$_POST['prenom'];
		else      $prenom="";
 
		if(isset($_POST['email']))      
		$email=$_POST['email'];
		else      $email="";
 
		if(isset($_POST['categories']))      
		$categories=$_POST['categories'];
		else      $categories="";
 
		if(isset($_POST['link']))      
		$link=$_POST['link'];
		else      $link="";
 
		if(isset($_POST['webmasters_du_site']))      
		$webmasters_du_site=$_POST['webmasters_du_site'];
		else      $webmasters_du_site="";
 
 
		// par son équivalent ci-dessous, tu a moins de lignes de code, 6 au lieu de 18 lignes	
 
		$pseudo = empty($_POST['pseudo']) ? '' : $_POST['pseudo'];
		$prenom = empty($_POST['prenom']) ? '' : $_POST['prenom'];
		$email = empty($_POST['email']) ? '' : $_POST['email'];
		$link = empty($_POST['link']) ? '' : $_POST['link'];
		$webmasters_du_site = empty($_POST['webmasters_du_site']) ? '' : $_POST['webmasters_du_site'];
		$categories = empty($_POST['categories']) ? '' : $_POST['categories'];
 
?>
<?php		
	// Autre remarque	
	// Si ton champ id est un auto-incrément, tu peux te passer de le mettre dans ta requete sql, mysql fera le boulot à ta place
	// Pour ton champ link, vérifie son type dans la base de données, jète aussi un coup d'oeil dans le formulaire, pour voir si le champ y est.
	$sql = "INSERT INTO proposer_un_lien(pseudo,prenom,email,link,categories,webmasters_du_site) 
	VALUES('$pseudo','$prenom','$email','$link','$categories','$webmasters_du_site')"; 
?>
manzeki est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h24.


 
 
 
 
Partenaires

Hébergement Web