Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2884 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6
Auteur Sujet :

[PHP] La fonction toute bête qui vous simplifie le plus la vie ?

n°136250
ethernal
Chercheur de vérité...
Posté le 08-05-2002 à 11:05:46  profilanswer
 

Reprise du message précédent :
upe  :bounce:

mood
Publicité
Posté le 08-05-2002 à 11:05:46  profilanswer
 

n°138814
ethernal
Chercheur de vérité...
Posté le 14-05-2002 à 18:11:39  profilanswer
 

up il y en a qui en ont besoin on dirait ;)

n°142791
THE REAL S​MILEY
The Real Résistance!
Posté le 22-05-2002 à 21:24:30  profilanswer
 

ethernal a écrit a écrit :

up il y en a un qui en a besoin on dirait ;)  




 :lol:

n°143555
ethernal
Chercheur de vérité...
Posté le 23-05-2002 à 20:12:24  profilanswer
 

j'inclu ce petit bout de code pour regrouper le tout dans le même sujet :
 
gérer les messages lus/non lus avec des cookies:
 

  • Marquer un sujet comme lu :  

qd ?  
 - à lancer au chargement d'une page liste de messages
 - lors de l'ajout d'un message (et donc ajout d'un topic sous entendu)

Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. $status[forum_id][topic_id]= time();
  3. setcookie("status", serialize($status), time()+3600*24*365,"/" );


 

  • Afficher les sujets (détection si le sujet est lu ou pas)
Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. if ( isSet($status[forum_id][topic_id]) ){
  3. //le sujet a été lu
  4.   if ($status[forum_id][topic_id]>= $topic["Date"]){
  5.    /* pour l'affichage des forums, on peut vouloir afficher "pas nouveau message" que si il n'y a pas eu de messages après sa dernière visite (et pas uniquement si on a visionné le dernier message comme c'est le cas pour ce forum) .  Dans ce cas on test si le forum a déjà été accédé (isset($status["forum_id"])) et on prend le temps max du cookie avec le temps du dernier topic (max($status["forum_id"]))>=$topic["date"]. */
  6.    //le sujet a été lu et il n'y a pas de nouveau message
  7.   }
  8.   else{
  9.    //le sujet a été lu et il y a un nouveau message
  10.   }
  11. }
  12. else{
  13.   //le sujet n'a jamais été lu
  14. }


à vous de le faire pour la liste des forums et l'adapter à votre script.
 
c'est pas très lourd, mais je me demande qd la limite de taille sera atteinte ? (un cookie<= 4KB)

 

[jfdsdjhfuetppo]--Message édité par ethernal le 24-05-2002 à 02:44:32--[/jfdsdjhfuetppo]


---------------
...oups kernel error...
n°143561
THE REAL S​MILEY
The Real Résistance!
Posté le 23-05-2002 à 20:26:28  profilanswer
 

ethernal a écrit a écrit :

j'inclu ce petit bout de code pour regrouper le tout dans le même sujet :
 
gérer les messages lus/non lus avec des cookies:
 

  • Marquer un sujet comme lu :  

qd ?  
 - à lancer au chargement d'une page liste de messages
 - lors de l'ajout d'un message (et donc ajout d'un topic sous entendu)

Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. $status[forum_id][topic_id]= time();
  3. setcookie("status", serialize($status), time()+3600*24*365,"/" );


 

  • Afficher les sujets (détection si le sujet est lu ou pas)
Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. if ( isSet($status[forum_id][topic_id]) ){
  3. //le sujet a été lu
  4.   if ($status[forum_id][topic_id]>= $topic["Date"]){
  5.    //le sujet a été lu et il n'y a pas de nouveau message
  6.   }
  7.   else{
  8.    //le sujet a été lu et il y a un nouveau message
  9.   }
  10. }
  11. else{
  12.   //le sujet n'a jamais été lu
  13. }


à vous de le faire pour la liste des forums et l'adapter à votre script.
 
c'est pas très lourd, mais je me demande qd la limite de taille sera atteinte ? (un cookie<= 4KB)  
 
 




au bout d'un moment, ca ne risque pas de faire un gros cookie ?

n°143565
kayasax
Posté le 23-05-2002 à 20:41:32  profilanswer
 

sur ce forum c stocke dans la bdd et pas dans 1 cookie car 1 fois authentifie sur un autre pc je vois bien les drapeaux vu


---------------
All we need is a soul revolution
n°143575
ethernal
Chercheur de vérité...
Posté le 23-05-2002 à 21:13:56  profilanswer
 

THE REAL SMILEY a écrit a écrit :

 
au bout d'un moment, ca ne risque pas de faire un gros cookie ?  




 
si si c clair :( et qd ça saute que se passe-t'il ?


---------------
...oups kernel error...
n°143579
ethernal
Chercheur de vérité...
Posté le 23-05-2002 à 21:15:43  profilanswer
 

kayasax a écrit a écrit :

sur ce forum c stocke dans la bdd et pas dans 1 cookie car 1 fois authentifie sur un autre pc je vois bien les drapeaux vu  




 
oui, je pense que je vais passer au mode bd qd j'aurai un peu mieux visualisé la chose.
 
mais je dois dire que le truc des cookies c pas mal pour décharger le serveur ;)


---------------
...oups kernel error...
n°143618
darxmurf
meow
Posté le 23-05-2002 à 22:10:58  profilanswer
 

elle est peut être déjà sortie mais bon vu que j'ai réussi à la faire et que je suis fière de moi je la post :)
 
<?php
  /*******************************************************************************/
  /* Fonction remplacant les adresses URL par des liens                          */
  /*******************************************************************************/
   
  function url($msg)
    {$codes[0] = "http://";
  $codes[1] = "https://";
  $codes[2] = "ftp://";
   
  /* On ajoute un  espace au  début du message pour que la  reconnaissance *
   * d'URL fonctionne  si une  adresse est placée en  début de message     */
  $msg = " $msg";
   
  /* On remplace les www. par des http://www. pour que le liens fonctionne */
  $msg = eregi_replace("( www.)"," http://www.",$msg);
   
  /* On applique les remplacement de texte pour les URLs                   */
  for ($i=0;$i<sizeof($codes);$i++)
    while ($temp = eregi("([\v ]$codes[$i][A-Za-z0-9_.%/?=&#:;+-]{5,})",$msg,$result))
     {$result[0] = str_replace(" ","",$result[0]);
      $msg = eregi_replace($result[0]," <a href=$result[0]>$result[0]</a> ",$msg);  
     }
   
  return($msg);  
    }
    /*******************************************************************************/
 /* FIN de fonction                                                             */
    /*******************************************************************************/
?>


---------------
Des trucs - flickr - Instagram
n°143623
THE REAL S​MILEY
The Real Résistance!
Posté le 23-05-2002 à 22:16:39  profilanswer
 

Darxmurf a écrit a écrit :

elle est peut être déjà sortie mais bon vu que j'ai réussi à la faire et que je suis fière de moi je la post :)
 
( ....)  




effectivement, on l'a déjà posté et en plus simple, n'hésite pas à la récupérer  ;)


---------------
༼ つ ◕_◕ ༽つ
mood
Publicité
Posté le 23-05-2002 à 22:16:39  profilanswer
 

n°159779
j-'-r
Sans horraires fixe
Posté le 15-06-2002 à 11:10:31  profilanswer
 

ethernal a écrit a écrit :

 
 
oui, je pense que je vais passer au mode bd qd j'aurai un peu mieux visualisé la chose.
 
mais je dois dire que le truc des cookies c pas mal pour décharger le serveur ;)  




 
j ai fait quelque chose dans le meme genre,
mais je me suis demandé si c etait pas possible de stoquer le cookie dans la base pour pouvoir le recuperer si pc != ou si cookie mort...


