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

  FORUM HardWare.fr
  Programmation
  PHP

  Bouton de "validation" et structure du programme.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bouton de "validation" et structure du programme.

n°805966
Coockie
koin koin....
Posté le 26-07-2004 à 00:35:46  profilanswer
 

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) j’ai 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à... :D

mood
Publicité
Posté le 26-07-2004 à 00:35:46  profilanswer
 

n°806006
esox_ch
Posté le 26-07-2004 à 09:19:16  profilanswer
 

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..

n°806031
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 09:40:42  profilanswer
 

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+


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°806088
Coockie
koin koin....
Posté le 26-07-2004 à 10:41:35  profilanswer
 

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 :
  1. <?php
  2. #Fonction verif:
  3. #Affiche les entrées es faite
  4. function verif() {
  5. /*Formater l'horaire */
  6. $horaire = date("H:i", strtotime("$_POST[timeH]:$_POST[timeM]" ));
  7. /* Création d'un tableau des mois*/
  8. $nomsMois = array(1=> "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet",
  9. "Août", "Septembre", "Octobre", "Novembre", "Decembre" );
  10. $m = $_POST[dateMO];
  11. echo "Est ce que ces informations sont exactes ? <br><br>";
  12. echo "Date: $_POST[dateDay] $nomsMois[$m] $_POST[dateYr] <br>";
  13. echo "Horaire: $horaire <br>";
  14. echo "Organisateur: $_POST[orga] <br>";
  15. echo "Lieu: $_POST[lieu] <br>";
  16. echo "Description: $_POST[descr] <br>";
  17.    }
  18. function stock() {
  19. $host = "sql.free.fr";
  20. $user = "xxxxxxx";
  21. $password = "xxxxxxx";
  22. if (!$connection = mysql_connect($host ,$user ,$password))
  23. {
  24.  $message = mysql_error();
  25.  echo "$message<br>";
  26.  die();
  27. }
  28. $database = "xxxxxxx";
  29. $db = mysql_select_db($database,$connection)
  30. or die ("cette base n'existe pas!" );
  31. /*Formater la date pour sql */
  32. $date_sql = date("Y-m-d", strtotime("$m/$_POST[dateDay]/$_POST[dateYr]" ));
  33. /*Formater l'horaire pour sql */
  34. $horaire_sql = date("H:i:s", strtotime("$horaire" ));
  35. /* Debugage */
  36. echo "$_POST[descr]";
  37. echo "$date_sql <br>";
  38. echo "$horaire_sql";
  39. $query = "INSERT INTO cust_ev (ev_date, ev_horaire, ev_orga, ev_lieu, ev_descr)
  40. VALUES ('$date_sql', '$horaire_sql', '$_POST[orga]', '$_POST[lieu]', '$_POST[descr]')";
  41. $result = mysql_query($query)
  42. or die ("Couldn’t execute query." );
  43.    }
  44. ?>


 
Page d'entré des données:

Code :
  1. ......
  2. ......
  3.   echo "<input type='submit' value='Envoyer'>";
  4.   echo "</form>\n";      //Fin du formulaire
  5.   if ( isset($_POST[dateMO]) )   //Test si envoie de formulaire
  6.   {
  7.    verif();
  8.    echo "<form action='' method='POST'>
  9.    <input type='hidden' name='valide' value='test'>
  10.    <input type='submit' value='Valider'>
  11.    </form>";
  12.   }
  13.   if ( isset($_POST[valide]) )   //Test si validation
  14.   {
  15.   stock();
  16.   echo "<br> OK, Les informations sont stockées";
  17.   }
  18.   ?>


 
 

n°806094
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 10:45:53  profilanswer
 

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
     


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°806104
Coockie
koin koin....
Posté le 26-07-2004 à 10:54:16  profilanswer
 

JagStang a écrit :

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


 
Oki dok alors :D  
C'est que ca m'évitait justement de me les trimballer :whistle:  
 
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...

n°806109
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 10:56:57  profilanswer
 

session != cookies
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°806110
Profil sup​primé
Posté le 26-07-2004 à 10:57:48  answer
 

deja action=\"".$_SERVER["PHP_SELF"]."\"
 
et apres tu doit mettre un name sur le submit pour le if(isset($_POST[""]))

n°806137
Coockie
koin koin....
Posté le 26-07-2004 à 11:11:14  profilanswer
 

chacal_one333 a écrit :

deja action=\"".$_SERVER["PHP_SELF"]."\"
 
et apres tu doit mettre un name sur le submit pour le if(isset($_POST[""]))


 
C'est pour créer le bouton de validation ca il me semble vi ?

n°806143
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 11:13:18  profilanswer
 

non. s'il te plait, fais quelques tutos sur phpdebutant et reviens avec des questions précises.


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
mood
Publicité
Posté le 26-07-2004 à 11:13:18  profilanswer
 

n°806164
Coockie
koin koin....
Posté le 26-07-2004 à 11:23:13  profilanswer
 

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  :o . 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 ?
Les session permettent tout du long de la visite d'un internaute sur le site, de conserver des informations de façon transparentes.  
 
Cela est sans ralentissement de performances car le client ne stocke sous forme de cookies que l'ID de session (généré aléatoirement), le serveur stockant sur disque le contenu des variables dans le répertoire défini par session.save_path.  
 
Les sessions sont activées manuellement par la commande session_start() ou automatiquement si session.auto_start est à 1 ou encore implicitement par la commande session_register().
 
Le serveur attribut à chaque visiteur un identifiant unique qui est soit envoyé au client sous forme de cookie (par défaut) soit passé de façon systématique dans l'URL.
 
[ haut ]

n°806172
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 11:29:15  profilanswer
 

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.
 
 
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°806224
TriadPtale
Posté le 26-07-2004 à 12:15:53  profilanswer
 

:heink:  
 
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"]'>
    <input type='submit' name='Submit' value='Envoyer'>
</form>";


 
va te permettre d'affiche un bouton de validation qui envoie donc les _post au meme script php...
 
ensuite tu fais
 

Citation :

session_start;
$_SESSION['post']=_POST;


 
afin de pouvoir garder les post sur "toutes" tes pages...

n°806273
jagstang
Pa Capona ಠ_ಠ
Posté le 26-07-2004 à 12:57:59  profilanswer
 

TriadPtale a écrit :

:heink:  
 
l'id de la session est quasiment tout le temps stocké dans un cookie client..3


 
tu as des chiffres là-dessus ? :D


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°806357
TriadPtale
Posté le 26-07-2004 à 14:12:07  profilanswer
 

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...
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Bouton de "validation" et structure du programme.

 

Sujets relatifs
Parser une structure XML en JavaChanger la tete du bouton submit
Montrer que le programme s'exécute dans une interface utilisateurformulaire - ouvrir une page après validation
[résolu] bouton "ok" non cliquable dans un form si champs videsProblème validation fichier CSS par le WC3
Ouvrir un logiciel exterieur au programmeFaire un programme simple en c++
comment recuperer la valeur d'un bouton radio ?Programme en ligne de commande avec delphi possible?
Plus de sujets relatifs à : Bouton de "validation" et structure du programme.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR