Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 10-12-2007 13:08:57

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 29

Les sessions

Bonjour,
Je tente de me renseigner sur les sessions, je pensais avoir compris mais en relisant les site de debutant et mon code je ne vois pas ce qui cloche ...

Code:

<?php
session_start();
if ($_GET['action']=='send') 
{
if ( isset($_SESSION['time_post']) && $_SESSION['time_post'] < ( time() + 180) )
{
message que la personne a deja poste il y a maximum 3 minutes + redirection accueil.php
          exit();
}

$validitemail = "!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";
$verifnom = trim($_POST['nom']);
$verifcourriel = $_POST['courriel'];
$verifsujet = $_POST['sujet'];
$verifmessage = trim(stripslashes(htmlentities($_POST['contenumessage'])));
  ici les conditions a remplir pour envoyer le formulaire et on explique les erreur trouvees si il y en a et redirection contact.php


Envoi du mail + + redirection accueil.php
$_SESSION['time_post'] = time();
    exit();
}
?>
Le formulaire

Pourtant, une fois un formulaire soumis, il est impossible d en envoyer un deuxieme meme apres 1 heure et je ne comprend pas pourquoi.
Vous pouvez m'aider ?

Hors ligne

 

#2 10-12-2007 15:27:36

Philippe Gamache
Administrateur
Date d'inscription: 17-08-2006
Messages: 149

Re: Les sessions

C'Est normal

Code:

$_SESSION['time_post'] < ( time() + 180)

C'est  troujours vrai!

fait

Code:

<?php
session_start();
if ($_GET['action']=='send') 
{
if ( isset($_SESSION['time_post']) && ($_SESSION['time_post'] > time() ) )
{
message que la personne a deja poste il y a maximum 3 minutes + redirection accueil.php
          exit();
}

$validitemail = "!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";
$verifnom = trim($_POST['nom']);
$verifcourriel = $_POST['courriel'];
$verifsujet = $_POST['sujet'];
$verifmessage = trim(stripslashes(htmlentities($_POST['contenumessage'])));
  ici les conditions a remplir pour envoyer le formulaire et on explique les erreur trouvees si il y en a et redirection contact.php


Envoi du mail + + redirection accueil.php
$_SESSION['time_post'] = time() + 180;
    exit();
}
?>

Hors ligne

 

#3 10-12-2007 15:59:33

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 29

Re: Les sessions

Merci, cela fonctionne mais j ai du mal a comprendre .... apparement ma logique est inversee a celle du php xD
Je vais me replonger sur les sessions et les conditions histoire de ne plus faire la meme erreur smile

Encore merci pour la rapidite de reponse smile

Hors ligne

 

#4 10-12-2007 16:45:50

Philippe Gamache
Administrateur
Date d'inscription: 17-08-2006
Messages: 149

Re: Les sessions

Bien non,

Imagine :  Tu as mis 14h dans la session, l'usager click a 14h01, la vérification ce fesais sur 14h < 14h04, ce qui est toujours plus petit!

Hors ligne

 

#5 10-12-2007 17:14:41

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 29

Re: Les sessions

ha oui oulalla j ai eu du mal ...
J ai englouti trop de php en une fois xD
J ai honte d avoir fait une telle erreur -_-
encore merci a vous yikes)

Hors ligne