![]()
le 27/06/2008 à 12h55 - 3 commentaires
Calcul de temps amélioré 
donc je m'en suis vaguement inspiré
voici son code pour l'info :p
<?php
function pluriel($mot, $nb) {
if($nb > 1)
return $mot . 's';
else
return $mot;
}
function temps($date) {
$sec = time() - 60;
$min = time() - 60*60;
$heu = time() - 60*60*3;
$time = time() - $date;
//Recupère time de ce matin 0h00-hier matin meme heure
$time_matin = mktime(0, 0, 0, date('m'), date('d'), date('Y'));//Ce matin 0h0
$time_hier_matin = mktime(0, 0, 0, date('m'), date('d')-1, date('Y'));//hier matin 0h0
if($date > $sec) {//Si on $date moins de 1min
return 'Il y a '. $time . pluriel(' seconde', $time);
}
elseif($date > $min) {//si moins d'une heure
return 'Il y a '.floor($time/60) . pluriel(' minute', floor($time/60));
}
elseif($date > $heu){ //Moins de 3heure
$nb_heure = floor($time/3600);//nombre d'heures
$nb_min = floor(($time%3600)/60);//nombre de minutes
$nb_sec = $time%(3600/60);//nombre de secondes
$retour = 'Il y a ' .$nb_heure. 'h ';//valeur de return
if($nb_min != 0)
$retour .= $nb_min. 'min ';
if($nb_sec != 0)
$retour .= $nb_sec. 's';
return $retour;
}
elseif($date > $time_hier_matin) {//Si plus de 3heures, et hier
//intval pour enlever le 0 si < 10 (date('H') peut revoyer 09, là c'est 9 :p )
$nb_heure = intval(date('H', $date));//nombre d'heures
$nb_min = intval(date('i', $date));//nombre de minutes
$nb_sec = intval(date('s', $date));//nombre de secondes
if($date > $time_matin) //Si aujourd'hui
$retour = 'Aujourd\'hui';
else
$retour = 'Hier';
$retour .=' à ' .$nb_heure. 'h ';
if($nb_min != 0)
$retour .= $nb_min. 'min ';
if($nb_sec != 0)
$retour .= $nb_sec. 's';
return $retour;
}
else {//Avant-hier ou avant
$nb_an = intval(date('y', $date));//numero d'anné
$nb_mois = intval(date('m', $date));//numero de mois
$nb_jour = intval(date('d', $date));//numero de jours
$nb_heure = intval(date('H', $date));//nombre d'heures
$nb_min = intval(date('i', $date));//nombre de minutes
$nb_sec = intval(date('s', $date));//nombre de secondes
$retour = 'Le ' .$nb_jour. '/' .$nb_mois. '/' .$nb_an. ' à ' .$nb_heure. 'h ';
if($nb_min != 0)
$retour .= $nb_min. 'min ';
if($nb_sec != 0)
$retour .= $nb_sec. 's';
return $retour;
}
}
le 27/06/2008 à 00h52 - 4 commentaires
My personal captcha[MAJ]
<?php
header ("content-type: image/png");
$largeur = 80;//Height
$hauteur = 18;//Width
$image = imagecreate($largeur, $hauteur);//Creation d'une image vide
imagecolorallocate($image, 255, 255, 255);//Couleur de fond FF/FF/FF blanc
$afficher_les_points = TRUE;//On active les points ^^
if($afficher_les_points) {
$nb_points = mt_rand(100, 150);//Nombre de points dans l'image
$num_point = 0;//Prmier point
while($num_point <= $nb_points) {
$num_point ++;//On incrément le nombre de points
$x = mt_rand(0, $largeur);//valeur aléatoire dans l'image de l'absice du point
$y = mt_rand(0, $hauteur);//valeur aléatoire dans l'image de l'ordonnée du point
$couleur_aleatoire = imagecolorallocate($image, mt_rand(0, 255), 0, mt_rand(0, 255));//Couleur du point aléatoire
ImageSetPixel ($image, $x, $y, $couleur_aleatoire);//On affichele point
}
}
//Fin du test pour les points
$caractere = array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y','z','A', 'B','C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
// count($caractere) //Renvoi le nombre de lignes (62)
$nb_caracteres_max = mt_rand(3, 6);//Nombre de caractères max
if(isset($_GET['id'])) {//Si on vient de rafraichir la page, on fait une opération pour rafraichir tout l'image
$id = intval($_GET['id']);//Valeur type int
$id = floor($id); //on arrondi
if($id > 62)//Si supérieur a 62, on
$lettre = $caractere[mt_rand(0, 62)];
else
$lettre = $id;
}
else //Sinon, pas d'id
$lettre = $caractere[mt_rand(0, 62)];
$caractere_num = 1;//On a déjà un caractère ;)
while($caractere_num <= $nb_caracteres_max){//La flème d'un for()
$caractere_num ++;
$lettre .= $caractere[mt_rand(0, 61)];//$lettre vaut ce qui est dans l'image
}
//Correction bug tronquer le mot à 6lettres
if(strlen($lettre) > 6) {
$i = 6 - strlen($lettre); //Calcul nb de lettre en trop
$lettre = substr($lettre, 0, $i);
}
$couleur_aleatoire1 = imagecolorallocate($image, mt_rand(0,150), mt_rand(0,150), mt_rand(0,150));//on créé une couleur aléatoire pour le text
imagestring($image, 5, 10, 0, $lettre, $couleur_aleatoire1);//affichage du texte dans l'image
session_start();//ouverture de la session
$_SESSION['code'] = $lettre;
//Il n'y a plus qu'a comparer la valeur du champsanti robot avecla session
imagepng($image);//On créé une imae png
?>

