Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5343 connectés 

 


Dernière réponse
Sujet : [ Newbie en PHP/MySQL ] Faire un formulaire
Pinzo C'est bon j'ai réussi. :)
Tout fonctionne à la perfection. Maintenant, place à la personnalisation de "l'environement".
 
:hello:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pinzo C'est bon j'ai réussi. :)
Tout fonctionne à la perfection. Maintenant, place à la personnalisation de "l'environement".
 
:hello:
youdontcare ouuups ... j'ai édité :D
Plouf02

youdontcare a écrit a écrit :

 
echo '<ul>';
while ($ligne=mysql_fetch_array($resultat))  
{  
// Affichage d'une ligne  
echo '<li> . $ligne["themes"] . </li'>;  
}  
echo '</ul>';  




je pense ke c bon :o

Pinzo Nop, j'ai compris.
 
echo '<ul>';
while ($ligne=mysql_fetch_array($resultat))  
{  
// Affichage d'une ligne  
echo '<li>' . $ligne["themes"] . '</li>';  (le " ' " va après le " > " )
}
echo '</ul>';
 
Merci à tous ! :) :hello:

 

[jfdsdjhfuetppo]--Message édité par Pinzo--[/jfdsdjhfuetppo]

Pinzo

youdontcare a écrit a écrit :

pas compliqué, le code html pour est  
<ul>
<li>texte</li>
<li>texte</li>
</ul>
 
donc :
 
 
echo '<ul>';
while ($ligne=mysql_fetch_array($resultat))  
{  
// Affichage d'une ligne  
echo '<li>' . $ligne["themes"] . '</li'>;  
}  
echo '</ul'>';  



J'ai une parse error à la ligne 29 :(

bjbebert Si tu as ca :
 
<html>
<head><title>Formulaire</title></head>
<body>
<form method="POST" action="RecvForm.php">
<input type="text" name="texte1" ><br>
<input type="send" value="Envoyer">
</form>
</body>
</html>
 
Dans la page RecvForm.php, tu recupere $texte1 :
 
<html>
<head><title>Reception formulaire</title></head>
<body>
valeur de texte1 : <?echo $texte1?> <br>
 
<? // insertion dans la base
require("connect.php" ); // la tu mets tes parametres de connection et de selection de la base de donnees
$requete = "INSERT INTO nom_table(nom_champ) VALUES ('" . addslashes($texte1) . "')";
$ok = mysql_query($requete);
?>
 
requete executee : <?echo htmlspecialchars($requete)?> <br>
resultat : <?echo $ok?> <br>
<?if (! $ok) echo "Erreur durant la requete" else echo "requete OK"?>
</body>
</html>
 
Pas teste, mais ca devrait passer a peu pres.
youdontcare pas compliqué, le code html pour est  
<ul>
<li>texte</li>
<li>texte</li>
</ul>
 
donc :
 
 
echo '<ul>';
while ($ligne=mysql_fetch_array($resultat))  
{  
// Affichage d'une ligne  
echo '<li>' . $ligne["themes"] . '</li>';  
}  
echo '</ul>';

 

[jfdsdjhfuetppo]--Message édité par youdontcare--[/jfdsdjhfuetppo]

Pinzo Y a un gars sur les forums de ALL HTML.com qui m'a filé un code meilleur.
 
form.php

Code :
  1. <form action="insert.php" method="post">
  2. Champ 1 : <input type="text" name="champ1"><br>
  3. Champ 2 : <input type="text" name="champ2"><br>
  4. <input type="submit" value="Valider">
  5. </form>


 
insert.php

