Bonjour,
Ecouter j'avouerai que la j'en ai vraiment plus que marre ! depuis toute la journée jy suis ! c 'est affolant mais les cookies et moi ! on est vraiment des ennemis acharner !!!
je vous explique ! et dieu merci celui qui pourra me venir en aide...
jai un formulaire en methode post qui apres remplissage de celui ci ! envoi une requete direct sur la page web
ce qui ce passe c que je voudrai eviter au visiteurs d'empecher de revenir sur ce formulaire une seconde fois au bout de 3600 secondes. equivalent a une heure...
voici mon code :)
------------
--------
Ca marche pas serieux je sais pas quoi faire
quelquun peut il maider ? merci
Salut,
j' ai trouvé ;-)
ça venait pas de la redirection mais de plusieur facteur !!!
1) un petit problème dans tes if
2) un problème dans le timming de ton cookie !!!
Pour mettre l'expiration dans 1H on fait time()+3600 !!!!
Voilà ton code :
<?php include('config.php');
if(!empty($_POST['submit']))// On vérifit si des données type POST ont été émises
{
$titre = addslashes(htmlentities(trim($_POST['titre'])));
$id_jeux = $_POST['id_jeux'];
$auteur = $_POST['auteur'];
$description = addslashes(htmlentities(trim($_POST['message'])));
$date = date('d/m/Y H:i:s');
$news = 0;
if (!isset($_COOKIE['Tempo']))// On vérifit qu' il n' a pas de cookie
{
if(empty($_POST['titre']) || empty($_POST['message']))// On vérifie avec empty voir si les champs sont vide
{
echo 'Merci de remplir tous les champs'
,$titre
,$description;
} else {// Tout les champs sont ok et il n'y a pas de cookie
// Création de la requette sql
$requete = "INSERT INTO news(titre, id_jeux, auteur, description, date, news)
VALUES ('$titre', '$id_jeux', '$auteur', '$description', '$date', '$news')";
// Envoie de la requette sql
$result = mysql_query($requete);
if(!$result){// Problème avec la base sql
echo 'Erreur Innatendu.
';
} else {// Tout est ok, enregistrement éffectué
setcookie('Tempo', time()+3600, time()+3600);
echo 'Votre News a bien été enregistré !';
}
}
} else {
$time = $_COOKIE['Tempo'] - time();
$type_time = 'secs';
if($time > 60){
$time = $time / 60;
$type_time = 'mins';
}
echo 'Vous ne pouvez pas envoyer une nouvelle news avant : ',$time,' ',$type_time;
}
}
?>
@+
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Salut,
pour utiliser les cookie il faut faire comme ça :
<?php
$_COOKIE['Nom_du_Cookie'];// Lire un cookie
// Ecriture dans un cookie du passe
$duree = 365*24*60*60; // 1 an en secondes !
setcookie('Nom_du_Cookie', 'Données', time()+$duree);// Création du cookie
header('Location: '.$_SERVER['PHP_SELF']); // Redirection obligatoire
?>
@+
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
donc il me manque ceci : header('Location: '.$_SERVER['PHP_SELF']);
dans mon code....
le code ce trouve a cette adresse : http://rech151.Free.fr/code/code.txt (merci encore pour ta reponse en attente d'une nouvelle reponse )
té genial et c pas la premiere fois que tu maides serieux, encore merci... c super :)
bon fin de week end a toi ! je vais regarder la source en detail et je vais faire mes test ;)
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.