<img onclick="this.src='images/image.php?id='+(Math.random()*100);" style="cursor: pointer" src="images/image.php" alt="Capcha" /> le 26/04/2008 à 21h55 - 26 commentaires
Rejeté par la communauté TTM le 14/04/2008 à 21h56 - 5 commentaires
[JS]mt_rand(max, min) function mt_rand(min, max)
{
var nb= min +(max-min+1)*Math.random();
return Math.floor(nb);
}
le 12/04/2008 à 21h33 - 13 commentaires
[php]code verif
<?php
// On veut afficher une image type png
header ("content-type: image/png");
/*
------> 1ere etape : Taille de l'image + fond
*/
// dimension de l'image : 175*50
$largeur = 80;
$hauteur = 40;
$image = imagecreate($largeur, $hauteur);
//Fond de l'image : blanc
imagecolorallocate($image, 255, 255, 255);
/*
------> 2e etape : Affichage des points
*/
//on choisi le nombre de points min, max
$nb_points = mt_rand(100, 150);
//Point numéro 0
$num_point = 0;
//boucle pour afficher tout les point en fonction du nombre de points aleatoires
while($num_point <= $nb_points)
{
//On incrémente la valeur du point (son numero)
$num_point ++;
// on lui defini une valeur aleatoire en x
$x = mt_rand(0, $largeur);
// on lui defini une valeur aleatoire en y
$y = mt_rand(0, $hauteur);
// definition d'un couleur aleatoire
$couleur_aleatoire = imagecolorallocate($image, mt_rand(0, 165), mt_rand(0, 165), mt_rand(0, 165));
// on affiche le point
ImageSetPixel ($image, $x, $y, $couleur_aleatoire);
}
/*
------> 3e etape : Affichage des traits
*/
//nombres de traits max
$nb_max_lignes = mt_rand(10, 30);
$ligne_numero = 0;
while($ligne_numero <= $nb_max_lignes)
{
// incremention nombre de lignes
$ligne_numero ++;
// valeurs aleatoire de x et y
$x1 = mt_rand(0, $largeur);
$y1 = mt_rand(0, $hauteur);
$x2 = mt_rand(0, $largeur);
$y2 = mt_rand(0, $hauteur);
//couleur aleatoire
$couleur_aleatoire = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
//affichage de la ligne
ImageLine ($image, $x1, $y1, $x2, $y2, $couleur_aleatoire);
}
/*
------> 4e etape : Affichage du texte
*/
//on cree un array ou on stock les lette pour le code de securite (61 + 1 cases)
$caractere = array("a", "z", "e", "r", "t", "y", "u", "i", "o", "p", "q", "d", "f", "g", "h", "j", "k", "l", "m",
"w", "x", "c", "v", "b", "n", "1", "2", "3", "4", "5", "5", "6", "7", "8", "9", "0","A", "Z", "E", "R", "T", "Y",
"U", "I", "O", "P", "Q", "S", "D", "F", "G", "H", "J", "K", "L", "M", "W", "C", "V", "B", "N", "X", );
//definition aleatoire nombre de caracteres
$nb_caracteres_max = mt_rand(3, 6);
//lettre numero 1
$lettre = $caractere[mt_rand(0, 61)];
$caractere_num = 1;
//Creation de la boucle pour afficher les autres caracteres
while($caractere_num <= $nb_caracteres_max)
{
$caractere_num ++;
$lettre .= $caractere[mt_rand(0, 61)];
}
// On cree une couleur aleatoire pour tout le texte
$couleur_aleatoire1 = imagecolorallocate($image, 0,0,0);
// Affichage du code
imagestring($image, 5, 10, 10, $lettre, $couleur_aleatoire1);
/*
------> 5e etape : Affichage de l'image + SESSION
*/
// ouverture de la session
session_start();
// $_SESSION['code'] vaut le code aleatoire
$_SESSION['code'] = $lettre;
//affichage de l'image
imagepng($image);
?>
L'équipe:
Sky (Fondateur, Développeur, rédacteur tuto),
Paya (Fondateur, Développeur, rédacteur tuto),
Tyberium (Développeur, rédacteur tuto),
nam0 ( Développeur, rédacteur tuto),
Logan0015 (Développeur, rédacteur tuto)
( pages vues : 15730544 membres inscrits : 33160 tutoriaux : 348 )
Site optimisé pour Firefox 1.x et 2.0 et
Internet Explorer 7 -
Page exécutée en 0.853 (0.026) secondes
Copyright © 2003-2008 tutomania.com, All Rights Reserved.