Code :
  1. <?
  2. // les champs ont-ils bien ete remplis ?  
  3. if(!empty($champ1) AND !empty($champ2))
  4. {
  5. // parametres de connexion  
  6. $sql_server="TON SERVEUR";
  7. $sql_user="TON LOGIN";
  8. $sql_pass="TON PASS";
  9. $sql_bdd="LE NOM DE TA BDD";
  10. // connexion  
  11. $db=mysql_connect($sql_server,$sql_user,$sql_pass);
  12. mysql_select_db($sql_bdd,$db);
  13. // requete  
  14. $sql="INSERT INTO ma_table (champ1,champ2) VALUES ('".$champ1."','".$champ2."')";
  15. $query=mysql_query($sql,$db) or die("Erreur !<br>".mysql_error());
  16. // affichage d'un message  
  17. echo "L'insertion s'est bien déroulée";
  18. }
  19. else
  20. {
  21. // si un des champs est vide  
  22. // on affiche un msg d'erreur  
  23. // et on re-affiche le formulaire  
  24. echo "Vous devez remplir tous les champs !";
  25. echo "<form action=\"insert.php\" method=\"post\">
  26. Champ 1 : <input type=\"text\" name=\"champ1\" value=\"".$champ1."\"><br>
  27. Champ 2 : <input type=\"text\" name=\"champ2\" value=\"".$champ2."\"><br>
  28. <input type=\"submit\" value=\"Valider\">
  29. </form>";
  30. }
  31. ?>


 
Ca marche pil poil. :p
 
-------------------------------------------
 
Cependant j'ai encore un problème. Toutes mes entrées de la base s'affichent les unes après les autres sur la même ligne et sans espace dans ma page.
 
Par ex. elles s'affichent comme ca :
 
Entree1Entree2Entree3     (puces comprises)
 
Alors que je voudrais qu'elles devraient s'afficher comme ca :
 

  • Entree1
  • Entree2
  • Entree3


Comment faire ? C'est dans ma page où elles s'affichent que je fois modifier ca ? La voici :

Code :
  1. <?
  2. $myhote="localhost";
  3. $myuser="root";
  4. $mypass="";
  5. $base_id = mysql_connect($myhote, $myuser,$mypass);
  6. if (!$base_id)
  7. {
  8. echo "Connexion à la base de données impossible !";
  9. }
  10. $mybase="testing";
  11. if (! mysql_select_db("$mybase",$base_id))
  12. {
  13. echo "Impossible de sélectionner la base de données !";
  14. }
  15. $query="SELECT * FROM MyNewsInfos";
  16. $resultat=mysql_query($query,$base_id);
  17. if (!$resultat)
  18. {
  19. echo "Impossible d'exécuter la requête !";
  20. }
  21. while ($ligne=mysql_fetch_array($resultat))
  22. {
  23. // Affichage d'une ligne
  24. echo $ligne["themes"];
  25. }
  26. ?>


 
Aidez-moi please. :)

 

[jfdsdjhfuetppo]--Message édité par Pinzo--[/jfdsdjhfuetppo]

bjbebert

Pinzo a écrit a écrit :

Voilà ma page toute simple :

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  4. <title>Formulaire</title>
  5. </head>
  6. <body>
  7. <?
  8. $requete = "INSERT INTO table(ID, themes) VALUES('$ID', '" . addslashes($themes) . "')"; 
  9. $ok = mysql_query($requete);
  10. ?>
  11. <form method="POST" action="ajouter.php">
  12. <p><input type="themes" name="themes" size="45"></p>
  13. <p><input type="send" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
  14. </form>
  15. </body>
  16. </html>





Non, faut deux pages différentes.
T'as une page avec le formulaire, qui est posté vers une autre page (on peut tout mettre dans la même mais on va pas compliquer).
C'est dans la page de réception que tu as les variables correspondant aux champs du formulaire posté.
 
PS : c'est quoi ce type : type="themes" ??

Plouf02

Pinzo a écrit a écrit :

:heink:  




Tu l'as modifie poor ton usage?
PArce ke je te l'ai donne tel ke je l'ai moi

speedyop bon detaillons:
 
tu a une page plop.php ok?
 
<form method="POST" action="plop.php">
 <p><input type="text" name="T1" size="45"></p>
 <p><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
</form>
 
juste avant ca tu met un truc genr  
 
<?
if (isset(T1))
{
$requete = "INSERT INTO table(info) VALUES('".addslashes($T1)."')";  
$ok = mysql_query($requete);  
}
?>
Pinzo UP ? [:wam]
Pinzo

plouf02 a écrit a écrit :

 
Faut adapte a tes besoins hein! :D  



:heink:

Plouf02

Pinzo a écrit a écrit :

