Bouton de "validation" et structure du programme. - PHP - Programmation
Marsh Posté le 26-07-2004 à 09:19:16
1) Je comprend pas la question
2)Non tu peux faire plusieurs fonction sur la meme page, tu dois avoir foirer le passage d'argument ou qqch du genre si ca marche pas..
Marsh Posté le 26-07-2004 à 09:40:42
il faut que tu comprennes comment fonctionne les variables GET et POST.
un fonction, en terme PHP, n'est rien d'autre qu'une fonction dans un autre langage. avec nom, retour et arguments.
ce dont tu parles, c'est de la validation du formulaire. tu peux en avoir plusieurs par page. mais chacun doit avoir un tag <form> et un <input type="submit">
la visibilité des variables $_POST et $_GET est volatile. tu peux la garder de page en page en utilisant les session ou les cookies. (préférer les sessions)
va faire un tour sur www.phpdebutant.org pour faire 2-3 tutos.
a+
Marsh Posté le 26-07-2004 à 10:41:35
Bon malgrès mon manque de clarté j'ai eu des bouts d'indice qui m'a permis de resoudre quelques problèmes.
Mais je n'arrive toujours pas à utiliser les variables $_POST dans ma deuxième fonction (les dates prennent les valeurs par defaut et pour le reste elle ont une valeur null).
Je n'utilise pas de sessions pour l'instant, et je n'ai pas eu l'impression d'en avoir besoin, car ces variables ont été utilisées dans une autre page (avec la première fonction) sans session...
Bon pour m'aider a expliqer voilà le code hein...
Code :
|
Page d'entré des données:
Code :
|
Marsh Posté le 26-07-2004 à 10:45:53
function verif() {
/*Formater l'horaire */
$horaire = date("H:i", strtotime("$_POST[timeH]:$_POST[timeM]" ));
une fonction ne doit jamais utiliser des variables globale ! il faut que tu passe en paramètres ces infos à ta fonction.
comme je te l'ai déjà dit, les variables POST ne sont initialisée qu'une fois, après la validation du POST. ensuite elle disparaissent. tu dois les sauver en Session
Marsh Posté le 26-07-2004 à 10:54:16
JagStang a écrit : function verif() { |
Oki dok alors
C'est que ca m'évitait justement de me les trimballer
Donc faut que je commence une session et puis les stocker dans $_SESSION puis j'les passe en paramêtre. Oki
J'ai lu que pour commencer une session on utilisait session_start(); mais apparement ca utilise des cookie ca, ou au cas où l'utilisateur ne le permet pas, passe la session ID dans l'URL... C'est pas ce qui a de mieux non ? Ou alors c'est ce que tout le monde utilise...
Marsh Posté le 26-07-2004 à 10:56:57
session != cookies
Marsh Posté le 26-07-2004 à 10:57:48
deja action=\"".$_SERVER["PHP_SELF"]."\"
et apres tu doit mettre un name sur le submit pour le if(isset($_POST[""]))
Marsh Posté le 26-07-2004 à 11:11:14
chacal_one333 a écrit : deja action=\"".$_SERVER["PHP_SELF"]."\" |
C'est pour créer le bouton de validation ca il me semble vi ?
Marsh Posté le 26-07-2004 à 11:13:18
non. s'il te plait, fais quelques tutos sur phpdebutant et reviens avec des questions précises.
Marsh Posté le 26-07-2004 à 11:23:13
JagStang a écrit : non. s'il te plait, fais quelques tutos sur phpdebutant et reviens avec des questions précises. |
C'est pas très sympa ca hum . J'ai fait des tutos, j'ai lu des doc et ce n'est pas en allant relire quelques tutos sur phpdebutant que je vais revenir avec des questions ultra pointus et pertinente qui pourrons stimuler ton intellecte de programmateur niveau 46 (+ 4 en maîtrise php).
Enfin bon spa grave, j'vais bien me debrouiller.
Et puis j'veux bien que session != cookie mais quand je lis ca et bien pour un debutant ca porte a croire que les deux sont très liées non ?
Citation : Comment fonctionne une session ? |
Marsh Posté le 26-07-2004 à 11:29:15
http://php.benscom.com/manual/fr/ref.session.php
Citation : Il peut être stocké soit dans un cookie, soit propagé dans l'URL. |
ça va sans dire que la 2ème manière est plus propre. avec trans-sid =1 pour masquer l'id de session dans les liens.
pour répondre à ta question, les sessions sont le plus souvent utilisées sans cookies client.
Marsh Posté le 26-07-2004 à 12:15:53
l'id de la session est quasiment tout le temps stocké dans un cookie client...
Citation : echo "<form name='form1' method='post' action='$_SERVER["PHP_SELF"]'> |
va te permettre d'affiche un bouton de validation qui envoie donc les _post au meme script php...
ensuite tu fais
Citation : session_start; |
afin de pouvoir garder les post sur "toutes" tes pages...
Marsh Posté le 26-07-2004 à 12:57:59
TriadPtale a écrit : |
tu as des chiffres là-dessus ?
Marsh Posté le 26-07-2004 à 14:12:07
des chiffres non, seulement php esseye d'abord propage l'id de la session via les cookie et ne le fais via l'url que si ça marche pas...
Marsh Posté le 26-07-2004 à 00:35:46
Je suis nouveau dans le php (et pas bien ancien dans la programmation en général d'ailleurs) et je me retrouve un peut coincé là faute d'habitude et d'organisation (et de talent aussi... si si)
Je m'amuse en ce moment, en réalisant une sorte d'agenda interactif ou les utilisateurs pourraient rentrer des événements par exemple.
Je me retrouve pour l'instant avec une page où je fais rentrer les données et une autre page ou j'ai une fonction destinée à afficher ce que l'utilisateur a rentré et à lui demander de valider. J'appel donc la fonction depuis la page d'entrée des données. J'utilise donc mes variable $_POST[xxx]pour faire le boulo.
Maintenant j'aimerais que si l'utilisateur valide, on puisse exécuter une autre fonction (que j'ai écrite) qui stock tout ça dans la base de donné. Enfin je suis habitué de faire des fonctions dès que possible mais je ne sais pas si c'est necessaire...
Mes problèmes:
1) Je ne sais pas comment faire de bouton "valider" qui permettrait juste de continuer le programme...
2) jai l'impression qu'en mettant les 2 fonctions sur la même page et qu'en les appelants l'une après l'autre depuis la page d'entrée, je pers mes variables $_POST... Et donc jusqu'à quel point ces variables sont elles "utilisables" ? Et faut il faire une page = une fonction ?
Bon j'ai du mal à bien bien expliquer. On va déjà voir ce que ça donne là...