---------------
Perdu ? Vous êtes ici : --> *
n°159849
ceyquem
E falso sequitur quodlibet
Posté le 15-06-2002 à 16:00:32  profilanswer
 

Une fonction mais ASP. je la pense adaptable au php mais je maîtrise pas assez : elle remplace un caractère par un code permettant de l'afficer quel qu'il soit :
 
Function GenericChar(char As String)
    GenericChar = "&" & Asc(char) & ";"
End Function
 
on doit pouvoir faire un truc pour appliquer ceci à une chaîne de caractères, pratique pour les apostrophes dans les zones de texte :
 
Tableau(1 To 5)
Tableau(1)="'"
Tableau(2)="é"
...
 
i=1
Do Until i > 2
  Text$ = Replace(Text$,Tableau(i),"&" & Asc(Tableau(i)) & ";" )
  i=i+1
Loop

n°183590
youdontcar​e
Posté le 26-07-2002 à 14:16:43  profilanswer
 

up

n°204353
Freekill
Electron libre…
Posté le 29-08-2002 à 04:37:48  profilanswer
 

bozocarzu a écrit a écrit :

 
(...)
Bon, alors sa vous parait tres compliquer, mais en faite non !!
Deja la derniere parti (en rouge) ne sert a rien pour la simple raison que l'on n'execute que cette parti si vernav est strictment superieur a 5, et vernav est toujours egal a 4 (quand il fais appel la fonction palette, il definit toujours vernav a 4, ne me demander pas pourquoi !)
Ensuite la parti en vert ne sert non plus a rien : id n'est jamais egal a 8
(...)



 
Faux, la version du navigateur est détecté par php lors de la création de la page.
 
