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

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme pour récupérer heure de début et de fin de mon formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme pour récupérer heure de début et de fin de mon formulaire

n°1050969
jode
Débutant en PHP
Posté le 18-04-2005 à 16:38:24  profilanswer
 

bonjour, voila je suis en train de créer un formulaire appelé start.php qui au moment de la validation va pointer sur un stop.php, le but est de rentrer dans une base l'heure de début de connection et la fin de connection  , donc la première variabled'heure ça marche mais pas pour l seconde ??
Voici le code:
 
<html>
<center>
<img src="images/logo_monecam.gif">
<br>
<br>
<?
$debutime = date("H:i:s" );
echo ("Heure de début de la saisie est  $debutime" );
?>
<table width="25%" cellspacing="0" cellpadding="0" border="0" bordercolor="green">
<tr>
<td>
<form   method='post' action='start.php?action=insert'>
<FIELDSET><LEGEND><b><font color="red">Choix de la caisse</font></b></LEGEND>  
<INPUT TYPE="HIDDEN" NAME="starttime" VALUE="<? echo $debutime ?>">
<select name="caisse1">
<option>caisse 1 </option>
<option>caisse 2</option>
<option>caisse 3</option>
<option>caisse 4</option>
</select> Indiquez la caisse <br>
</FIELDSET>
<br><br>
 
<FIELDSET><LEGEND><b><font color="red">CARTE</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="cas" VALUE="cas"> Simple<br>
<INPUT TYPE="CHECKBOX" NAME="cac" VALUE="cac"> Complexe<br>
<select name="cartplus">
<option> </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select> Indiquez nombre de carte si plus suppérieur à 1<br>
</FIELDSET>
<br>
</FIELDSET>
<br><br>
<FIELDSET><LEGEND><b><font color="red">DIVERS</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="deminfo" VALUE="deminfo"> Demande d'info<br>
<INPUT TYPE="CHECKBOX" NAME="regnocouv" VALUE="regnocouv"> Région non couverte<br>
<INPUT TYPE="CHECKBOX" NAME="litige" VALUE="litige"> Litige<br>
<INPUT TYPE="CHECKBOX" NAME="mauvnum" VALUE="mauvnum"> Mauvais Numéro<br>
<INPUT TYPE="CHECKBOX" NAME="autre" VALUE="autre"> Autre<br>
</FIELDSET>
<br>
<center>
<input type='submit' name='submit' value='Fin de connection'>
</center>
</form>
</td>
</tr>
</table>
</center>
<?
 
if ($action=="insert" );
{
 
// connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
    mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
 
 // on écrit la requête sql
  $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '$debutime', '$endtime')";
 $endtime = date("H:i:s" );  
 mysql_query($requete);
 mysql_close();  // on ferme la connexion
}
?>
</html>


Message édité par jode le 18-04-2005 à 16:55:27
mood
Publicité
Posté le 18-04-2005 à 16:38:24  profilanswer
 

n°1050971
FlorentG
Posté le 18-04-2005 à 16:39:25  profilanswer
 

Pourquoi met-tu le résultat de date dans $endtime après l'avoir mis dans la requête ? Ca ne fonctionnera évidemment pas ;)

n°1050979
jode
Débutant en PHP
Posté le 18-04-2005 à 16:43:16  profilanswer
 

FlorentG a écrit :

Pourquoi met-tu le résultat de date dans $endtime après l'avoir mis dans la requête ? Ca ne fonctionnera évidemment pas ;)


Je devrais lemettre ou d'apres toi.

n°1050992
jode
Débutant en PHP
Posté le 18-04-2005 à 16:48:40  profilanswer
 

en fait si j'écris la fin de mon script comme ça :  
<?
$endtime = date("H:i:s" );
if ($action=="insert" );
{
 
// connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
    mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
 
 // on écrit la requête sql
  $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '$debutime', '$endtime')";
   
 mysql_query($requete);
 mysql_close();  // on ferme la connexion
}
 
Je me retrouve avec les deux même heure dans ma base plus un probleme à la ligne 82 qui dit :
Notice: Undefined variable: action in c:\program files\easyphp1-7\www\stop2.php on line 82

