Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2006, 15h23   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
Par défaut variable non reconnue

Bonjour tout le monde j'ai créé une requête de mise à jour où une de me variable ne passe pas...

Je vous montre le code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
session_start();
 
require("m_fonctions_utiles.php"); 
require("codes_oracle.php"); 
 
m_Sql_connect_Oracle(SERVEUR_ORACLE, UTILISATEUR_ORACLE, MOTDEPASSE_ORACLE, NOMBASE_ORACLE); 
 
if (!session_id())
 session_start();
 
 session_register ('id_stagiaire');
 session_register ('heure_arrivee');
 session_register ('heure_depart');
 session_register ('jour');
 
  "<b>".$date2 = date("d-m-y");
 
echo $heure_arrivee;
 
$soustrait = "update presence set duree = (to_date('".$heure_depart."','DD-mm-YYYY HH24:mi') - to_date('".$heure_arrivee."', 'DD-mm-YYYY HH24:mi'))*24 where jour = to_date('".$date2."','DD-mm-YYYY') and id_stagiaire = '".$id_stagiaire."'";
 
 
if($req_fin = m_Sql_query_Oracle($soustrait))
 
 
 
{
 
echo "<h3><b><center><br><br><br><font face = verdana >Votre heure de départ a bien été enregistrée.</b></center>";
 
 
 }
else
{
 echo "Erreur dans l'éxecution de la requete soustrait<br>";
 echo "Erreur".mysql_error().":".mysql_error()."<br>";
}
 
?>
J'ai placé un $soustrait juste après la requête et il est apparût que c'est "heure_arrivee" qui n'est pas recconnu bien que je l'ai déclarée
Code :
session_register ('heure_arrivee');
Si quelqu'un peut me dire ce qui manque ça me rendrait service.

Merci d'avance.
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 15h45   #2
Membre confirmé
 
Avatar de Wormus
 
Inscription : septembre 2005
Messages : 259
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 259
Points : 207
Points : 207
tu ne déclare pas ta variable heure_arrivee en faisant :

Code :
session_register ('heure_arrivee');
mais tu sauvegarde la variable $heure_arrivee qui doit exister (!!) dans une session

regarde ça
Wormus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h05   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
effectivement je me suis mal exprimé voici la page où j'ai déclaré ma variable:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
session_start();
 
require("m_fonctions_utiles.php"); 
require("codes_oracle.php"); 
 
m_Sql_connect_Oracle(SERVEUR_ORACLE, UTILISATEUR_ORACLE, MOTDEPASSE_ORACLE, NOMBASE_ORACLE);
 
if (!session_id())
 session_start();
 
 session_register ('id_stagiaire');
 
 
 "<b>".$date2 = date("d-m-y");
 
"<b>".$heure_arrivee = date("d-m-y H:i");
 
$heure_arrivee=$_POST['heure_arrivee'];*
 
$add_com= "insert into presence( id_stagiaire, ip_poste, heure_arrivee, jour) VALUES ('".$id_stagiaire."', '".$_SERVER['REMOTE_ADDR']."', sysdate,'".$date2."')";
 
if($tab_com = m_Sql_query_Oracle($add_com,$base))
 
 
 
{
 
echo "<h3><b><center><br><br><br><font face = verdana >Votre heure d'arrivée a bien été enregistrée.<br> Nous vous souhaitons une bonne journée.</B></center>";
 }
else
{
 echo "Erreur dans l'éxecution de la requete add_comm<br>";
 echo "Erreur".mysql_error().":".mysql_error()."<br>";
}
 
?>
Je l'ai déclaré à l'endroit où j'ai mis mon *.
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h13   #4
Membre confirmé
 
Avatar de Wormus
 
Inscription : septembre 2005
Messages : 259
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 259
Points : 207
Points : 207
T'as tjr la même erreur ?? ça tombe sur quelle ligne si PHP te la donne ??

tu devrais avoir cette erreur aussi :

Citation:
Notice: A session had already been started - ignoring session_start() in c:\program files\easyphp1-8\www\situ\select.php on line 151
vue que tu as mis 2 fois session_start();
Wormus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h16   #5
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
bon en fait j'ai viré entre temps un des 2 session_start.
Mais ça n'a rien changé.

et je n'ai aucun message d'erreur c'est juste que le champ "duree" reste vide dans ma base de donnée vu que la variable "heure_arrivee" ne veut pas s'insérer dans la requête.
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h26   #6
Membre confirmé
 
Avatar de Wormus
 
Inscription : septembre 2005
Messages : 259
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 259
Points : 207
Points : 207
J'ai beaucoup de mal à comprendre certaines lignes :

Code :
1
2
3
4
5
"<b>".$date2 = date("d-m-y"); 
 
"<b>".$heure_arrivee = date("d-m-y H:i"); 
 
$heure_arrivee=$_POST['heure_arrivee'];
Je comprend pas les balises <b> et je comprend pas non plus pk tu fais : $heure_arrivee = date("d-m-y H:i"); et ensuite : $heure_arrivee=$_POST['heure_arrivee'];

c'est l'un ou l'autre mais pas les 2 sinon $heure_arrivee = date("d-m-y H:i"); n'a aucun intérêt !!
Wormus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h36   #7
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
bon en fait
Code :
$heure_arrivee=$_POST['heure_arrivee'];
je viens juste de l'ajouter car je pensais à tout hasard que ça aurait pu résoudre le problème
mais je vais le renlever avec ou sans ça ne veut pas être recconnu.

bon c'est vrai les balises <b> n'avais rien à faire ici. Je comprends que ça puisse embrouiller certaines personnes désolé mais le problème ne vient pas de là je viens de tester sans.
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 16h44   #8
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
essaie de changer complétement le nom de ta variable... sinon fais une variable en utilisant option explicite .. c'est a dire de dabord déclarer ta variable et ensuite de l'instanciée...

Code :
1
2
3
4
 
 
$var;
$var = "blabla";
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h11.


 
 
 
 
Partenaires

Hébergement Web