Si c'est Mozilla ou Netscape, les onClick deviendront fonction(***,1) et non fonction(***,4).
 
En pratique:
 
au début de la page :
 

Code :
  1. <?php
  2. if (strstr($HTTP_USER_AGENT,"MSIE" ))
  3. {
  4. $nav = "4";
  5. }
  6. else
  7. {
  8. $nav = "1";
  9. }
  10. ?>


 
après :
 

Code :
  1. <img onClick="palette(0,<?php echo $nav; ?> )" src="monbouton.gif" alt="" />


 
( même chose pour les insertElt() )
 
PS: oui je sais que ma détection du brouteur est simpliste, faites mieux si ça vous chante?  :D


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
n°238589
veryfree
Posté le 02-11-2002 à 16:46:50  profilanswer
 

:o

n°244920
Sh@rdar
Ex-PhPéteur
Posté le 14-11-2002 à 09:12:02  profilanswer
 

A l'attention des débutants
 
une petite fonction récursive qui permet d'afficher le contenu des variables de sessions (ou de tout autre tableau de variable)
 

Code :
  1. Function Display($array,$sp) {
  2.   foreach ($array AS $Key => $Val) {
  3.     echo "$sp<b>$Key</b> => $Val";
  4.     if (is_array($Val)) {
  5.       echo '  (  <br>';
  6.       Display($Val,$sp.'   ');
  7.       echo "$sp)";
  8.     }
  9.     echo "<br>\n";
  10.   }
  11. }
  12. Display ($HTTP_SESSION_VARS,'   ');


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°277853
kayasax
Posté le 31-12-2002 à 16:30:58  profilanswer
 

up pour 2003  :D

n°280272
Sh@rdar
Ex-PhPéteur
Posté le 06-01-2003 à 17:20:50  profilanswer
 

et bonne année :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°338030
THE REAL S​MILEY
The Real Résistance!
Posté le 19-03-2003 à 23:09:20  profilanswer
 

:spookie:

n°476306
aspegic500​mg
Posté le 03-08-2003 à 17:50:57  profilanswer
 

drapal, topic super sympa :ouch:

n°476313
simogeo
j'ai jamais tué de chats, ...
Posté le 03-08-2003 à 18:01:01  profilanswer
 

drapal aussi [:vortex] ..
j'avais jamais vu  :o

n°690712
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 02-04-2004 à 12:29:54  profilanswer
 

Sh@rdar a écrit :

function replink($Texte) {
  $Texte = strip_tags($Texte);
  $Texte = nl2br($Texte);
  $Texte = eregi_replace("(http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href=\"\\1://\\2\" target=\"_blank\">\\1://\\2</a>",$Texte);
  $Texte = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:spa
ce:]]*)([[:alnum:]-])\.([^[:space:]]*)([[:alnum:]
-]))", "<a href=\"mailto:\\1\">\\1</a>", $Texte);
  $Texte = eregi_replace("([a-z0-9]{40})", "\\1 " ,$Texte) ;
  return $Texte ;
}
 
 
tout en un celle là !  


Bonjour !
J'utilise donc cette fonction, au passage, merci Sh@rdar ;)
 
Mais je voudrai en faire une qui fasse tout l'inverse.
C'est a dire qu'elle convertisse <a href= "http://www.toto.com">www.toto.com</a> en www.toto.com
 
"Tout simplement".
Si quelqu'un pouvais m'aider merci ;)


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°690807
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-04-2004 à 14:04:02  profilanswer
 

[:panem]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°690943
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 02-04-2004 à 15:05:36  profilanswer
 
n°691305
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 02-04-2004 à 20:12:12  profilanswer
 
n°691312
jagstang
Pa Capona ಠ_ಠ
Posté le 02-04-2004 à 20:26:06  profilanswer
 

9 posts en un an et demi... inutile d'upper

n°691336
Mosca
Posté le 02-04-2004 à 21:18:06  profilanswer
 

JagStang a écrit :

9 posts en un an et demi... inutile d'upper


 
[mode :heink:  on]
 
Et quand quelqu'un posera la question, on lui dira : "Fais une recherche !" Pfff ...  :sarcastic:  
Plutôt que de générer un nouveau topic, c'est pas mieux de reprendre ce qui existe, tu crois pas ? D'autant que je découvre aussi le topic et que c'est pas mal ...
 
[mode  :heink: off]

n°691428
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 02-04-2004 à 23:32:31  profilanswer
 

Moi aussi j'ai découvert le topic et j'ai trouvé pas mal de truc assez interessant comme cette fonction.
Mais personne peut me répondre ..... :(


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691457
simogeo
j'ai jamais tué de chats, ...
Posté le 03-04-2004 à 00:36:01  profilanswer
 

j0k3r_n0ir a écrit :

Moi aussi j'ai découvert le topic et j'ai trouvé pas mal de truc assez interessant comme cette fonction.
Mais personne peut me répondre ..... :(


Code :
  1. function link_extract($str)
  2. {
  3.     if (ereg("(<a href=\"([a-zA-Z\.]{1,})\".+>([a-zA-Z]{1,})</a> )?", $str,$out))
  4.         return(array($out[2],$out[3]));
  5. }
  6. $n = link_extract('<a href="foo.html" class=topnav target=_blank>bar</a>');
  7. print_r($n);


 
source : http://www.phpinfo.net/regex/index.html
 
c'est merdique mais ca peut te donner une piste


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°691460
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 00:43:47  profilanswer
 

Ah ouais pas mal, je vais l'utiliser.
Merci simogeo ;)
 
[edit] : En bidouillant un peu, j'arrive a ça :
 

Code :
  1. function link_extract($str)
  2.   {
  3.         $str = eregi_replace("<a href=\"([a-zA-Z\.]{1,})\".+>([a-zA-Z]{1,})</a> )?", "\\1", $str);
  4.  return($str);
  5.   }


 
Elle marche bien apparament...
Vous en pensez quoi ?
Une optimisation possible ?


Message édité par j0k3r_n0ir le 03-04-2004 à 00:56:31

---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691465
simogeo
j'ai jamais tué de chats, ...
Posté le 03-04-2004 à 01:01:57  profilanswer
 

j0k3r_n0ir a écrit :


Elle marche bien apparament...
Vous en pensez quoi ?
Une optimisation possible ?


 
y'en a plein !
 
genre, elle ne doit pas gérer ca
 
<a href="http://www.phpinfo.net/regex/index.html">http://www.phpinfo.net/regex/index.html </a>
 
ni les url avec les caracteres ?&,-@=
bref, inspires toi aussi du modèle de sh@rdar pour la compléter  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°691468
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 01:06:06  profilanswer
 

Ouais c'est ce que j'étais en train de tester....
Elle marche que si tu lui passe une url dans ce style :  
<a href="foo.html">bar</a>
 
lol pas cool, bon je vais plancher un peu sur ça...


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691473
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 01:21:14  profilanswer
 

Bon alors grace au code de sh@rdar, j'ai réussi a faire ce que je voulais. Ca marche nikel !
 

Code :
  1. $Texte = eregi_replace("<a href=\"(http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)\" target=\"_blank\">([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)</a>","\\2",$Texte);


 
Récupere uniquement le code du genre :

Code :
  1. <a href="http://www.toto.com" target="_blank">toto</a>


Dans ce cas ce la retournera : http://www.toto.com
 
Si quelqu'un pouvais me dire comment faire pour que la fonction ne tienne pas compte des différents parametres passer a la balise <a>.
Parce que la, le code fonctionne que si le parametre target="_blank" est présent ...


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691661
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 14:47:13  profilanswer
 
n°691695
kalex
Posté le 03-04-2004 à 16:52:40  profilanswer
 

Une petite astuce (un peu crade) :
Pour faire une liste (par exemple), on fait d'habitude un test sur chaque option pour savoir si elle est sélectionnée, du genre :

Code :
  1. // $var peut contenir "un", "deux" ou "trois"
  2. $sel = ' selected="selected"';
  3. echo '<select><option';
  4. if($var == 'un')
  5. echo $sel;
  6. echo '>un</option>';
  7. echo '<option';
  8. if($var == 'deux')
  9. echo $sel;
  10. echo '>deux</option>';
  11. echo '<option';
  12. if($var == 'trois')
  13. echo $sel;
  14. echo '>trois</option></select>';


Astuce : on peut aussi stoquer le code dans une variable :

Code :
  1. // $var peut contenir "un", "deux" ou "trois"
  2. $sel = ' selected="selected"';
  3. $$var = $sel; // On stoque $sel dans une nouvelle variable du nom du contenu de $var
  4. echo '<select>
  5. <option'.@$un.'>un</option>
  6. <option'.@$deux.'>deux</option>
  7. <option'.@$trois.'>trois</option>
  8. </select>';


J'en aurais bien d'autres, mais c'est plus compliqué (et expliquer c'est pas mon fort). :sleep:


Message édité par kalex le 03-04-2004 à 19:09:40
n°691707
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 17:04:09  profilanswer
 

Euh..... :heink:
Il y a pas de rapport avec ma question, no ?


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691710
Mosca
Posté le 03-04-2004 à 17:09:43  profilanswer
 

j0k3r_n0ir a écrit :

Euh..... :heink:
Il y a pas de rapport avec ma question, no ?


 
Non, mais ça répond au sujet du topic par contre ... :wahoo:

n°691713
kalex
Posté le 03-04-2004 à 17:11:24  profilanswer
 

j0k3r_n0ir a écrit :

Euh..... :heink:
Il y a pas de rapport avec ma question, no ?

Egocentrique :o

n°691717
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 17:14:50  profilanswer
 

C'était juste une question lol
D'où le no ? a la fin..... :)


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°691765
drasche
Posté le 03-04-2004 à 18:00:39  profilanswer
 

j'ai un embryon de page web qui répertorie les fonctions que je réutilise le plus souvent :D
 
bon c'est moche, pas encore très pratique tout ça, mais de temps en temps j'y travaille [:joce]
 
très bien ce topic en passant :jap:
 
edit: quelle brêle je répondais à un post datant de 2002 [:tinostar]


Message édité par drasche le 03-04-2004 à 18:01:50

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°691862
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 20:40:52  profilanswer
 

drasche a écrit :

edit: quelle brêle je répondais à un post datant de 2002 [:tinostar]

Et alors lol ??


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6

Aller à :
Ajouter une réponse
 

Sujets relatifs
Pb de création de table pour un script PHP[PHP] pb de syntaxe
[PHP] Récupérer une valeur dans un textarea ?FORUM PHP
[Debutant] Problème PHP après installation[Urgent-PHP] Inclusions chez Free
[PHP] Supprimer tous les espaces au début d'une chaine de caracteresSimple script d'envoi de formulaire en PHP...
Plus de sujets relatifs à : [PHP] La fonction toute bête qui vous simplifie le plus la vie ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)