n°1051010
naceroth
Posté le 18-04-2005 à 17:03:50  profilanswer
 

Tu as ton form et ton traitement sur la même page là ?
 
Si oui, utilise le tableau $_POST pour récupérer les données de ton form, $_GET pour le paramètre action et vérifie qu'il existe avec isset.
 
En l'état, c'est normal que ce soit les mêmes heures, $debutime est réinitialisé au début du script :)

n°1051051
jode
Débutant en PHP
Posté le 18-04-2005 à 17:39:34  profilanswer
 

D'accord mais dans ma base l'insert fonctionne bien car $debutime est bien pris en compte mais pourquoi dans la base il rentre $endtime comme même valeur, je pige pas là...

n°1051053
FlorentG
Posté le 18-04-2005 à 17:40:12  profilanswer
 

Parce que ton script s'exécute en moins d'une seconde ;)

n°1051054
Badze
Aime les frites
Posté le 18-04-2005 à 17:41:42  profilanswer
 

Exactement, soi tu fait par cette méthode, soi tu fait un systeme qui permet de prendre l'heure de début qu'une seul fois.

n°1051077
jode
Débutant en PHP
Posté le 18-04-2005 à 17:53:00  profilanswer
 

je comprend pas trop le coté (moins d'une seconde)surtout que la valeur de la variable et date("H:i:s" ) donc les secondes devrais etre différente , j'ai modifié le script et du coup maintenant je me retrouve avec bien l'heure de début d'écris en tout début de script ($debutime) mais l'heure de fin , plus bas dans le script ($endtime) est maintenant dans ma base à 00:00:00
Voici mon code :
<html>
<center>
<img src="images/logo_monecam.gif">
<br>
<br>
<?
$debutime = date("H:i:s" );
echo ("Heure de début de la saisie est  $debutime" );
?>
<table width="25%" cellspacing="0" cellpadding="0" border="0" bordercolor="green">
<tr>
<td>
<form   method='post' action='start.php?action=insert'>
<FIELDSET><LEGEND><b><font color="red">Choix de la caisse</font></b></LEGEND>  
<INPUT TYPE="HIDDEN" NAME="starttime" VALUE="<? echo $debutime ?>">
<select name="caisse1">
<option>caisse 1 </option>
<option>caisse 2</option>
<option>caisse 3</option>
<option>caisse 4</option>
</select> Indiquez la caisse <br>
</FIELDSET>
<br><br>
 
<FIELDSET><LEGEND><b><font color="red">CARTE</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="cas" VALUE="cas"> Simple<br>
<INPUT TYPE="CHECKBOX" NAME="cac" VALUE="cac"> Complexe<br>
<select name="cartplus">
<option> </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select> Indiquez nombre de carte si plus suppérieur à 1<br>
</FIELDSET>
<br><br>
<FIELDSET><LEGEND><b><font color="red">CHEQUE</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="chs" VALUE="chs"> Simple<br>
<INPUT TYPE="CHECKBOX" NAME="chc" VALUE="chs"> Complexe<br>
<select name="chqplus">
<option> </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select> Indiquez nombre de chèque si plus suppérieur à 1<br>
</FIELDSET>
<br><br>
<FIELDSET><LEGEND><b><font color="red">ANNULATION OPPOSITION</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="anuca" VALUE="anuca"> Carte<br>
<INPUT TYPE="CHECKBOX" NAME="anuch" VALUE="anuch"> Chèque<br>
</FIELDSET>
<br><br>
<FIELDSET><LEGEND><b><font color="red">DIVERS</font></b></LEGEND>  
<INPUT TYPE="CHECKBOX" NAME="deminfo" VALUE="deminfo"> Demande d'info<br>
<INPUT TYPE="CHECKBOX" NAME="regnocouv" VALUE="regnocouv"> Région non couverte<br>
<INPUT TYPE="CHECKBOX" NAME="litige" VALUE="litige"> Litige<br>
<INPUT TYPE="CHECKBOX" NAME="mauvnum" VALUE="mauvnum"> Mauvais Numéro<br>
<INPUT TYPE="CHECKBOX" NAME="autre" VALUE="autre"> Autre<br>
</FIELDSET>
<br>
<center>
<input type='submit' name='submit' value='Fin de connection'>
</center>
</form>
</td>
</tr>
</table>
</center>
<?
$endtime = date("H:i:s" );
if ($action=="insert" );
{
if(isset($_POST['endtime']))      $endtime=$_POST['endtime'];
else      $endtime="";
// connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
    mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
 
 // on écrit la requête sql
  $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '$debutime', '$endtime')";
   
 mysql_query($requete);
 mysql_close();  // on ferme la connexion
}
?>
</html>