Nop elle marche pas ta solution. La tienne non plus Bjbebert ! Ou alors je sais pas m'y prendre... :sarcastic:  




Faut adapte a tes besoins hein! :D

Pinzo UP ? :)
Pinzo Nop elle marche pas ta solution. La tienne non plus Bjbebert ! Ou alors je sais pas m'y prendre... :sarcastic:
Pinzo Ok j'essaie. :)
Plouf02

Citation :


 
<form method="post" name="poste">
  <p> artiste:  
    <input type="text" name="artiste">
  </p>
  <p> genre:  
    <input type="text" name="genre">
  </p>
  <p> Taille:  
    <input type="text" name="taille">
  </p>
  <p> Dir:  
    <input type="text" name="dir">
  </p>
  <p>  
    <input type="submit" name="submit" value="Envoyer">
  </p>
</form>
 
<?  
if($submit)
{
require("connect.php" );
$result="INSERT INTO idtag (artiste, chanson, genre, taille, dir) VALUES ('$artiste', '$chanson', '$genre', '$taille', '$dir')";
mysql_query($result);
mysql_close();
}
?>


Ex de truk a la con poor ajoote des infos sur mes mp3 ds la base :D

Pinzo Voilà ma page toute simple :

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  4. <title>Formulaire</title>
  5. </head>
  6. <body>
  7. <?
  8. $requete = "INSERT INTO table(ID, themes) VALUES('$ID', '" . addslashes($themes) . "')"; 
  9. $ok = mysql_query($requete);
  10. ?>
  11. <form method="POST" action="ajouter.php">
  12. <p><input type="themes" name="themes" size="45"></p>
  13. <p><input type="send" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
  14. </form>
  15. </body>
  16. </html>


 
Est-ce que ca joue ? Bon, je teste. :)

Pinzo Ok.
 
Et ca je dois le mettre où ?

Code :
  1. $requete = "INSERT INTO table(ID, infos) VALUES('$ID', '" . addslashes($infos) . "')";
  2. $ok = mysql_query($requete);

speedyop dant la valeur option de <FORM> il faut mettre ta page de traitement (ca peut etre la page en cours) c'est sur cette page que tu traite les donnée
Pinzo Merci mais euh... pas tout compris. Voilà mon formulaire de base généré dans Frontpage :

Code :
  1. <form method="POST" action="--WEBBOT-SELF--">
  2.   <p><input type="text" name="T1" size="45"></p>
  3.   <p><input type="submit" value="Envoyer" name="B1"><input type="reset" value="Rétablir" name="B2"></p>
  4. </form>


 
Où est-ce que j'insère ton code PHP là-dedans ?

bjbebert Dans la page de réception du formulaire, tu as des variables correspondant aux champs du formulaire. Si ces champs s'appellent ID et infos dans le formulaire, tu auras des variables $ID et $infos. Suffit de les traiter dans ton formulaire et de contruire la requete.
$requete = "INSERT INTO table(ID, infos) VALUES('$ID', '" . addslashes($infos) . "')";
$ok = mysql_query($requete);
 
Le addslashes permet de traiter les caractères qui pourraient poser problème dans le cas d'une chaine de caractère.
 
Normalement, c'est pas très 'propre' de récupérer les champs directement en variables globales, mais pour débuter, c'est suffisant.
Pinzo Ok, mais explique-moi ca plus clairement, je débute totalement. :)
deathsharp tu utilise les requetes sql pour ajouter

 

[jfdsdjhfuetppo]--Message édité par deathsharp--[/jfdsdjhfuetppo]

Pinzo UP ca urge. J'ai un modèle de formulaire mais il passe par un ajout_verif.php pour la vérification.
 
C'est possible de faire sans ?
Pinzo Voilà, j'ai crée ma table avec mon contenu et tout, ca s'affiche sur ma page, ok.
 
Maintenant je voudrais, via un formulaire simple, ajouter des infos à la base.
 
Vous avez un formulaire type à me proposer ??
 
Il y a deux champs à ajouter ( "ID" et "infos" ) et il faudrait que après validation, il y aie une page de confirmation.

 

[jfdsdjhfuetppo]--Message édité par Pinzo--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)