Pages: 1
La voie la + simple pour passer sûrement des paramètres est le passage par un fichier tout simple : txt
PB : passer une série de valeurs -> dans un tableau d'une page à une autre, sans mélanger les sessions d'utilisateur...
<?php
function dataExiste($user)
{
$fname='data-'.$user.'.txt';
return file_exists($fname);
}
function Killdata($user)
{
$fname='data-'.$user.'.txt';
unlink($fname);
}
function Dread($user)
{
$tableau = array();
$fname='data-'.$user.'.txt';
$handle = fopen($fname,"r") or die("Problème d'ouverture de $fname!!!");
while (!feof($handle))
{
$tableau[] = fgets($handle);
}
fclose($handle);
return $tableau;
}
function Dwrite($tableau,$user)
{
$fname='data-'.$user.'.txt';
$handle = fopen($fname,'w') or die("Problème d'écriture de $fname!!!");
foreach($tableau as $valeur)
{
fwrite($handle, $valeur."\n");
}
fclose($handle);
}
?>$user est l'index de l'utilisateur ou de la session en cours pour éviter les collisions de données.
On trouve les 4 fonctions : test de présence, destruction du fichier temporaire, lecture et écriture dans ce fichier.
Le tout étant telleement trivial et simple (d'esprit) que ce code est OPEN SOURCE sans license...
D'autant que je l'ai rédigé suite à une idée originale de Crazy (et oui, toujours le même !).
Donc, pour tous ceux qui ont la flemme d'écrire la même chose pour leurs besoins...
Je le donne en pâtures aux divers copier-coller de la communauté...
Hors ligne
Je viens de re-modifier ton script... Juste pour qu'il soit plus joli...
Et puis, je l'ai remis dans l'ordre pour que cela corresponde à ta description !
Ah ah ah ah ah...![]()
Alain AKA Arma
PS : Pourquoi une fonction dataExiste() qui ne sert que dans Dread() et Killdata() ?
Hors ligne
En fait, j'aurais tout simplement écrit cela :
<?php
function Dread($user)
{
if (file_exists('data-'.$user.'.txt'))
{
$tableau = array();
$handle = fopen('data-'.$user.'.txt',"r");
while (!feof($handle)) $tableau[] = fgets($handle);
fclose($handle);
return $tableau;
}
}
function Dwrite($tableau,$user)
{
if (!file_exists('data-'.$user.'.txt'))
{
$handle = fopen('data-'.$user.'.txt',"w");
foreach($tableau as $valeur) fwrite($handle, $valeur."\n");
fclose($handle);
}
}
?>Voila, il ne fallait pas m'énerver !![]()
Alain AKA Arma
PS : En plus, créer une fonction qui remplace une instruction PHP... C'est lourd !
Hors ligne
Je ne vais pas chicaner une accolade et un tiret, ![]()
Même si tu essaies de vexer un vieux suffisament plus âgé que toi pour que tu lui doives le respect ! ![]()
Et tu m'as sucré 2 fonctions indispensables !. ![]()
En programmation, l'encapsulation est destinée à simplifier l'écriture, et surtout la pensée : une ligne vaut toujours mieux que 2 lignes.
Le but de la lib est de penser en terme d'utilisateur et non de fichier... Pour écrire des données ! ![]()
Hors ligne
[Vous devez être identifié pour voir le texte caché.]
Explications :
function dataExiste($user)
{
$fname='data-'.$user.'.txt';
return file_exists($fname);
}Ne sert à rien !
Tester directement avec la fonction PHP :
if (@file_exists('data-'.$user.'.txt'))
{
// TRAITEMENT
}Idem pour la fonction Killdata !
function Killdata($user)
{
$fname='data-'.$user.'.txt';
unlink($fname);
}Appel de fonction à remplacer par :
if (@file_exists('data-'.$user.'.txt')) @unlink('data-'.$user.'.txt');Ou directement (plus court) :
@unlink('data-'.$user.'.txt');C'est beaucoup plus simple !
![]()
Alain AKA Arma
PS : Le "@" évite l'affichage d'un éventuel message d'erreur (si warning ou notice).
Hors ligne
Pages: 1
|
© 2006-2012 / A. G.☺ CiGi€M@®, 1997-2012 |
|
Reproduction totale ou partielle strictement interdite Contact : / |