Quel type de date mettre ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Quel type de date mettre ?

Re: Quel type de date mettre ?

par ISoon » 15 mars 2014, 21:37

Slt,

J'ai pas bien compris. Ton "Marche" se remet.
$req2 = $bdd->prepare( "INSERT INTO vote1 (idduel, ip) VALUES ('$idduel' ,'$ip')" );
La date inserée au moment de cette action est bien définit?

Tu utilises des systemes de caches ?
Ba j'aimerais que le "Marche" s'affiche toutes les 24 heures par ip mais il s'affiche tous le temps.

Oui, dans la base de donnée sa la mets automatiquement :)

Euh non...

Re: Quel type de date mettre ?

par damien_55 » 15 mars 2014, 19:17

Slt,

J'ai pas bien compris. Ton "Marche" se remet.
$req2 = $bdd->prepare( "INSERT INTO vote1 (idduel, ip) VALUES ('$idduel' ,'$ip')" );
La date inserée au moment de cette action est bien définit?

Tu utilises des systemes de caches ?

Re: Quel type de date mettre ?

par ISoon » 15 mars 2014, 17:20

INSERT INTO vote1 (idduel, date_passage) VALUES ,:idduel ,:ip, NOW()
2 colonnes, 3 valeurs et une virgule qui se balade n'importe où.
Voici mon code, j'arrive à insérer.
<?php
session_start();
$id = htmlspecialchars(intval($_GET['id']));


try
{
    $bdd = new PDO('mysql:host=;dbname=', '', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
 
 
  
$ip = $_SERVER['REMOTE_ADDR'];
$idduel = $id;
$req = $bdd->prepare( ' SELECT COUNT(*) AS nb_occurences FROM vote1 WHERE ip = :ip AND  date_passage >= (NOW() - INTERVAL 1 DAY)') ;
$req->bindValue(':ip',$ip, PDO::PARAM_STR);
$req->execute();
$donnees = $req->fetch();
  
if($donnees['nb_occurences'] == 0)
{
     $req2 = $bdd->prepare( "INSERT INTO vote1 (idduel, ip) VALUES ('$idduel' ,'$ip')" );
    $req2->bindValue(':ip',$ip, PDO::PARAM_STR);
    $req2->execute();
    $req2->closeCursor();
echo'Marche !';

}
else
{
    echo'Vous avez déjà voter ajourd hui !'; 
}
$req->closeCursor();
 
?>
Mais quand j'y retourne quelques secondes après et bas "Marche" se remets et sa ne devrait pas...

Merci beaucoup

Re: Quel type de date mettre ?

par xTG » 12 mars 2014, 20:38

INSERT INTO vote1 (idduel, date_passage) VALUES ,:idduel ,:ip, NOW()
2 colonnes, 3 valeurs et une virgule qui se balade n'importe où.

Re: Quel type de date mettre ?

par ISoon » 12 mars 2014, 14:28

A priori un format datetime si les requêtes que tu nous présentes sont correctes (je fais abstraction de la seconde qui comporte des erreurs de syntaxe).
Il y a des erreurs dans ma requete?

Re: Quel type de date mettre ?

par xTG » 12 mars 2014, 14:15

A priori un format datetime si les requêtes que tu nous présentes sont correctes (je fais abstraction de la seconde qui comporte des erreurs de syntaxe).

Quel type de date mettre ?

par ISoon » 12 mars 2014, 13:05

Bonjour,

j'ai se code pour insérer des éléments dans la base de donnée avec PDO :
<?php
session_start();
$id = htmlspecialchars(intval($_GET['id']));


try
{
    $bdd = new PDO('mysql:host=;dbname=', '', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
 
 
  
$ip = $_SERVER['REMOTE_ADDR'];
$idduel = $id;
  
$req = $bdd->prepare( ' SELECT COUNT(*) AS nb_occurences FROM vote1 WHERE IP = :ip AND  date_passage >= (NOW() - INTERVAL 1 DAY)') ;
$req->bindValue(':ip',$ip, PDO::PARAM_STR);
$req->execute();
$donnees = $req->fetch();
  
if($donnees['nb_occurences'] == 0)
{
    // cette ip ne s'est pas connectée ces dernières 24h
    // on l'insère en BDD
     $req2 = $bdd->prepare( ' INSERT INTO vote1 (idduel, date_passage) VALUES ,:idduel ,:ip, NOW()' );
    $req2->bindValue(':ip',$ip, PDO::PARAM_STR);
    $req2->execute();
    $req2->closeCursor();
    // et on affiche le lien
    echo '<a href = "acceuil.php">Lien</a>';
}
else
{
    echo 'Rien...'; // le membre s'est connecté il y a moins de 24 heures, on n'affiche rien
}
$req->closeCursor();
 
?>
Sauf que pour la colonne "Date_Passage" je ne sais pas quel type mettre?

Merci beaucoup de votre réponse