n°1051148
Badze
Aime les frites
Posté le 18-04-2005 à 18:43:11  profilanswer
 

met ton $endtime = date("H:i:s" );  dans ta boucle  
if ($action=="insert" );  
 
sinon lheure de fin est directement pris au chargement de ta page

mood
Publicité
Posté le 18-04-2005 à 18:43:11  profilanswer
 

n°1051201
jode
Débutant en PHP
Posté le 18-04-2005 à 19:12:11  profilanswer
 

Dans ma table il me faut les 2 heures, peux tu m'expliquer ce que tu entend par la boucle, car moi ce que je comprend plus trop.

n°1051282
naceroth
Posté le 18-04-2005 à 20:06:36  profilanswer
 

Badze a écrit :

Exactement, soi tu fait par cette méthode, soi tu fait un systeme qui permet de prendre l'heure de début qu'une seul fois.


 
Ouais, mais non. Son problème d'heure de début est juste dû au fait qu'il utilise debutime au lieu du starttime du formulaire :)
 
Jode :
 
Tu fais un peu n'importe quoi là, je t'ai dit de vérifier que le paramètre action existait, pas de tester l'existence d'un champ du form qui n'existe pas.
 

Code :
  1. if (isset($_GET['action']) and ($_GET['action']=="insert" ))
  2. {
  3. $endtime = date("H:i:s" );
  4. // connexion à la base
  5. $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
  6. // sélection de la base   
  7. mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
  8. // on écrit la requête sql
  9. $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '".$_POST['starttime']."', '$endtime')";
  10. mysql_query($requete);
  11. mysql_close();  // on ferme la connexion
  12. }


 
passe déjà mieux.

n°1051413
jode
Débutant en PHP
Posté le 18-04-2005 à 21:46:22  profilanswer
 

naceroth a écrit :

Ouais, mais non. Son problème d'heure de début est juste dû au fait qu'il utilise debutime au lieu du starttime du formulaire :)
 
Jode :
 
Tu fais un peu n'importe quoi là, je t'ai dit de vérifier que le paramètre action existait, pas de tester l'existence d'un champ du form qui n'existe pas.
 

Code :
  1. if (isset($_GET['action']) and ($_GET['action']=="insert" ))
  2. {
  3. $endtime = date("H:i:s" );
  4. // connexion à la base
  5. $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
  6. // sélection de la base   
  7. mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
  8. // on écrit la requête sql
  9. $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '".$_POST['starttime']."', '$endtime')";
  10. mysql_query($requete);
  11. mysql_close();  // on ferme la connexion
  12. }


 
