Variables sur formulaire

Résolu/Fermé
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 - 12 avril 2007 à 05:22
 nico_youss - 13 avril 2007 à 15:31
Salut à tous,

Je cherches à découvrir un peu le developpement web. En me basant sur des exemples, j'essaye de faire un formulaire du genre pour enregistrer ces morceaux de musiques.
J'ai donc créé ce formulaire basique qui s'affiche correctement, mais je cherche à exploiter les variables, voici le code source :

<html>
<head>
<title> Discotheque </title>
</head>
<body>
<body bgcolor=#EEEEEE>
<p align=center>
<font color=#008822>
<h1>Librairie Musicale</h1>
</font>
<br><br><br>
<form method='POST' action='test.php3' name='MonFormulaire'><font face='verdana' size='2'>
<p align=center>
Artiste : <input type='text' name ='artiste' size='20' value=''><br>
Album : <input type='text' name='album' size='20' value=''><br>
Titre de la chanson : <input type='text' name='aitre' size='20' value=''><br>
Piste Numero : <input type='text' name='num' size='20' value=''><br>
Genre Musical : <input type='text' name='genre' size='20' value=''><br>
<input type='submit' value='Valider'>
<input type='reset' name='Reset' value='Effacer'>
</font></align></form>
</body>
</html>

En fait je voudrais pouvoir exploiter les variables sur la page suivante après validation.
Pour l'instant, j'ai juste fait cette page pour qu'elle m'affiche les variables, mais ça ne fonctionne pas.

L'exemple sur lequel je me suis basé contenait déjà du PHP pour le formulaire, mais en mettant les balises PHP j'avais des problêmes de syntaxe que je n'ai pas réussi à résoudre.
Alors je suppose que le PHP est nécessaire dans mon formulaire, mais étant débutant, je rame un peu, même un peu beaucoup...

Si quelqu'un aurait la gentillesse de me donner quelques explications conseils.

En fait, lorsque ce problême sera reglé, que les variables seront exportées à la page suivante, je souhaite les intégrer dans une base SQL, mais c'est une autre histoire...
Je viens de finir une formation de technicien supérieur réseau. Maintenant que je consultes les offres d'emplois, je remarque qu'on demande tres souvent des connaissances en bases de données, malheureusement, on a pas abordé ce sujet en formation. Alors j'aimerais au moins avoir quelques notions, même si je ne comprendrais pas tout en 2 jours.
;)

7 réponses

Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 72
12 avril 2007 à 15:19
Merci pour le lien, le site est bien et ça me sera surement três utile pour la suite. Je me le suis gardé en favoris...

Malheureusement, je ne trouve pas la réponse à mon problême...

A savoir, est-ce que dans mon code source les variables ne sont pas exportées à la page suivante (test.php3) parcequ'elles n'ont pas été définies dans des balises PHP ? Faut-il une commande d'export comme dans le shell Linux par exemple ?
Quelle est la syntaxe à utiliser pour reproduire le même formulaire, mais dans des balises PHP ? J'ai cru comprendre qu'il fallait utiliser la commande 'echo' devans les lignes, mais j'ai beau eu essayer, modifier, remodifier, ajouter des ; des <>, etc... A chaque fois j'avais des erreurs à cause de la syntaxe...

;)
0
<form method='POST' action='test.php3' name='MonFormulaire'><font face='verdana' size='2'>
<div align="center">
Artiste : <input type='text' name ='artiste' size='20' value=''><br>
Album : <input type='text' name='album' size='20' value=''><br>
Titre de la chanson : <input type='text' name='aitre' size='20' value=''><br>
Piste Numero : <input type='text' name='num' size='20' value=''><br>
Genre Musical : <input type='text' name='genre' size='20' value=''><br>
<input type='submit' value='Valider'>
<input type='reset' name='Reset' value='Effacer'>
</div></form>


Juste un petit point:
au lieu du <p align=center></align>
je te conseille de mettre: <div align="center"></div>

Ca c'était pas important.


bref; pour récuperer tes méthodes, tu indiques à ton formulaire:
method='POST' action='test.php3'

cela veut dire que quand tu vas cliquer sur Valider, tu vas te diriger vers ta page test.php3
(au passage, je ne sais pas comment est ton serveur, mais retire php3 et passe à l'extension .php qui est plus d'actualité.)

Maintenant, chaques zones de texte que tu as rempli va être envoyé à ta page: test.php

Et dans cette page là, tu vas pouvoir les récuperer ainsi:

Artiste : <input type='text' name ='artiste' size='20' value=''><br>
Album : <input type='text' name='album' size='20' value=''><br>
Titre de la chanson : <input type='text' name='aitre' size='20' value=''><br>
Piste Numero : <input type='text' name='num' size='20' value=''><br>
Genre Musical : <input type='text' name='genre' size='20' value=''><br>