passe déjà mieux.


 
Désolé Naceroth je ne veux pas té décevoir, ta formule en effet fonctionne très bien !! la ou je suis piègé c'est qu'au début j'utilise un fichier start.php
code :
<form method='post' action='stop3.php'>
<input type='submit' name='submit' value='Début de connection'>
</form>
et que je ne retombe pas dessus après la l'envoie du formulaire. on m'a donné aussi une autre combine que je veux te faire partager et qui donne aussi le même résultat, je retombe pas sur ma page  start.php
Voici le code :
<html>
<center>
<img src="images/logo_monecam.gif">
<br>
<br>
<?
/* Tu peux virer les deux lignes suivantes */
$debutime = date("H:i:s" );
echo ("Heure de début de la saisie est ". $debutime);
?>
<table width="25%" cellspacing="0" cellpadding="0" border="0" bordercolor="green">
  <tr>
    <td>
      <form method='post' action='<?php echo($_SERVER['PHP_SELF']); ?>'>
        <FIELDSET><LEGEND><b><font color="red">Choix de la caisse</font></b></LEGEND>
        <INPUT TYPE="HIDDEN" NAME="debutime" VALUE="<? echo $debutime ?>">
        <select name="caisse1">
        <option>caisse 1 </option>
        <option>caisse 2</option>
        <option>caisse 3</option>
        <option>caisse 4</option>
        </select> Indiquez la caisse <br>
        </FIELDSET>
        <br><br>
        <FIELDSET><LEGEND><b><font color="red">CARTE</font></b></LEGEND>
        <INPUT TYPE="CHECKBOX" NAME="cas" VALUE="cas"> Simple<br>
        <INPUT TYPE="CHECKBOX" NAME="cac" VALUE="cac"> Complexe<br>
        <select name="cartplus">
        <option> </option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
        <option>7</option>
        <option>8</option>
        <option>9</option>
        </select> Indiquez nombre de carte si plus suppérieur à 1<br>
        </FIELDSET>
        <br><br>
        <FIELDSET><LEGEND><b><font color="red">CHEQUE</font></b></LEGEND>
        <INPUT TYPE="CHECKBOX" NAME="chs" VALUE="chs"> Simple<br>
        <INPUT TYPE="CHECKBOX" NAME="chc" VALUE="chs"> Complexe<br>
        <select name="chqplus">
        <option> </option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
        <option>7</option>
        <option>8</option>
        <option>9</option>
        </select> Indiquez nombre de chèque si plus suppérieur à 1<br>
        </FIELDSET>
        <br><br>
        <FIELDSET><LEGEND><b><font color="red">ANNULATION OPPOSITION</font></b></LEGEND>
        <INPUT TYPE="CHECKBOX" NAME="anuca" VALUE="anuca"> Carte<br>
        <INPUT TYPE="CHECKBOX" NAME="anuch" VALUE="anuch"> Chèque<br>
        </FIELDSET>
        <br><br>
        <FIELDSET><LEGEND><b><font color="red">DIVERS</font></b></LEGEND>
        <INPUT TYPE="CHECKBOX" NAME="deminfo" VALUE="deminfo"> Demande d'info<br>
        <INPUT TYPE="CHECKBOX" NAME="regnocouv" VALUE="regnocouv"> Région non couverte<br>
        <INPUT TYPE="CHECKBOX" NAME="litige" VALUE="litige"> Litige<br>
        <INPUT TYPE="CHECKBOX" NAME="mauvnum" VALUE="mauvnum"> Mauvais Numéro<br>
        <INPUT TYPE="CHECKBOX" NAME="autre" VALUE="autre"> Autre<br>
        </FIELDSET>
        <br>
        <center>
        <input type="hidden" name="debut" value="<?php echo(date("H:i:s" )); ?>">
        <input type='submit' name='submit' value='Fin de connection'>
        </center>
      </form>
    </td>
  </tr>
</table>
</center>
<?
if (isset($_POST['submit']))
{
    /* Mesure de la fin seulement si on est en phase de traitement du formulaire */
    $debut = $_POST['debut'];
    $endtime = date("H:i:s" );
    // connexion à la base
    $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
    // sélection de la base
    mysql_select_db('test',$db) or die('Erreur de selection '.mysql_error());
 
    // on écrit la requête sql
    $requete="INSERT INTO sos(id, debutime, endtime) VALUES ('', '". $debut ."', '". $endtime ."')";
    mysql_query($requete);
    mysql_close(); // on ferme la connexion
}
?>
</html>

n°1051748
jode
Débutant en PHP
Posté le 19-04-2005 à 09:15:01  profilanswer
 

ça y est j'a enfin résolu le probleme,merci à touspour votre aide.


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

  Probleme pour récupérer heure de début et de fin de mon formulaire

 

Sujets relatifs
[php/js] recuperer une variable js dans une popup -=resolu=-Problème mscomm et controleur d'axe
problème de pause sous batch[JAVA] Récupérer le résultat d'une commande linux?
Problème pour ajout dans une listviewProblème DialogResult
repender moi svp il est facile mais un probleme de temp alors si vouseRécupérer la sortie standart dans un buffer
[SQL] Problème tout con, mais je sais pas comment fairecontroler un textbox + probleme expr regulières
Plus de sujets relatifs à : Probleme pour récupérer heure de début et de fin de mon formulaire


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