$_POST['album'] //variable qui contient l'album envoyé

echo("$_POST['album'] ); //pour l'afficher

Histoire que ton code soit un peu plus clair et plus rapide à écrire renomme ta variable.

$album=$_POST['album'] ;

echo("album"); //pour afficher.


C'est le même principe pour reprendre tes autres variables:
dans ton formulaire tu as: (au passage, attention, tu as aitre et non titre (au cas où tu as fait un copier coller de ton bon code))
Titre de la chanson : <input type='text' name='aitre' size='20' value=''>

donc tu reprends ce que tu as renseigné dans name pour avoir ta variable:

$_POST['titre']



Suis je assez clair?
je réponds à tout?
0
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 72
12 avril 2007 à 17:39
Oui tu as été super clair et super sympa d'avoir pris le temps de m'expliquer ça...

Juste une précision :

Les lignes de type "$album=$_POST['album'] ;" sont à mettre en fin de première ou en début de deuxième page ? Je suppose qu'elles sont à mettre dans une balise PHP.

Déjà, un grand merci pour tout, c'est cool, je vais pouvoir avancer à présent (j'éspère) grâce à ton aide

Une dernière question, comme je disais, j'avais essayé d'intégrer le formulaire entre des balises PHP sur la première page, comme c'était à l'origine dans l'exemple sur lequel je me suis basé.
Seulement il y avait à chaque fois erreur de syntaxe. Je suppose qu'il faut mettre des "echo" et ";" mais impossible, malgré mes nombreux essais pour trouver la syntaxe correcte.
Et je me demande s'il y aurait encore besoin des lignes "$album=$_POST['album'] ;" si le formulaire était dans une balise PHP ? Les variables seraient-elles dans ce cas automatiquement conservées et explotables sans traitement particulier dans la seconde page ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'avoue que je n'ai jamais testé de formulaire en php.

Le html marchant très bien, je n'ai jamais essayé autre chose, sachant que je débute aussi.

>Et je me demande s'il y aurait encore besoin des >lignes "$album=$_POST['album'] ;" si le formulaire était dans >une balise PHP ? Les variables seraient-elles dans ce cas >automatiquement conservées et explotables sans traitement >particulier dans la seconde page ?

$_POST['album'] n'existe pas dans la première page. Elle est créée quand tu cliques sur le bouton valider, et est ensuite traité dans la page ciblée. (ce qui veut dire par rapport à ta question que oui, tu auras quand même besoin de jongler avec $_POST['album'])

Si tu veux traiter $_POST['album'] dans la même page, il faut que tu fasses un traitement conditionnel:

SI $_POST['album'] n'existe pas (
Alors afficher formulaire (qui va cibler la même page)

Sinon faire les traitemens de celle ci (en affichant pas le formulaire.)
(voir exemple en bas)

Au début, je te conseille de travailler sur 2 pages:
1 avec le formulaire HTML (qui peut se trouver dans une page PHP).
1 avec la récupération des variables en php.



PS: correction de mon précédent post:
j'ai mis: echo("album"); //pour afficher.
c'est: echo("$album"); //pour afficher.

Exemple (tiré du site du zéro sur la protection par mot de passe d'une page) :

<?php
// J'ai choisi le mot de passe "kangourou"

if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}


if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Codes d'accès au serveur central de la NASA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Voici les codes d'accès :</h2>
<h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>

<hr />

<p>
Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
La NASA vous remercie de votre visite.
</p>
</body>
</html>

<?php
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Page protégée par mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
<form action="protection.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
</body>
</html>

<?php

} // Fin du else

// Fin du code :)
?>
0
Blanc57 Messages postés 366 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 27 janvier 2020 72
13 avril 2007 à 12:37
Merci pour tous ces conseils et explications.

J'ai pu m'y remettre entre temps et j'avais constaté qu'il fallait mettre la définition de variable en début de seconde page.
J'ai réussi à faire en sorte que les infos soient enregistrées dans une base SQL (c'est déjà bien, je début à peine) et je vais maintenant m'attaquer à la page pour consulter les infos.

Va donc falloir que j'étudie la syntaxe MySQL et comment intégrer tout ça dans du PHP.

En tout cas je te remercie, en plus le lien que tu m'as donné à l'air utile et contient des exemples qui pourront tres certainement me servir...
;)
0
Je t'en prie ;)

Dans tous les cas, je te conseille de bien lire ce tuto, tu en refais les exemples, même si c'est long sur le moment (j'ai commencé hier à apprendre le php avec ce tuto après un tripatouillage de plusieurs scripts pendant une semaine.) mais je pense que ca me sera bénéfique, et donc un gain de temps pour la suite ;)
0