bmweb.fr

[AutoIt / Logiciels]

QK SMTP SERVER - SUPPRIMER LES LOGS

Script permettant de supprimer les fichiers logs de QK SMTP pour ne pas garder l'historique des fichiers envoyés. A mettre dans le menu démarrer ou à lancer avec une tâche planifiée
; SCRIPT DE SUPPRESSION DES LOGS DE QK SMTP
; Bertrand Mounier
; 13/02/2009

; ARRETE LE PROCESSE DE QK
$PID = ProcessExists("QKSmtpServer3.exe")

If $PID Then
	ProcessClose($PID)
EndIf

Sleep(2000)

; SUPPRIME LES FICHIER LOGS
FileDelete("C:\Program Files\QK SMTP Server 3\Log\QKServer.log")
FileDelete("C:\Program Files\QK SMTP Server 3\Default\Mails\*.qks")

Sleep(2000)

; REDEMARRE LE PROCESS
Run("C:\Program Files\QK SMTP Server 3\QKSmtpServer3.exe", "C:\Program Files\QK SMTP Server 3\",@SW_MINIMIZE)

[AutoIt / Système]

CONTROLE DE COMPTE UTILISATEUR

Script permettant de désactiver sous Vista le contrôle de compte utilisateur
; SCRIPT PERMETTANT DE DESACTIVER LE CONTROLE DE COMPTE UTILISATEUR SOUS VISTA
; Bertrand MOUNIER
; 

; CONFIRMATION EXECUTION SCRIPT
$rep=MsgBox(36, "BM'TOOLS - Bertrand MOUNIER - www.bmweb.fr", "CONTROLE DE COMPTE UTILISATEUR (v. 2008-11)"& @LF & "Désactive le contrôle de compte utilisateur sous Vista" & @LF & @LF & "Voulez vous désactiver le contrôle de compte utilisateur sous Vista ?")

If $rep==6 Then
	
	If @OSVersion <> "WIN_VISTA" Then
		MsgBox (48, "BM'TOOLS - ERREUR", "Attention, vous n'êtes pas sous Windows Vista."& @LF & "Ce script ne peut pas s'exécuter.")
	Else
		Run ("C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f")
		
		$PID = ProcessExists("cmd.exe")
		If $PID Then ProcessClose($PID)
			
		$rep2=MsgBox (36, "BM'TOOLS - REDEMARRAGE", "Pour que les modifications prennent effet,"& @LF & "il est nécessaire de redémarrer."& @LF & "Voulez-vous redémarrer maintenant ?")
		
		If $rep2==6 Then
			Shutdown(6)
		EndIf
			
	EndIf
EndIf

[AutoIt / Système]

REDéMARRAGE DU PC

Script permettant de redémarrer le PC en forçant les applications à s'arrêter avec enregistrement de la date de reboot dans un fichier log
; SCRIPT DE REBOOT DU PC AVEC FORCAGE DE LA FERMETURE DES APPLICATIONS
; Bertrand MOUNIER
; 13/02/2009

; INCLUDES
#include <file.au3>
#Include <Date.au3>

; POSSIBILITE D'ANNULER OU DE FORCER LE REBOOT
$reponse=MsgBox(1, "REBOOT PC - 1.0", "REDEMARRAGE DU PC DANS 15 SECONDES" & @LF & "VERSION 1.0 - BTD - 11/2008" & @LF & @LF & "OK : Redémarrage immédiat" & @LF & "Annuler : Annuler le redémarrage", 15)

If $reponse==2 Then Exit

; ENREGISTREMENT DANS LES LOGS
$log="Log.txt"

$file = FileOpen($log, 1)
	_FileWriteLog($log, "Reboot PC")
	FileClose($file)

; REBOOT LE PC
Shutdown (6)

[Cold Fusion / Bases de données]

CENTRER UNE CHAîNE DANS UN CHAMP

Permet de centrer une chaîne de caractères dans un champ
#CJustify("chaine",longueur_champ)#

[Cold Fusion / Bases de données]

CRéER UN OBJET DATE ODBC

Permet de créer un objet date avec la date courant conforme au format Odbc
#CreateOBDCDate(now())#

[Cold Fusion / Bases de données]

DERNIER IDENTIFIANT INSéRé

Permet de récupérer le dernier identifiant inséré dans une table
<cfquery name="MAXID" datasource="#bdd_fr#" dbtype="ODBC">
select max(theme_id) as maxid
from THEME
</cfquery>
<cfset maxid=ValueList(MAXID.maxid)>

[Cold Fusion / Bases de données]

FERMER UNE CONNEXION

Permet de fermer une connexion à une base de données
<CFSET rc=cfusion_disable_dbconnections("cfmysource","1")>

[Cold Fusion / Bases de données]

ITEMS DE PLUS D'UNE HEURE

Permet d'extraire les commandes de plus d'une heure d'une base de données enregistrant des commandes
<cfquery name="PANIER" datasource="#bdd_fr#" dbtype="ODBC">
select *
from CARTE_CARTE
where carte_validite LIKE 'caddie'
and carte_valdate < #CreateODBCdateTime(Now() - (1/24))#
</cfquery>

[Cold Fusion / Bases de données]

LISTE SELON UN RECORDSET

Permet de créer automatiquement une liste avec toutes les valeur d'un champ donné
<cfset li_img=ValueList(TTESIMG.img_id)>

[Cold Fusion / Bases de données]

NOMBRE DE RéSULTATS D'UNE REQUêTE

Permet de connaître le nombre de lignes d'un recordset
<cfif #Voir.Recordcount# is 0></cfif>

[Cold Fusion / Bases de données]

Ré-AUTORISER UNE CONNEXION

Permet de ré-autoriser une connexion à une base de données
<CFSET rc=cfusion_disable_dbconnections("cfmysource","0")>

[Cold Fusion / Bases de données]

REMPLACER GUILLEMETS ET APOSTROPHES

Permet de remplacer les guillemets(") et les apostrophes(') dans une chaîne de caractères par leur valeur Ascii avant insertion dans une base de données
<cfset variablemod=Replace(variable,"'","&##39;","ALL")>
<cfset variablemod=Replace(variablemod,'"','&##34;',"ALL")>

[Cold Fusion / Bases de données]

REMPLACER LES BR PAR DES RETOURS CHARIOTS

Permet de remplacer des BR par les codes ascii correspondant afin d'avoir un affichage correct dans un champ textarea
<cfset variablemod=ReplaceNoCase(variable,'<br>',chr(13)&chr(10),'ALL')>

[Cold Fusion / Bases de données]

SUPPRESSION EN SéRIE

Permet de supprimer automatiquement une série d'éléments choisis avec des checkbox
Page 1 :
<script language="javascript">
var ok=0;
function verif()
{
for (i=0;i<document.forms[0].length;i++)
	{
	if (document.forms[0].elements[i].checked){ok=1}
	}
	
if (ok==1)
	{
		if (confirm('Êtes vous sûr de vouloir supprimer les news sélectionnées ?'))
			{document.forms[0].submit();}
	}
	else
	{alert('Aucune news n\'a été sélectionnée');}


}
</script>


Page 2
<cfoutput>
<cfloop list="#news_id#" index="news_id" delimiters=",">
	<cfquery name="SUPPNEWS" datasource="mo_news" dbtype="ODBC">
	DELETE 
	FROM NEWS
	WHERE news_id=#news_id#
	</cfquery>
</cfloop>
</cfoutput>

[Cold Fusion / Date et heure]

AFFICHER LA DATE DU JOUR

Affiche la date du jour en clair dans le texte
#DateFormat(Now(),"DD/MM/YY")#

[Cold Fusion / Date et heure]

AJOUTER OU SOUSTRAIRE UNE VALEUR à UNE DATE

Permet de modifier une date par le changement d'une de ses valeurs.
Exemple : #DateAdd('D',1,now())# pour obtenir la date de demain
#DateAdd(partie_de_date,valeur,date_a_modifier)#

[Cold Fusion / Date et heure]

ANNéE BISSEXTILE

Permet de savoir si une année est bissextile.
Retourne "true" si l'année est bissextile, "false" dans le cas contraire
#IsLeapYear(annee)#

[Cold Fusion / Date et heure]

COMPARER DEUX DATES

Permet de comparer deux dates entre elles.
Exemple : #Date d'achat incorrecte#
#DateCompare(date1,date2)#

[Cold Fusion / Date et heure]

CRéER UN OBJET DATE

Permet de créer un objet date en Cold Fusion
#CreateDateTime(annee,mois,jour,heures,minutes,secondes)#

[Cold Fusion / Date et heure]

CRéER UN OBJET DATE ODBC

Permet de créer un objet date avec la date courant conforme au format Odbc
#CreateOBDCDate(now())#

[Cold Fusion / Date et heure]

ITEMS DE PLUS D'UNE HEURE

Permet d'extraire les commandes de plus d'une heure d'une base de données enregistrant des commandes
<cfquery name="PANIER" datasource="#bdd_fr#" dbtype="ODBC">
select *
from CARTE_CARTE
where carte_validite LIKE 'caddie'
and carte_valdate < #CreateODBCdateTime(Now() - (1/24))#
</cfquery>

[Cold Fusion / Date et heure]

NOMBRE DE JOURS D'UN MOIS

Permet d'obtenir le nombre de jours d'un mois donné.
Exemple : #DayOfMonth(CreateDate(2002,2,1))# pour obtenir le nombre de jours du mois de février 2002
#DayOfMonth(date)#

[Cold Fusion / Date et heure]

OBTENIR LE JOUR DE LA SEMAINE

Permet d'obtenir le jour de la semaine.
Exemple : #DayOfWeek(now())# pour obtenir le jour d'aujourd'hui
#DayOfWeek(date)#

[Cold Fusion / Date et heure]

OBTENIR LE JOUR DE L'ANNéE

Permet d'obtenir le jour de l'année.
Exemple : Nous sommes le #DayOfYear(now())# ème jour de l'année.
#DayOfYear(date)#

[Cold Fusion / Date et heure]

PREMIER JOUR DU MOIS

Permet d'obtenir le premier jour du mois.
Exemple : #DayOfMonth(CreateDate(1971,13,1))# pour obtenir le premier jour du mois de novembre 1971
#FirstDayOf(date)#

[Cold Fusion / Formulaires]

CHAMP IMAGE UNIQUEMENT

Permet de contrôler si un champ fichier ne contient que des images au format gif ou jpeg
Formulaire :
<cfform name="add" action="index2.cfm" method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<input type="submit">
</cfform>

Fichier de traitement :
<cffile destination="[destination]" action="UPLOAD" nameconflict="MakeUnique"
filefield="photo" accept="image/gif,image/jpeg">

[Cold Fusion / Formulaires]

CHAMP SELECT AVEC REQUêTE COLD FUSION

Code Html pour un select dont les item sont créés dynamiquement par une requête Cold Fusion
<select name="_id">
<option value="_id">Choisissez un xxx</option>
<cfoutput query="xxx">
<option value="#_id#">#_lib#</option>
</cfoutput>
</select>

[Cold Fusion / Images]

CHAMP IMAGE UNIQUEMENT

Permet de contrôler si un champ fichier ne contient que des images au format gif ou jpeg
Formulaire :
<cfform name="add" action="index2.cfm" method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<input type="submit">
</cfform>

Fichier de traitement :
<cffile destination="[destination]" action="UPLOAD" nameconflict="MakeUnique"
filefield="photo" accept="image/gif,image/jpeg">

[Cold Fusion / Mathématique]

CONVERTIR UNE CHAîNE EN NOMBRE

Permet de convertir une chaîne de caratcères en nombre.
Cette fonction sert pour les opérations avec des variables qui posent problème.
#Val(chaine)#

[Cold Fusion / Mathématique]

NOMBRE ALéATOIRE

Permet d'obtenir un nombre aléatoire compris entre 1 et 10
<cfset nb=0>
<cfloop condition="(#nb# eq 0)">
<cfset nb=RandRange(1,10)>
</cfloop>

[Cold Fusion / Navigation]

URL D'UN DOMAINE

Permet de connaître l'url du domaine en cours
<cfset url=cgi.server_name>

[Cold Fusion / Répertoires et fichiers]

CHEMIN LOCAL DU RéPERTOIRE COURANT

Permet d'obtenir le chemin en local du répertoire courant
<cfset cheminloc=#expandpath("./")#>

[Cold Fusion / Répertoires et fichiers]

URL D'UN DOMAINE

Permet de connaître l'url du domaine en cours
<cfset url=cgi.server_name>

[Cold Fusion / Textes et chaînes]

AFFICHER LA DATE DU JOUR

Affiche la date du jour en clair dans le texte
#DateFormat(Now(),"DD/MM/YY")#

[Cold Fusion / Textes et chaînes]

AJOUT D'UN éLéMENT DANS UNE LISTE

Permet d'ajouter automatiquement un élément à une liste
<cfset li_img="">
<cfset li_img=ListAppend(li_img,"item")>

[Cold Fusion / Textes et chaînes]

CARACTèRE D'APRèS ASCII

Permet de connaître un caractère en fonction de sa valeur Ascii
#Chr(nombre)#

[Cold Fusion / Textes et chaînes]

CONVERTIR EN MINUSCULES

Permet de convertir une chaîne de caractères en minuscules
#LCase(chaine)#

[Cold Fusion / Textes et chaînes]

CRéER UNE LISTE DYNAMIQUE

Permet de créer une liste associée à une autre
<cfloop list="li_catcode" index="catcode" delimiters=",">

<cfloop list="#catcode#" index="elid">
<cfset element=element&","&#elid#>
<cfset quantite=quantite&","&1>
</cfloop>

</cfloop>

[Cold Fusion / Textes et chaînes]

D'UNE LISTE à L'AUTRE

Permet de récupérer la valeur d'une liste depuis un rang connu d'une liste liée
#ListGetAt(li_saison_lib,listFind(li_saison_id,saisonid))#

[Cold Fusion / Textes et chaînes]

EVALUER UNE VARIABLE

Permet de tester la valeur d'une variable dont le nom est dynamique
<cfloop list="#li_catid#" index="catid" delimiters=",">
<cfset entcat="entete"&catid>
#Evaluate(entcat)#
<cfloop>

[Cold Fusion / Textes et chaînes]

FONCTION SWITCH

Fonction permettant de définir des actions en fonction de la valeur d'une variable
<cfswitch expression="#modereg#">
<cfcase value="0">Chèque à la commande</cfcase>
<cfcase value="30">Réglement à 30 jours</cfcase>
<cfcase value="60">Réglement à 60 jours</cfcase>
</cfswitch>

[Cold Fusion / Textes et chaînes]

INSéRER UNE CHAîNE DANS UNE AUTRE

Permet d 'insérer une chaîne dans une autre.
Pour insérer du texte au début, la position doit être "0".
#Insert("chaîne_à_insérer",chaine_cible, position)#

[Cold Fusion / Textes et chaînes]

INVERSER UNE CHAîNE

Permet d'inverser les caractères d'une chaîne de caractères
#Reverse(chaine)#

[Cold Fusion / Textes et chaînes]

LIRE UNE LISTE

Permet de lire, un à un, tous les éléments d'une liste
Attention à ne pas oublier les ## pour la liste
<cfloop list="#image#" index="nomimg" delimiters=",">
#nomimg#<br>
</cfloop>

[Cold Fusion / Textes et chaînes]

LISTE SELON UN RECORDSET

Permet de créer automatiquement une liste avec toutes les valeur d'un champ donné
<cfset li_img=ValueList(TTESIMG.img_id)>

[Cold Fusion / Textes et chaînes]

LONGUEUR D'UNE CHAîNE

ermet de définir la longueur d'une chaîne de caractères
#Len(chaine)#

[Cold Fusion / Textes et chaînes]

MODIFIER UN éLéMENT D'UNE LISTE

Permet de modifier un élément dans une liste
<cfset li_img=ListSetAt(li_img,rang_a_modifier,nouvelle_valeur)>

[Cold Fusion / Textes et chaînes]

POSITION DU PREMIER CARACTèRE TROUVé

Permet d'obtenir le rang du premier caractère trouvé appartenant à la liste fournie.
Exemple : #FindOneOf("aeiouy",prenom)# retournera la première voyelle du prénom
#FindOneOf("caracteres",chaine_cible)#

[Cold Fusion / Textes et chaînes]

RECHERCHER UNE CHAîNE DANS UNE AUTRE

Permet de rechercher une chaîne d'un ou plusieurs caractères dans uen autre chaîne
#Find("chaine_recherchée",chaine_cible)#

[Cold Fusion / Textes et chaînes]

REMPLACER GUILLEMETS ET APOSTROPHES

Permet de remplacer les guillemets(") et les apostrophes(') dans une chaîne de caractères par leur valeur Ascii avant insertion dans une base de données
<cfset variablemod=Replace(variable,"'","&##39;","ALL")>
<cfset variablemod=Replace(variablemod,'"','&##34;',"ALL")>

[Cold Fusion / Textes et chaînes]

REMPLACER LES BR PAR DES RETOURS CHARIOTS

Permet de remplacer des BR par les codes ascii correspondant afin d'avoir un affichage correct dans un champ textarea
<cfset variablemod=ReplaceNoCase(variable,'<br>',chr(13)&chr(10),'ALL')>

[Cold Fusion / Textes et chaînes]

SOUS CHAîNE DEPUIS LA DROITE

Permet d'extraire une sous-chaîne en partant de la droite
#Right(chaine,compteur)#

[Cold Fusion / Textes et chaînes]

SOUS CHAîNE DEPUIS LA GAUCHE

Permet d'extraire une sous-chaîne en partant de la gauche.
Exemple : #Left(nom,4)# retournera les 4 premiers caractères du nom
#Left(chaine,compteur)#

[Cold Fusion / Textes et chaînes]

SOUS CHAîNE SELON POSITION

Permet de retourner une sous chaîne en donnant la position de départ et le nombre de caractères à retourner
#Mid(chaine_où_piocher,positiondedepart,compteur)#

[Cold Fusion / Textes et chaînes]

SUPPRIMER DES CARACTèRES

Permet de supprimer des caractères d'une chaîne selon une position et un nombre de caractères à supprimer.
Exemple : #RemoveChars(nom,5,3)# supprimera les caractères des positions 5,6,7 et 8
#RemoveChars(chaine,position,longueur)#

[Cold Fusion / Textes et chaînes]

SUPPRIMER LES ESPACES AU DéBUT

Permet de supprimer les espaces qui sont au début d'une chaîne de caractères
#LTrim(chaine)#

[Cold Fusion / Textes et chaînes]

VALEUR ASCII

permet de connaître le code Ascii d'un caractère
#Asc("caractere")#

[Css / Images]

IMAGE DE FOND FIXE

Permet d'afficher une image de fond de page fixe
<body style="background:url(nom_image.jpg) repeat fixed">

[Css / Liens]

STYLE DE LIEN

Permet de définir le style de chacun des états d'un lien (normal, visité, survolé, actif)
Dans le HEAD :
<style type="text/css">
<!--
a.lien01:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background: #ff0000; color: #000000}
a.lien01:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background: #00ff00; color: #000000}
a.lien01:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background: #0000ff; color: #000000}
a.lien01:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background: #000000; color: #000000}
a:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background: #000000; color: #000000}
-->
</style>

Dans le body:
<a href="Javascript:;" class="lien01">item 1</a>

[Css / Navigation]

COULEUR DES ASCENCEURS

scrollbar-face-color:
defini la couleur du dessus des boutons et de la barre de défilement.

scrollbar-shadow-color:
defini la couleur sombre du relief des boutons (noir conseillé).

scrollbar-highlight-color:
defini la couleur claire du relief des boutons (blanc conseillé).

scrollbar-3dlight-color:
defini la couleur claire du relief des boutons quand ceux-ci ne sont pas enfoncés (noir conseillé).

scrollbar-darkshadow-color:
defini la couleur sombre du relief des boutons quand ceux-ci ne sont pas enfoncés (noir conseillé).

scrollbar-track-color:
defini la couleur du fond de la barre.

scrollbar-arrow-color:
defini la couleur des flèches.
<STYLE TYPE="text/css">
BODY {
scrollbar-face-color: #7189AB; 
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #FFFFFF;
scrollbar-3dlight-color: #000000; 
scrollbar-darkshadow-color: #000000; 
scrollbar-track-color: #94A9CA; 
scrollbar-arrow-color: #FFCC00;
}
</STYLE>

[Css / Tableaux]

CHANGER LA COULEUR DES CELLULES

Permet de changer la couleur de fond d'une cellule d'un tableau au survol de la souris
<td class="txtcourant1" nowrap width="25%" onMouseOut="javascript:this.style.background='#336699'" onMouseOver="javascript:this.style.background='#FFFFFF'">

[Css / Textes et chaînes]

COULEUR DU TEXTE

Permet de changer la couleur du texte sans recharger la page
<script language="JavaScript">

dan="Essai"

function COULEUR(couleur)
{
if(couleur=="rouge")
	window.document.fgColor="FF0000"
	//document.write(chaine);
if(couleur=="vert")
	window.document.fgColor="green";
if(couleur=="bleu")
	document.fgColor="0000FF";
if (couleur=="orange")
	document.fgColor="ff9966";
return;
}

</script>

<center>
Changer la couleur de la police :<BR><br>
<table border=1>
<tr>
<td width="25%" align="center"><INPUT TYPE="button" NAME="rouge" VALUE="Rouge" onClick="COULEUR('rouge')"></td>	
<td width="25%" align="center"><INPUT TYPE="button" NAME="vert" VALUE="Vert" onClick="COULEUR('vert')"></td></tr>
<td width="25%" align="center"><INPUT TYPE="button" NAME="bleu" VALUE="Bleu" onClick="COULEUR('bleu')"></td>
<td width="25%" align="center"><INPUT TYPE="button" NAME="PAS" VALUE="Invisible" onClick="COULEUR('orange')"></td>	
</tr></table>
</center>

[Html / Entêtes de page]

META AUTEUR

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner l'auteur de la page
<META NAME="Author" CONTENT="Bertrand Mounier">

[Html / Entêtes de page]

META CACHE

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner si les robots des moteurs de recherches doivent indexer la page
<META HTTP-EQUIV="Cache" CONTENT="cache">
<META HTTP-EQUIV="Cache" CONTENT="nocache">

[Html / Entêtes de page]

META COPYRIGHT

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner le copyright des informations de la page
<META name="copyright" content="2003 - Bertrand Mounier">

[Html / Entêtes de page]

META INDEXATION

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner les robots concernant l'indexation de la page et le suivi des liens
<META NAME="robots" CONTENT="index,follow">
<META NAME="robots" CONTENT="noindex,nofollow">

[Html / Entêtes de page]

META MOTS CLéS

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner les mots clés concernant cette page. Il n'est pas nécessaire de les séparer par des virgules
<META name="keywords" content="mots clés">

[Html / Entêtes de page]

META REVISITE

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner les robots de moteurs de recherche pour le nombre de jours avant leur prochaine visite (mettre 15 jours en général)
<META name="revisit-after" content="nb_jours">

[Html / Entêtes de page]

META TRANSITION ENTRE LES PAGES

Balise Meta à mettre dans l'entête d'un fichier Html permettant des effets de transition entre les pages
en entrée de page
en sortie de page
Code à copier coller entre les balises <head> et </head>

[Html / Entêtes de page]

METAT DESCRIPTION

Balise Meta à mettre dans l'entête d'un fichier Html pour renseigner du contenu de la page
<META name="description" content="description">

[Html / Formulaires]

CHAMP SELECT AVEC REQUêTE COLD FUSION

Code Html pour un select dont les item sont créés dynamiquement par une requête Cold Fusion
<select name="_id">
<option value="_id">Choisissez un xxx</option>
<cfoutput query="xxx">
<option value="#_id#">#_lib#</option>
</cfoutput>
</select>

[Html / Formulaires]

CODE BOUTON RADIO

Code Html pour un bouton radio
<input type="radio" name="xxx" value="xxx_id" checked>

[Html / Formulaires]

CODE BOUTONS ENVOYER ET ANNULER

Code Html pour les boutons Envoyer et annuler.
Le bouton Envoyer déclenche la fonction verif
<input type="button" value="Envoyer" onClick="verif();">
<input type="reset" value="Annuler">

[Html / Formulaires]

CODE CASE à COCHER

Code Html pour une case à cocher
<input type="checkbox" name="" value="">
<input type="checkbox" name="" value="" checked>

[Html / Formulaires]

CODE CHAMP TEXTE SIMPLE

Code Html pour un champ texte simple
<input type="text" name="" size="50" maxlength="50">

[Html / Formulaires]

CODE CHAMP TRANSFERT DE FICHIER

Code Html pour un champ permettant de transférer un ficher
<input type="File" name="">

[Html / Formulaires]

CODE DU FORMULAIRE

Code Html pour le formulaire avec nom correct pour la fonction verif
<form method="post" action="" enctype="multipart/form-data" name="MonForm">

[Html / Formulaires]

COMBOBOX

Affiche un champ texte de saisie et modifie l'item séléctionné d'un select en fonction de la saisie
<script language="javascript">
function position()
{
	if (window.event.keyCode==38)
		{
		prec=document.MonForm.liste.options.selectedIndex-1;			
		document.MonForm.liste.options[prec].selected=1;
		return;
		}

	if (window.event.keyCode==40)
		{
		suiv=document.MonForm.liste.options.selectedIndex+1;			
		document.MonForm.liste.options[suiv].selected=1;
		return;
		}

	
	if (document.MonForm.saisie.value!="")
	{
		for (i=0;i<document.MonForm.liste.length;i++)
			{
		if(document.MonForm.liste.options[i].text.indexOf(document.MonForm.saisie.value)==0)
			{
			document.MonForm.liste.options[i+8].selected=1;
			document.MonForm.liste.options[i].selected=1;
			break;
			}
		
			}
	}
}
</script>

<form name="MonForm">
<table align="center"><tr><td>
<input type="text" name="saisie" onKeyUp="position();"><br>
<select name="liste" size="10">

<script language="javascript1.2">
for (i=1;i<3000;i++)
	{
	document.write("<option value="+ i+ ">"+i+"</option>");
	}
</script>


</select>
</td></tr></table>
</form>

[Html / Formulaires]

DESACTIVER BOUTON APRES CLIC

Permet de changer le texte du bouton et de le désactiver après 1 clic
<FORM>
<INPUT TYPE="text" NAME="email" SIZE=25 VALUE="Votre email ici !">
<INPUT TYPE="button" VALUE="S'abonner" onClick="this.form.submit();this.disabled=true;this.value='Patientez...'">
</FORM>

[Html / Formulaires]

ETOILE POUR CHAMPS OBLIGATOIRES

Etoile à utiliser pour signaler qu'un champ est obligatoire
<font size="2" color="##FF0000"> * </font>

[Html / Images]

IMAGE DE FOND FIXE

Permet d'afficher une image de fond de page fixe
<body style="background:url(nom_image.jpg) repeat fixed">

[Html / Navigation]

DESACTIVER BOUTON APRES CLIC

Permet de changer le texte du bouton et de le désactiver après 1 clic
<FORM>
<INPUT TYPE="text" NAME="email" SIZE=25 VALUE="Votre email ici !">
<INPUT TYPE="button" VALUE="S'abonner" onClick="this.form.submit();this.disabled=true;this.value='Patientez...'">
</FORM>

[Html / Navigation]

MENU CONTEXTUEL

Affiche un menu contextuel personnalisé en cas de clic droit sur la page
<html>
<head>
<title>Untitled Document</title>
<!-- DEBUT DU SCRIPT -->
<style>
.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden; }
.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu;  border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}
.menuitems{padding-left:15px; padding-right:10px; }
</style><script language="JavaScript1.2">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
var menuskin=1
var display_url=0

function showmenuie5(){
var rightedge=document.body.clientWidth-event.clientX
var bottomedge=document.body.clientHeight-event.clientY

if (rightedge<ie5menu.offsetWidth)
ie5menu.style.left=document.body.scrollLeft+event.clientX-ie5menu.offsetWidth
else
ie5menu.style.left=document.body.scrollLeft+event.clientX
if (bottomedge<ie5menu.offsetHeight)
ie5menu.style.top=document.body.scrollTop+event.clientY-ie5menu.offsetHeight
else
ie5menu.style.top=document.body.scrollTop+event.clientY

ie5menu.style.visibility="visible"
return false
}

function hidemenuie5(){
ie5menu.style.visibility="hidden"
}

function highlightie5(){if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor="highlight"
event.srcElement.style.color="white"
if (display_url==1)
window.status=event.srcElement.url
}
}

function lowlightie5(){
if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor=""
event.srcElement.style.color="black"
window.status=''
}
}

function jumptoie5(){
if (event.srcElement.className=="menuitems"){
if (event.srcElement.getAttribute("target")!=null)
window.open(event.srcElement.url,event.srcElement.getAttribute("target"))
else
window.location=event.srcElement.url
}
}
</script>
<!-- FIN DU SCRIPT -->
</head>

<body bgcolor="#FFFFFF">
<!-- DEBUT DU SCRIPT -->
<!--[if IE]>
<div id="ie5menu" class="skin0" onMouseover="highlightie5()" onMouseout="lowlightie5()" onClick="jumptoie5()">
<div class="menuitems" url="http://www.lemeilleursite.com">Le meilleursite.com</div>
<HR>
<div class="menuitems" url="http://www.ziplip.com">ZipLip</div>
<div class="menuitems" url="http://www.netcourrier.com">Netcourrier</div>
<HR>
<div class="menuitems" url="http://www7.ewebcity.com/bmounier/liens/index.asp">Liens favoris</div>
<HR>

<div class="menuitems" url="http://www.andco.fr/">AndCo</div>
<div class="menuitems" url="http://www.networksolutions.com/">Network Solutions</div>
<div class="menuitems" url="http://www.nic.fr/outils/whois.html">AFNIC</div>
<HR>
<div class="menuitems" url="http://www.ademe.fr/jda/indice.htm">Pollution</div>
<div class="menuitems" url="http://bertrand.mounier.online.fr/meteo/meteo.html">Météo</div>
<div class="menuitems" url="http://fr.altavista.com/sms/membres.jsp">SMS Gratuits</div>
<div class="menuitems" url="http://www.tvmag.com/">Programmes TV</div>
</DIV><![endif]-->
<script language="JavaScript1.2">
if (document.all&&window.print){
if (menuskin==0)
ie5menu.className="skin0"
else
ie5menu.className="skin1"
document.oncontextmenu=showmenuie5
document.body.onclick=hidemenuie5 } 
</script>
<!-- FIN DU SCRIPT -->
</body>
</html>

[Html / Textes et chaînes]

CARACTèRES PARTICULIERS

Code Ascii de certains caractères courants (guillemets, apostrophe, puce, euro, marque déposée, ...)
CARACTERE CODE
" &quot;
' &#39;
&#149;
&#153;
œ &#156;
&euro;

[Html / Textes et chaînes]

CODES ASCII

Tableau des correspondances caractères / codes Ascii
 ASCII   CARACTERE   HTML 

[Html / Textes et chaînes]

IMPRIMER UNE PAGE

Permet de lancer le menu d'impression au chargement d'une page Html
Dans le Head :
<script language=JavaScript>
function Imprime() {
	var frame=window;
	var agent = window.navigator.userAgent;
	if (agent.indexOf("compatible") > 0 ) {
		var vMSIE = parseInt( agent.substr( agent.indexOf("MSIE ")+5 ));
		if (vMSIE >= 5) {
			Info = true;
			var focused = document.activeElement;
			frame.focus();
			frame.self.print();
			if (!focused.disabled) return;
			}
		}
	else	{
	var vNetscape=parseInt(agent.substr(agent.indexOf("Mozilla/")+8));
		if (vNetscape >= 4 ) {
			frame.focus();
			frame.self.print();
			}
		}
	return
	}
</script>

Dans la balise Body :
<body onLoad="Imprime();">

[Html / Textes et chaînes]

TITRE DE PAGE DéFILANT

Permet de faire défiler le texte dans la zone de titre de la page
<script type="text/javascript">
// Origine du script : http://java.scripts-fr.com

/*
On va avant tout définir des variable.
On active donc icet c à 0 (elles serviront à s'incrementer plus tard), puis on met notre titre à faire défiler dans une variable str (pour string).
Une fois ceci fait, on crée également une variable tilen (title length) qui contiendra le nombre de caractères contenus dans str grace à l'utilisation de la propriété length. Et pour finir on active également une variable go que l'on verra plus tard.
*/

var ic = 0;
var c = 0;
var str = "Bienvenue sur http://www.java.scripts-fr.com/: Exemples & Sources en JavaScripts";
var tilen = str.length;
var go;

function ts()
{
   til();
   if(c < tilen)
   { 
    clearTimeout(go);
   } 
   c++; 
   go = setTimeout("ts();",10)
}


/*
Bon un peu d'explication quand même.
Nous avons ouvert une fonction ts(); qui appele une autre fonction til(); (nous y reviendrons plus bas).
Nous avons ouvert une condition avec if qui dit que tant que le nombre de caractères de la chaine est supérieur à la variable c on annule avec la méthode ClearTimeout le délai affecté à go (j'expliquerais plus tard cette histoire de délai) puis on incrémente la variable c. pour terminer cette fonction on donne à la variable go l'ordre de reboucler sur la fonction ts(); toutes les 10 milisecondes.
C'est sur cette valeur de délai qu'il faudra jouer pour faire défiler plus ou moins vite votre texte.
Une fois que c est égale à tilen on stope le tout avec la méthode clearTimeout vue plus haut.
*/

function til()
{ 
    var dti = str.substring((tilen - ic - 1),tilen); 
    document.title = dti; 
    ic++;
} 


/*
Ici nous écrivons dans le titre (title de la page (document) la variable dti.
L'astuce ici est d'ajouter à chaque appel de la fonction un caractère en partant de la fin grace à la méthode substring en utilisant la variable ic que l'on incrémente à chaque fois. On n'écrit donc pas une fois le titre et on le fait défiler (si vous savez le faire, je suis preneur) mais on va réécrire le titre à chaque fois en ajoutant un caractère à gauche dans un temps relativement cours; on a donc l'impression qu'il défile.
*/

ts(); 

</script>

[Javascript / Bases de données]

SUPPRESSION EN SéRIE

Permet de supprimer automatiquement une série d'éléments choisis avec des checkbox
Page 1 :
<script language="javascript">
var ok=0;
function verif()
{
for (i=0;i<document.forms[0].length;i++)
	{
	if (document.forms[0].elements[i].checked){ok=1}
	}
	
if (ok==1)
	{
		if (confirm('Êtes vous sûr de vouloir supprimer les news sélectionnées ?'))
			{document.forms[0].submit();}
	}
	else
	{alert('Aucune news n\'a été sélectionnée');}


}
</script>


Page 2
<cfoutput>
<cfloop list="#news_id#" index="news_id" delimiters=",">
	<cfquery name="SUPPNEWS" datasource="mo_news" dbtype="ODBC">
	DELETE 
	FROM NEWS
	WHERE news_id=#news_id#
	</cfquery>
</cfloop>
</cfoutput>

[Javascript / Date et heure]

COMPARAISON DATE ET DATE DU JOUR

Comparaison entre une date et la date du jour
champ="date";
msg="Merci d\'indiquer une date au format 'jj/mm/aaaa'"
if((document.forms[formu].elements[champ].value.substr(0,2)>31)
|| (document.forms[formu].elements[champ].value.substr(3,2)>12)
|| (document.forms[formu].elements[champ].value.substr(6,4)<1970)
|| (document.forms[formu].elements[champ].value.charAt(2)!="/")
|| (document.forms[formu].elements[champ].value.charAt(5)!="/"))
{alert(msg);document.forms[formu].elements[champ].focus();return;}

var aujourdhui = new Date(); 
datesaisie=document.forms[formu].elements[champ].value;
mois=document.forms[formu].elements[champ].value.substr(3,2);
jour=document.forms[formu].elements[champ].value.substr(0,2);
annee=document.forms[formu].elements[champ].value.substr(6,4);
datesaisie=new Date(mois+"/"+jour+"/"+annee); datesaisie= new Date (datesaisie);
var millisecs = aujourdhui.getTime() -datesaisie.getTime();
var diffjour=Math.floor(millisecs/24/60/60/1000);
if (diffjour>=0)
{alert("La date saisie doit être supérieure à la date du jour");}
else
{alert("La date saisie doit être inférieure à la date du jour");}

[Javascript / Date et heure]

DATE D'ENREGISTREMENT DU FICHIER

Affiche la date d'enregistrement du fichier au format mm/jj/aaaa hh:mm:ss
<script language="JavaScript">
document.write(document.lastModified)
</script>

[Javascript / Date et heure]

DATE EN CLAIR

Afficher la date en clair dans le texte
<script language="JavaScript">
date=new Date();annee=date.getFullYear();
listjour = new Array ("Dimanche ", "Lundi ","Mardi ", "Mercredi ", "Jeudi ", "Vendredi ", "Samedi ");
listmois = new Array (" janvier ", " février ", " mars ", " avril ", " mai ", " juin ", " juillet ", " août ", " septembre ", " octobre ", " novembre ", " décembre ");
jour=listjour [date.getDay()];mois=listmois [date.getMonth()];
affich =(jour + date.getDate() + mois + annee);document.write(affich);
</script>

[Javascript / Date et heure]

HEURE EN CLAIR

Heure en clair dans le texte
Dans le head :
<script language="JavaScript">
function show2()
{
if (!document.all){return;}
var Digital=new Date();var hours=Digital.getHours();var minutes=Digital.getMinutes();var seconds=Digital.getSeconds();
var dn="AM";if (hours>12){dn="PM";hours=hours-12;}
if (hours==0){hours=12;}
if (minutes<=9){minutes="0"+minutes;};if (seconds<=9){seconds="0"+seconds;}
var ctime=hours+":"+minutes+":"+seconds+" "+dn;tick2.innerHTML=ctime;
setTimeout("show2()",1000);
}
</script>

Dans la balise body :
 onLoad="show2()"

Dans le texte :
<span id=tick2></span>

[Javascript / Date et heure]

HEURES ET SECONDES DANS UN CHAMP TEXT

Permet d'afficher l'heure et les secondes dans un champ text
<FORM name="formulaire" ACTION="http://www.domaine.com/" METHOD=POST>
	  Il est 
   	  <INPUT TYPE="text" NAME="Heures" SIZE=40 MAXLENGTH=40>
</FORM>

<script>
timeoutID = window.setTimeout("affichage()",0001);

function affichage()
{
aujourdhui = new Date()
document.formulaire.Heures.value = (aujourdhui.getHours()+" h "+aujourdhui.getMinutes()+ " et " +aujourdhui.getSeconds() + " sec.");
timeoutID = window.setTimeout("affichage()",1000);
}
</script>

[Javascript / Date et heure]

TIMER AU CHARGEMENT DE LA PAGE

Timer déclenché au chargement de la page
<body onLoad="setTimeout('swapimg()',2000);">

[Javascript / Entêtes de page]

META TRANSITION ENTRE LES PAGES

Balise Meta à mettre dans l'entête d'un fichier Html permettant des effets de transition entre les pages
en entrée de page
en sortie de page
Code à copier coller entre les balises <head> et </head>

[Javascript / Formulaires]

ACTIONS DE FORMULAIRE SELON SELECT

Attribut action du formulaire différent selon un passage de variable d'un select
Dans le Head :
<script ="javascript">
function envoi()
{
principal.action=principal.format.options[principal.format.selectedIndex].value,
principal.submit();
}
</script>

Dans le body:
<select name="format">
	<option value='page2.htm'>court (page2)</option>
	<option value='page3.htm'>long (page3)</option>
</select>

[Javascript / Formulaires]

BALISES JAVASCRIPT ET FONCTION VERIF

Balises encadrant le code Javascript et début et fin de la fonction de vérification du remplissage du formulaire
<script language="javascript">
function verif()
{
formu="MonForm";


document.forms[formu].submit();
}
</script>

[Javascript / Formulaires]

BOUTON RADIO COCHE

Vérifier qu'il y ait au moins un bouton radio de coché dans le formulaire
champ="util_dest";
msg="Merci de choisir un destinataire";
coche=0;
for (i=0;i<document.MonForm.elements.length;i++)
{if (document.MonForm.elements[i].name==champ)
{if (document.MonForm.elements[i].checked==1)
{coche=1;}}}
if (coche==0){alert(msg);return;}

[Javascript / Formulaires]

CASES à COCHER AVEC RéACTION BOUTONS RADIO

Décoche toutes les autres cases à cocher si l'une est sélectionnée
function swapcoche(nomautrechamp,valuechamp)
{
for (i=0;i<document.MonForm.elements.length;i++)
{if (document.MonForm.elements[i].name==nomautrechamp;)
{if (document.MonForm.elements[i].value==valuechamp)
{if (document.MonForm.elements[i].checked){document.MonForm.elements[i].checked=0;}}}}
}

[Javascript / Formulaires]

CASES à COCHER SANS CONFIRMATION

Vérification d'une liste de cases à cocher (page de suppression d'items) sans message de demande de confirmation du submit
champ="xxx";
el = document.forms[formu].elements[champ];el.cocher = false;
if (!el.length && el.checked) {el.cocher = true;}
for (i=0;i<el.length;i++)if(el[i].checked){el.cocher = true;}
if (!el.cocher){alert("Aucun élément n'a été sélectionné");return;}
document.forms[formu].submit();

[Javascript / Formulaires]

COCHER BOUTONS RADIOS SELON NOMBRE

Dans une page de modification de photo, permet de cocher un bouton radio selon le nombre de boutons affichés (1 si pas de photo avant et 3 si photo avant)
DANS LE HEAD :
function rad_modif(bouton)
{
coche=0;
for (i=0;i<document.MonForm.elements.length;i++)
{if (document.MonForm.elements[i].name==bouton){coche++;}}
if (coche==1){document.MonForm.elements[bouton].checked=1;}
else{document.MonForm.elements[bouton][2].checked=1;}
}
DANS LE BODY :
<?
if ($ph_vignette!="")
{
echo "<input type=\"radio\" name=\"rad_vig\" value=\"actu\" checked> Conserver la photo actuelle :<br><br><img src=\"photos/$ph_vignette\"><br>";
echo "<input type=\"radio\" name=\"rad_vig\" value=\"sup\"> Supprimer la photo";
}
?>
<br><input type="radio" name="rad_vig" value="new"> Nouvelle photo :<br><br>
<input type="file" name="ph_vignette" class="liste2" onFocus="Javascript:rad_modif('rad_vig')"><br><br>

[Javascript / Formulaires]

COCHER UN BOUTON RADIO

Permet de cocher un bouton radio de façon dynamique
document.MonForm.elements[10].checked=1;

[Javascript / Formulaires]

COMBOBOX

Affiche un champ texte de saisie et modifie l'item séléctionné d'un select en fonction de la saisie
<script language="javascript">
function position()
{
	if (window.event.keyCode==38)
		{
		prec=document.MonForm.liste.options.selectedIndex-1;			
		document.MonForm.liste.options[prec].selected=1;
		return;
		}

	if (window.event.keyCode==40)
		{
		suiv=document.MonForm.liste.options.selectedIndex+1;			
		document.MonForm.liste.options[suiv].selected=1;
		return;
		}

	
	if (document.MonForm.saisie.value!="")
	{
		for (i=0;i<document.MonForm.liste.length;i++)
			{
		if(document.MonForm.liste.options[i].text.indexOf(document.MonForm.saisie.value)==0)
			{
			document.MonForm.liste.options[i+8].selected=1;
			document.MonForm.liste.options[i].selected=1;
			break;
			}
		
			}
	}
}
</script>

<form name="MonForm">
<table align="center"><tr><td>
<input type="text" name="saisie" onKeyUp="position();"><br>
<select name="liste" size="10">

<script language="javascript1.2">
for (i=1;i<3000;i++)
	{
	document.write("<option value="+ i+ ">"+i+"</option>");
	}
</script>


</select>
</td></tr></table>
</form>

[Javascript / Formulaires]

CONFIRMER UNE SUPPRESSION

Demande la confirmation de suppression d'un élément et dans l'affirmative redirige sur la bonne page
<script language="JavaScript">
function supprimer(id)
{
if (confirm('Êtes vous sûr de vouloir supprimer cet élément ?'))
	{window.location.href='supsaison.cfm?saison_id='+id;}
}
</script>
<a href="javascript:supprimer('#type_id#');">supp</a>

[Javascript / Formulaires]

DESACTIVER BOUTON APRES CLIC

Permet de changer le texte du bouton et de le désactiver après 1 clic
<FORM>
<INPUT TYPE="text" NAME="email" SIZE=25 VALUE="Votre email ici !">
<INPUT TYPE="button" VALUE="S'abonner" onClick="this.form.submit();this.disabled=true;this.value='Patientez...'">
</FORM>

[Javascript / Formulaires]

D'UNE LISTE à L'AUTRE

On remplit une liste en cliquant sur une autre liste (avec contrôle des doublons)
<script language="JavaScript">
i=-1;
function addmot()
{
formu="MonForm";
liste1="listedepart";
liste2="listefinale";
i=i+1;
val=document.forms[formu].elements[liste1].options[document.forms[formu].elements[liste1].selectedIndex].value;
txt=document.forms[formu].elements[liste1].options[document.forms[formu].elements[liste1].selectedIndex].text;
trouve=false;
for(j=0;j<document.forms[formu].elements[liste2].length;j++)
{if (val==document.forms[formu].elements[liste2].options[j].value){trouve=true;}}
if (trouve==false){newval=new Option(txt,val,true,true);document.MonForm.elements[liste2].options[i]=newval;}else{i--;}
}
</script>
<form name="MonForm">
<table width="50%" border="1" align="center">
<tr> 
<td> 
<center>
<select name="listedepart" onClick="addmot();" size="9">
<option value="1">mot 1</option>
<option value="2">mot 2</option>
<option value="3">mot 3</option>
<option value="4">mot 4</option>
<option value="5">mot 5</option>
<option value="6">mot 6</option>
<option value="7">mot 7</option>
<option value="8">mot 8</option>
<option value="9">mot 9</option>
</select>
</center>
</td>
<td> 
<center>
<select name="listefinale" size="9">
</select>
</center>
</td>
</tr>
</table>
</form>

[Javascript / Formulaires]

ETOILE POUR CHAMPS OBLIGATOIRES

Etoile à utiliser pour signaler qu'un champ est obligatoire
<font size="2" color="##FF0000"> * </font>

[Javascript / Formulaires]

FOCUS AU CHARGEMENT DE LA PAGE

Donner le focus à un champ au chargement de la page
Dans la balise body:
OnLoad="MonForm.nomchamp.focus()"

[Javascript / Formulaires]

FONCTION QUAND TOUCHE ENTRéE APPUYéE

Permet d'exécuter une fonction dès que la touche Entrée est appuyée
<script language="javascript1.2">
document.onkeydown=clavier;
function clavier()
	{if (window.event.keyCode==13){verif();}}
</script>

[Javascript / Formulaires]

RéCUPéRER LES éLéMENTS D'UN FORMULAIRE

Permet de récupérer le nom et la valeur des éléments d'un formulaire
for (var i=0;i<document.forms[0].length;i++)
{z+=i+" : "+document.forms[0].elements[i].name+" = "+document.forms[0].elements[i].value+"\n";}
alert(z);

[Javascript / Formulaires]

REDIRECTION AVEC PASSAGE DE PARAMèTRE

Redirection sur une page unique avec un passage de variable récupérée d'un champ select
Dans le Head :
<script language="Javascript">
function redirection()
{
parent.location.href="urldesti.htm?varia=" + 
principal.liste.options[principal.liste.selectedIndex].value;
}
</script>

Dans le body:
<select name='liste' onChange='redirection();'>
<option value='val1' selected>Faites un choix</option>
<option value='val2'>Paramètre passé : val2</option><option value='val3'>Paramètre passé : val3</option>
</select>

[Javascript / Formulaires]

REDIRECTION SELON PAGE PRéCéDENTE

Permet de rediriger automatiquement si la page précédente n'est pas celle voulue
if (document.referrer!='page_voulue.htm') {parent.frames['nom_frame'].location.href ='url'}

[Javascript / Formulaires]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Javascript / Formulaires]

SELECT AVEC REDIRECTION AUTOMATIQUE

Select avec redirection automatique en fonction de la sélection
<select onChange="parent.frames['nom_frame'].location.href =
this.options[this.selectedIndex].value;">
<option value="url1.htm">Rubrique 1</option>
<option value="url2.htm">Rubrique 2</option>
</select>

[Javascript / Formulaires]

SéLéCTIONNER CONTENU TEXTAREA

Permet de sélectionner le contenu d'un textarea ou d'un champ texte
document.votre_formulaire.votre_textarea.select();

[Javascript / Formulaires]

UN SEUL SELECT SUR DEUX

Remet automatiquement un select à zéro si un autre est sélectionné
Dans le head :
function modifselect(champ)
{
document.forms[formu].elements[champ].selectedIndex=0;
}

Dans le select :
onChange="modifselect('mon_autre_select')";

[Javascript / Formulaires]

VéRIFICATION DE CASES à COCHER AVEC CONFIRMATION

Vérification d'une liste de cases à cocher (page de suppression d'items) avec message de demande de confirmation du submit
champ="xxx";
el = document.forms[formu].elements[champ];el.cocher = false;
if (!el.length && el.checked) {el.cocher = true;}
for (i=0;i<el.length;i++)if(el[i].checked){el.cocher = true;}
if (el.cocher){if (!confirm('Êtes vous sûr de vouloir supprimer le ou les éléments sélectionnés ?')){return;}}
else{alert("Aucun élément n'a été sélectionné");return;}
document.forms[formu].submit();

[Javascript / Formulaires]

VéRIFIER DEUX CHAMPS SELECT

Vérifie si un et un seul champ select a été sélectionné avec la fonction verif
champ1="theme_id";
champ2="stheme_id";
if ((document.forms[formu].elements[champ1].options[document.forms[formu].elements[champ1].selectedIndex].value=="") && (document.forms[formu].elements[champ2].options[document.forms[formu].elements[champ2].selectedIndex].value==""))
{alert("Merci de choisir soit un thème, soit un sous thème");document.forms[formu].elements[champ1].focus();return;}

[Javascript / Formulaires]

VéRIFIER DEUX CHAMPS TEXTE

Vérifier que pour deux champs texte associés, seul l'un des deux est rempli
champ1="xxx";
champ2="xxx";
msg="Merci d\'indiquer soit xxx soit xxx, mais pas les deux"
if ((document.forms[formu].elements[champ1].value=="") && (document.forms[formu].elements[champ2].value==""))
{document.forms[formu].elements[champ1].focus();alert(msg);return;}

[Javascript / Formulaires]

VéRIFIER DEUX SELECT

Vérifier que pour deux select associés, seul l'un des deux est sélectionné
champ1="xxx";
champ2="xxx";
msg="Merci d\'indiquer xxx"
if ((document.forms[formu].elements[champ1].options[document.forms[formu].elements[champ1].selectedIndex].value=="")
&&(document.forms[formu].elements[champ2].options[document.forms[formu].elements[champ2].selectedIndex].value==""))
{document.forms[formu].elements[champ1].focus();alert(msg);return;}

[Javascript / Formulaires]

VéRIFIER SI CARACTèRES ACCEPTéS

Vérification si un champ texte contient uniquement la liste des caractères acceptés
champ="xxx";
msg="Merci d\'indiquer le prix sous la forme : 9.15";
var carok = new Array(1,2,3,4,5,6,7,8,9,0," ",".");
for (i=0;i<document.forms[formu].elements[champ].value.length;i++)
{ok=false;for (j=0;j<carok.length;j++){if (document.forms[formu].elements[champ].value.substr(i,1)==carok[j])
{ok=true;}}if (ok==false){alert(msg);document.forms[formu].elements[champ].focus();return;}}

[Javascript / Formulaires]

VéRIFIER SI CARACTèRES REFUSéS

Vérification si un champ texte ne contient pas un caractère refusé
champ="xxx";
msg="Le prix ne doit pas comprendre le signe de la monnaie";
var carnok = new Array("€","$");
for (i=0;i<document.forms[formu].elements[champ].value.length;i++)
{ok=true;for (j=0;j<carnok.length;j++){if (document.forms[formu].elements[champ].value.substr(i,1)==carnok[j])
{ok=false;}}if (ok==false){alert(msg);document.forms[formu].elements[champ].focus();return;}}

[Javascript / Formulaires]

VéRIFIER UN CHAMP DATE

Vérification qu'un champ date soit au format jj/mm/aa
champ="date";
msg="Merci d\'indiquer une date au format 'jj/mm/aa'"
if((document.forms[formu].elements[champ].value.substr(0,2)>31)
|| (document.forms[formu].elements[champ].value.substr(3,2)>12)
||(document.forms[formu].elements[champ].value.charAt(2)!="/")
|| (document.forms[formu].elements[champ].value.charAt(5)!="/")
|| (document.forms[formu].elements[champ].value.length>8))
{alert(msg);document.forms[formu].elements[champ].focus();return;}

[Javascript / Formulaires]

VéRIFIER UN CHAMP EMAIL FACULTATIF

Vérification d'un champ email facultatif avec la fonction verif
champ="email";
msg="Merci d\'indiquer une adresse email valide";
if (document.forms[formu].elements[champ].value!="")
{
erreur=0;
posaro=document.forms[formu].elements[champ].value.indexOf("@");
pospoint=document.forms[formu].elements[champ].value.indexOf(".")
posderpoint=document.forms[formu].elements[champ].value.lastIndexOf(".");
if (posaro==-1){erreur=1};if (pospoint==-1){erreur=1};
if (posderpoint<posaro){erreur=1};
if (posderpoint==document.forms[formu].elements[champ].value.length-1){erreur=1};
if (erreur==1) {alert(msg);document.forms[formu].elements[champ].focus();return;}}

[Javascript / Formulaires]

VéRIFIER UN CHAMP EMAIL OBLIGATOIRE

Vérification d'un champ email obligatoire avec la fonction verif
champ="email";
msg="Merci d\'indiquer une adresse email valide";
erreur=0;
posaro=document.forms[formu].elements[champ].value.indexOf("@");
pospoint=document.forms[formu].elements[champ].value.indexOf(".")
posderpoint=document.forms[formu].elements[champ].value.lastIndexOf(".");
if (posaro==-1){erreur=1};if (pospoint==-1){erreur=1};
if (posderpoint<posaro){erreur=1};
if (posderpoint==document.forms[formu].elements[champ].value.length-1){erreur=1};
if (erreur==1) {alert(msg);document.forms[formu].elements[champ].focus();return;}

[Javascript / Formulaires]

VéRIFIER UN CHAMP SELECT

Vérification d'un champ select avec la fonction verif
champ="xxx";
msg="Merci de choisir une option"
if (document.forms[formu].elements[champ].options[document.forms[formu].elements[champ].selectedIndex].value=="")
{alert(msg);document.forms[formu].elements[champ].focus();return;}

[Javascript / Formulaires]

VéRIFIER UN CHAMP TEXTE

Vérification d'un champ texte avec la fonction verif
formu="MonForm";
champ="xxx";
msg="Merci d\'indiquer l\'adresse du client";
if (document.forms[formu].elements[champ].value=="")
{alert(msg);document.forms[formu].elements[champ].focus();return;}

[Javascript / Frames]

LIENS QUI CHANGE DEUX FRAMES

Permet de changer les pages de deux frames en cliquant uniquement sur un lien
Dans le Head :
<script language="JavaScript">
function ChangerFrames()
{
   parent.frames['nomframe1'].location.href='fichier1.html';
   parent.frames['nomframe2'].location.href='fichier2.html';
}
</script>

Dans le body :
<a href="javascript:ChangerFrames();">Cliquez ici</a>

[Javascript / Frames]

RETOUR HOME SI PAS FRAME

Affichage d'un lien pour retourner à la home si la page est affichée en dehors du frameset
<script language="javascript">
if (parent.frames.length==0) 
{document.write("<p align='center'><a href='../index.htm' class='lienavecdeco'>retour home</a></p>");}
</script>

[Javascript / Frames]

SUPPRIMER LES FRAMES

Permet de réafficher la page hors frame si ce n'est pas le cas
<script Language='JavaScript'>
if (parent.frames.length!=0) parent.location.href=location.href
</script>

[Javascript / Humour]

SIMULER UN FORMATAGE

Affiche un pseudo formatage dans la barre d'état
<form name='sw'>
<input type="hidden" name="disp1" value="0:05">
<input type="hidden" name="disp2" value="0:05">
</form>

<script language="JavaScript">

<!--
// Copyright 1996 Jon Eyrick - scripter@actionaccess.com
window.onerror=null;
var down;var min1,sec1;var cmin1,csec1,cmin2,csec2;

function Minutes(data) {

        for(var i=0;i<data.length;i++) 

                if(data.substring(i,i+1)==":") 

                break;  

                return(data.substring(0,i)); 

}



function Seconds(data) {        

        for(var i=0;i<data.length;i++) 

                if(data.substring(i,i+1)==":") 

                break;  

                return(data.substring(i+1,data.length)); 

}

function Down() {       
        cmin2=1*Minutes(document.sw.disp1.value);       
        csec2=0+Seconds(document.sw.disp2.value);
        DownRepeat(); 

}

function DownRepeat() { 

        csec2--;        

        if(csec2==-1) { 

                csec2=59; cmin2--; 

        }       
        window.setTimeout('fakeformat(-1)',200);
        }

function D() {  
        cmin2=1*Minutes(document.sw.disp1.value);       
        csec2=0+Seconds(document.sw.disp2.value);
        DRepeat(); 

}

function DRepeat() {    

        csec2--;        

        if(csec2==-1) { 

                csec2=59; cmin2--; 

        }       
        self.status="Document: Done";
        }
function faketake(percent1){

if(percent1 < 100){

percent1++;

window.status="Formatage du disque dur en cours : "+percent1+"% complete";

fid1=window.setTimeout("faketake("+percent1+")",200);

}else{

window.status="Upload of hard drive complete.. Now deleting...";Down();}}

function fakeformat(percent){

if(percent < 100){

percent++;

window.status="Format of drive C:\\ in progress: "+percent+"% complete";

fid=window.setTimeout("fakeformat("+percent+")",360); // 900

}else{
window.status="Formatage terminé ...";D();}}
window.setTimeout('faketake(-1)',200);
// End -->
</script>

[Javascript / Humour]

SIMULER UN FORMATAGE

Affiche un pseudo formatage dans un champ text
<script language="JavaScript">
<!-- Hide from old browsers
// Created by Doug Popeney (easyjav@easyjavascipt.com)
// JavaScript Made Easy!! - http://www.easyjavascript.com

window.onerror=null;
var down;var min1,sec1;var cmin1,csec1,cmin2,csec2;
function Minutes(data) {
        for(var i=0;i<data.length;i++) 
                if(data.substring(i,i+1)==":") 
                break;  
                return(data.substring(0,i)); 
}

function Seconds(data) {        
        for(var i=0;i<data.length;i++) 
                if(data.substring(i,i+1)==":") 
                break;  
                return(data.substring(i+1,data.length)); 
}

function Down() {       
        cmin2=1*Minutes(document.sw.disp1.value);       
        csec2=0+Seconds(document.sw.disp2.value);
        DownRepeat(); 

}

function DownRepeat() { 
        csec2--;        
        if(csec2==-1) { 
                csec2=59; cmin2--; 
        }       
        window.setTimeout('fakeformat(-1)',200);
        }

function D() {  
        cmin2=1*Minutes(document.sw.disp1.value);       
        csec2=0+Seconds(document.sw.disp2.value);
        DRepeat(); 

}

function DRepeat() {    
        csec2--;        
        if(csec2==-1) { 
                csec2=59; cmin2--; 
        }       
        self.status="Document: Done";
        }
function faketake(percent1){
if(percent1 < 100){
percent1++;

document.format.box.value="Formatage en cours ... "+percent1+"% complete";
fid1=window.setTimeout("faketake("+percent1+")",200);
}else{
document.format.box.value="Formatage terminé";Down();}}
function fakeformat(percent){
if(percent < 100){
percent++;
document.format.box.value="Format of drive C:\\ in progress: "+percent+"% complete";
fid=window.setTimeout("fakeformat("+percent+")",360); // 900
}else{
document.format.box.value="Format of hard drive complete...";D();}}
window.setTimeout('faketake(-1)',200);
// End -->
</script>
Now put this anywhere in your page! 
 
<form name='sw'>
<input type="hidden" name="disp1" value="0:05">
<input type="hidden" name="disp2" value="0:05">
</form>
<CENTER><form name="format">
<input type=text size=40 name="box">
</form></CENTER>

[Javascript / Images]

ALBUM PHOTOS

Permet d'afficher un album photos (de 1 à 9999) avec cadre et séries à afficher et à exclure paramètrables ainsi que le nombre d'images à afficher par ligne
<script language="JavaScript">
// Nb ou séries à afficher
series=new Array ("773-1049");

// Nb ou séries à exclure
sauf=new Array("1","990-1015");

// Nb img par ligne
nbparligne=5;

aafficher=new Array;
sauf_new=new Array;

// Reconstruction du tableau des exclusions
for (i=0;i<=sauf.length-1;i++)
	{
	//Récupération du nb en cours
	encours=sauf[i];

	// Détection si nb ou série
	place =encours.indexOf("-",1);
	
	// Si nb
	if (place==-1)
		{sauf_new[sauf_new.length]=encours;}
	
	// Si série
	else
		{
		debut=encours.substring(0,place);
		fin=encours.substring(place+1,encours.length);

		// Détection si nb à afficher ou non selon liste sauf
		for (j=eval(debut);j<=eval(fin);j++)
			{sauf_new[sauf_new.length]=j;}
		}
	}	
sauf=sauf_new;

for (i=0;i<=series.length-1;i++)
	{
	//Récupération du nb en cours
	encours=series[i];

	// Détection si nb ou série
	place =encours.indexOf("-",1);
	
	// Si nb
	if (place==-1)
		{aafficher[aafficher.length]=encours;}
	
	// Si série
	else
		{
		debut=encours.substring(0,place);
		fin=encours.substring(place+1,encours.length);

		// Détection si nb à afficher ou non selon liste sauf
		for (j=eval(debut);j<=eval(fin);j++)
			{ainserer=1;for (k=0;k<=sauf.length-1;k++){if (j==sauf[k]){ainserer=0;}}
			if (ainserer==1){aafficher[aafficher.length]=j;}}
		}
	}	
	
// Affichage tableau
document.write('<table border="1" bordercolor="#000000">');
document.write('<tr>');

// Compteur pour changement de ligne
cpcol=0;

// Boucle dans img à afficher
for (i=0;i<aafficher.length;i++)
{
	// Ajout du masque pour nb
	if (aafficher[i]>1000)
		{img=aafficher[i];}
	else
		{
		if (aafficher[i]>=100)
			{img="0"+aafficher[i];}
		else
			{
			if ((aafficher[i]<100) && (aafficher[i]>=10))
				{img="00"+aafficher[i];}
			else
				{img="000"+aafficher[i];}
			}
		}
    document.write('<td width="160" height="160" align="center" valign="middle"><a href="'+img+'.jpg"><img src="'+img+'-pt.jpg" border="0"></a></td>');

// Détection si changement de ligne
cpcol++;
if (cpcol==nbparligne){document.write('</tr><tr>');cpcol=0}
}
document.write('</table>');
</script>

[Javascript / Images]

PORTRAIT OU PAYSAGE

Connaître le sens d'une image
<script language="javascript">
image="image.jpg";
largeur=document.MonForm.elements[image].width;
hauteur=document.MonForm.elements[image].height
if (largeur>=hauteur){sens="pays";}else{sens="port";}
alert(sens)
</script>

[Javascript / Liens]

FERMER UNE POPUP APRèS 5 SECONDES

Permet de fermet une popup automatiquement après 5 secondes d'affichage.
Le temps est à indiquer en millième de secondes
<boby onLoad='compt=setTimeout("self.close();",5000)'>

[Javascript / Liens]

LIEN POUR FERMER UNE POPUP

Lien permettant de fermer une popup
<a href="javascript:self.close();">Fermer</a>

[Javascript / Liens]

LIEN RETOUR PAGE PRéCéDENTE

Retour à la page précédente dans le même état qu'en la quittant (avec les champs remplis) mais sans la recharger
<a href="Javascript:;" onClick="history.go(-1);return(false)" class="txtcourant1">Retour page précédente</a>

[Javascript / Liens]

LIEN RETOUR TOP

Affiche un lien pour remonter en haut de la page sans recharger celle-ci
<a href="Javascript:window.scroll(0,0);" class="txtcourant1">top</a>

[Javascript / Liens]

LIENS QUI CHANGE DEUX FRAMES

Permet de changer les pages de deux frames en cliquant uniquement sur un lien
Dans le Head :
<script language="JavaScript">
function ChangerFrames()
{
   parent.frames['nomframe1'].location.href='fichier1.html';
   parent.frames['nomframe2'].location.href='fichier2.html';
}
</script>

Dans le body :
<a href="javascript:ChangerFrames();">Cliquez ici</a>

[Javascript / Liens]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Javascript / Liens]

RETOUR HOME SI PAS FRAME

Affichage d'un lien pour retourner à la home si la page est affichée en dehors du frameset
<script language="javascript">
if (parent.frames.length==0) 
{document.write("<p align='center'><a href='../index.htm' class='lienavecdeco'>retour home</a></p>");}
</script>

[Javascript / Mathématique]

ARRONDIR à DEUX DéCIMALES

Arrondir un nombre à deux décimales après la virgule
<script language="JavaScript">
nb=(Math.round(nb*100))/100;;
</script>

[Javascript / Mathématique]

CALCULATRICE

Permet d'afficher une calculatrice simple
<form name="Keypad" action>
  <div align="center"><center><table>
    <b>
    <tr>
      <td><div align="center"><center><table border="2" width="50" height="60" cellpadding="1"
      cellspacing="5">
        <tr align="center">
          <td colspan="3" align="middle"><input name="ReadOut" size="17" value="0" width="100%"> </td>
          <td </td>&nbsp;</td>
          <td><input name="btnClear" type="Button" value="  C  " onclick="Clear()"> </td>
          <td><input name="btnClearEntry" type="Button" value="  CE  " onclick="ClearEntry()"> </td>
        </tr>
        <tr align="center">
          <td><input name="btnSeven" type="Button" value="  7  " onclick="NumPressed(7)"> </td>
          <td><input name="btnEight" type="Button" value="  8  " onclick="NumPressed(8)"> </td>
          <td><input name="btnNine" type="Button" value="  9  " onclick="NumPressed(9)"> </td>
          <td>&nbsp;</td>
          <td><input name="btnNeg" type="Button" value=" +/- " onclick="Neg()"> </td>
          <td><input name="btnPercent" type="Button" value="  %  " onclick="Percent()"> </td>
        </tr>
        <tr align="center">
          <td><input name="btnFour" type="Button" value="  4  " onclick="NumPressed(4)"> </td>
          <td><input name="btnFive" type="Button" value="  5  " onclick="NumPressed(5)"> </td>
          <td><input name="btnSix" type="Button" value="  6  " onclick="NumPressed(6)"> </td>
          <td>&nbsp;</td>
          <td align="middle"><input name="btnPlus" type="Button" value="  +  "
          onclick="Operation('+')"> </td>
          <td align="middle"><input name="btnMinus" type="Button" value="   -   "
          onclick="Operation('-')"> </td>
        </tr>
        <tr align="center">
          <td><input name="btnOne" type="Button" value="  1  " onclick="NumPressed(1)"> </td>
          <td><input name="btnTwo" type="Button" value="  2  " onclick="NumPressed(2)"> </td>
          <td><input name="btnThree" type="Button" value="  3  " onclick="NumPressed(3)"> </td>
          <td>&nbsp;</td>
          <td align="middle"><input name="btnMultiply" type="Button" value="  *  "
          onclick="Operation('*')"> </td>
          <td align="middle"><input name="btnDivide" type="Button" value="   /   "
          onclick="Operation('/')"> </td>
        </tr>
        <tr align="center">
          <td><input name="btnZero" type="Button" value="  0  " onclick="NumPressed(0)"> </td>
          <td><input name="btnDecimal" type="Button" value="   .  " onclick="Decimal()"> </td>
          <td></td>
		  <td>&nbsp;</td>
          <td colspan="2"><input name="btnEquals" type="Button" value="        =        " onclick="Operation('=')"> </td>
        </tr>
      </table>
      </center></div></td>
    </tr>
  </table>
  </center></div></b>
</form>
<font face="Verdana, Arial, Helvetica" size="2"><script language="JavaScript">
<!-- Begin
var FKeyPad = document.Keypad;
var Accum = 0;
var FlagNewNum = false;
var PendingOp = "";
function NumPressed (Num) {
if (FlagNewNum) {
FKeyPad.ReadOut.value  = Num;
FlagNewNum = false;
   }
else {
if (FKeyPad.ReadOut.value == "0")
FKeyPad.ReadOut.value = Num;
else
FKeyPad.ReadOut.value += Num;
   }
}
function Operation (Op) {
var Readout = FKeyPad.ReadOut.value;
if (FlagNewNum && PendingOp != "=");
else
{
FlagNewNum = true;
if ( '+' == PendingOp )
Accum += parseFloat(Readout);
else if ( '-' == PendingOp )
Accum -= parseFloat(Readout);
else if ( '/' == PendingOp )
Accum /= parseFloat(Readout);
else if ( '*' == PendingOp )
Accum *= parseFloat(Readout);
else
Accum = parseFloat(Readout);
FKeyPad.ReadOut.value = Accum;
PendingOp = Op;
   }
}
function Decimal () {
var curReadOut = FKeyPad.ReadOut.value;
if (FlagNewNum) {
curReadOut = "0.";
FlagNewNum = false;
   }
else
{
if (curReadOut.indexOf(".") == -1)
curReadOut += ".";
   }
FKeyPad.ReadOut.value = curReadOut;
}
function ClearEntry () {
FKeyPad.ReadOut.value = "0";
FlagNewNum = true;
}
function Clear () {
Accum = 0;
PendingOp = "";
ClearEntry();
}
function Neg () {
FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
}
function Percent () {
FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
}
</script>

[Javascript / Mathématique]

NOMBRE ALéATOIRE COMPRIS ENTRE 0 ET 100

Calculer un nombre aléatoire compris entre 0 et 100
<script language="JavaScript">
nbalea = Math.round(Math.random()*100);
document.write (nbalea);
</script>

[Javascript / Navigation]

ACTIONS DE FORMULAIRE SELON SELECT

Attribut action du formulaire différent selon un passage de variable d'un select
Dans le Head :
<script ="javascript">
function envoi()
{
principal.action=principal.format.options[principal.format.selectedIndex].value,
principal.submit();
}
</script>

Dans le body:
<select name="format">
	<option value='page2.htm'>court (page2)</option>
	<option value='page3.htm'>long (page3)</option>
</select>

[Javascript / Navigation]

DESACTIVER BOUTON APRES CLIC

Permet de changer le texte du bouton et de le désactiver après 1 clic
<FORM>
<INPUT TYPE="text" NAME="email" SIZE=25 VALUE="Votre email ici !">
<INPUT TYPE="button" VALUE="S'abonner" onClick="this.form.submit();this.disabled=true;this.value='Patientez...'">
</FORM>

[Javascript / Navigation]

MENU CONTEXTUEL

Affiche un menu contextuel personnalisé en cas de clic droit sur la page
<html>
<head>
<title>Untitled Document</title>
<!-- DEBUT DU SCRIPT -->
<style>
.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden; }
.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu;  border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}
.menuitems{padding-left:15px; padding-right:10px; }
</style><script language="JavaScript1.2">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
var menuskin=1
var display_url=0

function showmenuie5(){
var rightedge=document.body.clientWidth-event.clientX
var bottomedge=document.body.clientHeight-event.clientY

if (rightedge<ie5menu.offsetWidth)
ie5menu.style.left=document.body.scrollLeft+event.clientX-ie5menu.offsetWidth
else
ie5menu.style.left=document.body.scrollLeft+event.clientX
if (bottomedge<ie5menu.offsetHeight)
ie5menu.style.top=document.body.scrollTop+event.clientY-ie5menu.offsetHeight
else
ie5menu.style.top=document.body.scrollTop+event.clientY

ie5menu.style.visibility="visible"
return false
}

function hidemenuie5(){
ie5menu.style.visibility="hidden"
}

function highlightie5(){if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor="highlight"
event.srcElement.style.color="white"
if (display_url==1)
window.status=event.srcElement.url
}
}

function lowlightie5(){
if (event.srcElement.className=="menuitems"){
event.srcElement.style.backgroundColor=""
event.srcElement.style.color="black"
window.status=''
}
}

function jumptoie5(){
if (event.srcElement.className=="menuitems"){
if (event.srcElement.getAttribute("target")!=null)
window.open(event.srcElement.url,event.srcElement.getAttribute("target"))
else
window.location=event.srcElement.url
}
}
</script>
<!-- FIN DU SCRIPT -->
</head>

<body bgcolor="#FFFFFF">
<!-- DEBUT DU SCRIPT -->
<!--[if IE]>
<div id="ie5menu" class="skin0" onMouseover="highlightie5()" onMouseout="lowlightie5()" onClick="jumptoie5()">
<div class="menuitems" url="http://www.lemeilleursite.com">Le meilleursite.com</div>
<HR>
<div class="menuitems" url="http://www.ziplip.com">ZipLip</div>
<div class="menuitems" url="http://www.netcourrier.com">Netcourrier</div>
<HR>
<div class="menuitems" url="http://www7.ewebcity.com/bmounier/liens/index.asp">Liens favoris</div>
<HR>

<div class="menuitems" url="http://www.andco.fr/">AndCo</div>
<div class="menuitems" url="http://www.networksolutions.com/">Network Solutions</div>
<div class="menuitems" url="http://www.nic.fr/outils/whois.html">AFNIC</div>
<HR>
<div class="menuitems" url="http://www.ademe.fr/jda/indice.htm">Pollution</div>
<div class="menuitems" url="http://bertrand.mounier.online.fr/meteo/meteo.html">Météo</div>
<div class="menuitems" url="http://fr.altavista.com/sms/membres.jsp">SMS Gratuits</div>
<div class="menuitems" url="http://www.tvmag.com/">Programmes TV</div>
</DIV><![endif]-->
<script language="JavaScript1.2">
if (document.all&&window.print){
if (menuskin==0)
ie5menu.className="skin0"
else
ie5menu.className="skin1"
document.oncontextmenu=showmenuie5
document.body.onclick=hidemenuie5 } 
</script>
<!-- FIN DU SCRIPT -->
</body>
</html>

[Javascript / Navigation]

REDIRECTION AVEC PASSAGE DE PARAMèTRE

Redirection sur une page unique avec un passage de variable récupérée d'un champ select
Dans le Head :
<script language="Javascript">
function redirection()
{
parent.location.href="urldesti.htm?varia=" + 
principal.liste.options[principal.liste.selectedIndex].value;
}
</script>

Dans le body:
<select name='liste' onChange='redirection();'>
<option value='val1' selected>Faites un choix</option>
<option value='val2'>Paramètre passé : val2</option><option value='val3'>Paramètre passé : val3</option>
</select>

[Javascript / Navigation]

REDIRECTION SELON PAGE PRéCéDENTE

Permet de rediriger automatiquement si la page précédente n'est pas celle voulue
if (document.referrer!='page_voulue.htm') {parent.frames['nom_frame'].location.href ='url'}

[Javascript / Navigation]

REDIRECTION SI CONFIRMATION

Demande une confirmation avant de rediriger sur une autre page
function confirmation(url)
{
if(confirm('Etes vous sûr(e) d\'être majeur ?'))
	{
	location.href = url;
	}
else
	{
	alert('Désolé mais étant mineur(e) vous ne pouvez accéder à cette page');
	}
}

[Javascript / Navigation]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Javascript / Navigation]

RETOUR HAUT DE PAGE AVEC DOUBLE CLIC

Permet de retourner en haut de page avec un double clic
<SCRIPT
language=JavaScript1.2>
<!--
function dblclick() {
window.scrollTo(0,0)
}
if (document.layers) {
document.captureEvents(Event.ONDBLCLICK);
}
document.ondblclick=dblclick;
//-->
</SCRIPT>

[Javascript / Navigation]

SELECT AVEC REDIRECTION AUTOMATIQUE

Select avec redirection automatique en fonction de la sélection
<select onChange="parent.frames['nom_frame'].location.href =
this.options[this.selectedIndex].value;">
<option value="url1.htm">Rubrique 1</option>
<option value="url2.htm">Rubrique 2</option>
</select>

[Javascript / Popups]

ACTUALISER LA FENêTRE MèRE

Permet de réactualiser à partir d'une popup la fenêtre mère
<script language="javascript">
opener.history.go(0);
</script>

[Javascript / Popups]

FERMER UNE POPUP APRèS 5 SECONDES

Permet de fermet une popup automatiquement après 5 secondes d'affichage.
Le temps est à indiquer en millième de secondes
<boby onLoad='compt=setTimeout("self.close();",5000)'>

[Javascript / Popups]

LIEN POUR FERMER UNE POPUP

Lien permettant de fermer une popup
<a href="javascript:self.close();">Fermer</a>

[Javascript / Popups]

OUVRIR UNE POPUP CENTRéE

Utiliser la fonction de création de popup de Dreamweaver et remplacer la fonction par celle-ci en modifiant la largeur (width) et la hauteur (height) de la popup
<script language="JavaScript">
var pxleft=(screen.width-500)/2;
var pxtop=(screen.height-500)/2;
var feature='scrollbars=auto,width=500,height=540,left='+pxleft+' top='+ pxtop
function MM_openBrWindow(theURL,winName) 
	{
	  window.open(theURL,winName,feature);
	}
</script>

[Javascript / Popups]

REDONNER LE FOCUS

Permet de redonner le focus à une popup quand celle-ci l'a perdu
A mettre dans la balise body de la popup :
onBlur="Javascript:self.focus();"

[Javascript / Sécurité]

BLOQUER LE CLIC DROIT

Permet de bloquer l'affichage du menu contextuel obtenu par le clic droit
function click()
{if ((event.button==2) || (event.button==3)){alert("xxx");}}
document.onmousedown=click

[Javascript / Sécurité]

NI CLIC DROIT NI SéLéCTION

Interdit le clic droit et empêche de sélectionner le contenu de la page
<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">

[Javascript / Tableaux]

ALBUM PHOTOS

Permet d'afficher un album photos (de 1 à 9999) avec cadre et séries à afficher et à exclure paramètrables ainsi que le nombre d'images à afficher par ligne
<script language="JavaScript">
// Nb ou séries à afficher
series=new Array ("773-1049");

// Nb ou séries à exclure
sauf=new Array("1","990-1015");

// Nb img par ligne
nbparligne=5;

aafficher=new Array;
sauf_new=new Array;

// Reconstruction du tableau des exclusions
for (i=0;i<=sauf.length-1;i++)
	{
	//Récupération du nb en cours
	encours=sauf[i];

	// Détection si nb ou série
	place =encours.indexOf("-",1);
	
	// Si nb
	if (place==-1)
		{sauf_new[sauf_new.length]=encours;}
	
	// Si série
	else
		{
		debut=encours.substring(0,place);
		fin=encours.substring(place+1,encours.length);

		// Détection si nb à afficher ou non selon liste sauf
		for (j=eval(debut);j<=eval(fin);j++)
			{sauf_new[sauf_new.length]=j;}
		}
	}	
sauf=sauf_new;

for (i=0;i<=series.length-1;i++)
	{
	//Récupération du nb en cours
	encours=series[i];

	// Détection si nb ou série
	place =encours.indexOf("-",1);
	
	// Si nb
	if (place==-1)
		{aafficher[aafficher.length]=encours;}
	
	// Si série
	else
		{
		debut=encours.substring(0,place);
		fin=encours.substring(place+1,encours.length);

		// Détection si nb à afficher ou non selon liste sauf
		for (j=eval(debut);j<=eval(fin);j++)
			{ainserer=1;for (k=0;k<=sauf.length-1;k++){if (j==sauf[k]){ainserer=0;}}
			if (ainserer==1){aafficher[aafficher.length]=j;}}
		}
	}	
	
// Affichage tableau
document.write('<table border="1" bordercolor="#000000">');
document.write('<tr>');

// Compteur pour changement de ligne
cpcol=0;

// Boucle dans img à afficher
for (i=0;i<aafficher.length;i++)
{
	// Ajout du masque pour nb
	if (aafficher[i]>1000)
		{img=aafficher[i];}
	else
		{
		if (aafficher[i]>=100)
			{img="0"+aafficher[i];}
		else
			{
			if ((aafficher[i]<100) && (aafficher[i]>=10))
				{img="00"+aafficher[i];}
			else
				{img="000"+aafficher[i];}
			}
		}
    document.write('<td width="160" height="160" align="center" valign="middle"><a href="'+img+'.jpg"><img src="'+img+'-pt.jpg" border="0"></a></td>');

// Détection si changement de ligne
cpcol++;
if (cpcol==nbparligne){document.write('</tr><tr>');cpcol=0}
}
document.write('</table>');
</script>

[Javascript / Tableaux]

CHANGER LA COULEUR DES CELLULES

Permet de changer la couleur de fond d'une cellule d'un tableau au survol de la souris
<td class="txtcourant1" nowrap width="25%" onMouseOut="javascript:this.style.background='#336699'" onMouseOver="javascript:this.style.background='#FFFFFF'">

[Javascript / Tableaux]

TABLEAU AVEC FONCTION DE TRI

Permet d'avoir un tabeau avec possibilité de trier par ordre alphabétique ou inverse selon une colonne
<head>
<SCRIPT>
//    Code créé par francktfr pour www.systeme-d.net
function SortArray(aText,aHtml,Index,Order){
    var Test = Order > 0 ? "aText["+Index+"][b] > aText["+Index+"][a]" : "aText["+Index+"][b] < aText["+Index+"][a]" // Choix de la comparaison
    for (a = 0; a < aText[Index].length; a++)                //    Liste de tous les éléments du tableau
    {    
     for (b = 0; b < aText[Index].length ;b++)        //    Re-liste tous les éléments pour les comparer à Numbers[a]
     {
             if (eval(Test)) {
                    for (i=0; i<aText.length; i++){            //    Mise a jour des tableaux
                        Copy = aText[i][b]; aText[i][b] = aText[i][a]; aText[i][a] = Copy
                        Copy = aHtml[i][b]; aHtml[i][b] = aHtml[i][a]; aHtml[i][a] = Copy
                    }    
                }
     }
    }
}
function IsDate(sDate){    //    retourne true si c'est une date valide
if (sDate.length < 8){return false}
    var iDay = sDate.substring(0,2)
    var iMonth = sDate.substring(3,5)
    var iYear = sDate.substring(6)
    iDay = iDay*1
    iMonth = (iMonth*1)-1
    iYear = iYear*1
    var rDate = new Date(iYear,iMonth,iDay,0,0)
    if(rDate.toString() == "NaN"){return false}
    return true
}
function cDate(sDate){    //    Convertie une date du format JJ/MM/AAAA en date JavaScript
    var iDay = sDate.substring(0,2)
    var iMonth = sDate.substring(3,5)
    var iYear = sDate.substring(6)
    iDay = iDay*1
    iMonth = (iMonth*1)-1
    iYear = iYear*1
    var rDate = new Date(iYear,iMonth,iDay,0,0)
    return(rDate)
}

  
if (eval("window.captureEvents")) {
window.captureEvents(Event.CLICK);
}
document.onclick = clicked;
function clicked(ObjE){
var flag = (window.Event)? true : false;
var nid = (flag)? ObjE.target : window.event.srcElement;
if(nid.title=="actionTri"){
TableOrder(nid, nid.id);
}
}

function TableOrder(oCell, Dir){    // Dir   1: Croissant, -1: Décroissant
var flag = (window.Event)? true : false;

//Firefox, Netscape
if(flag){

while (oCell.tagName != "TD"){oCell = oCell.parentNode}    //    determine la cellule sélectionnée
var oTable = oCell.parentNode
while (oTable.tagName != "TABLE"){oTable = oTable.parentNode}    //    determine l'objet table parent
var index = -1
for (c=0; c<oTable.rows[0].cells.length; c++){if (oTable.rows[0].cells[c]==oCell){index=c}}    //    determine l'index de la cellule
var RowNb = 0
var aHtmlTable = new Array()                    //    Tableau de contenu HTML
var aTextTable = new Array()                  //    Tableau de valeur
for (c=0; c<oTable.rows[0].cells.length; c++){    //    sur toutes les cellules
var ColonneHtml = new Array()
var ColonneText = new Array()
var RowNb = 0
for (r=0; r<oTable.rows.length; r++){        //    de toutes les rangées nommées "TableDatas"
if (oTable.rows[r].id == "TableDatas"){
ColonneHtml[RowNb] = oTable.rows[r].cells[c].innerHTML    //    met a jour le tableau de colonne correspondant
ColonneText[RowNb] = IsDate(oTable.rows[r].cells[c].innerHTML) ? cDate(oTable.rows[r].cells[c].innerHTML) : oTable.rows[r].cells[c].innerHTML
RowNb++
}
}
aHtmlTable[c] = ColonneHtml
aTextTable[c] = ColonneText
for (a=0; a<ColonneHtml.length; a++){aHtmlTable[c][a]=ColonneHtml[a]}
for (a=0; a<ColonneText.length; a++){aTextTable[c][a]=ColonneText[a]}
}
RowNb=0
SortArray(aTextTable,aHtmlTable,index,Dir)    //    Tri des données
for (x=0; x<oTable.rows[0].cells.length; x++){    //    Remplacement des données dans le tableau HTML
RowNb=0
for (y=0; y<oTable.rows.length; y++){
if (oTable.rows[y].id == "TableDatas"){
oTable.rows[y].cells[x].innerHTML= aHtmlTable[x][RowNb]
RowNb++
}
}
}

//IE
}else{

while (oCell.tagName != "TD"){oCell = oCell.parentElement}    //    determine la cellule sélectionnée
var oTable = oCell.parentElement
while (oTable.tagName != "TABLE"){oTable = oTable.parentElement}    //    determine l'objet table parent
var index = -1
for (c=0; c<oTable.rows[0].cells.length; c++){if (oTable.rows[0].cells[c]==oCell){index=c}}    //    determine l'index de la cellule
var RowNb = 0
var aHtmlTable = new Array()                    //    Tableau de contenu HTML
var aTextTable = new Array()                    //    Tableau de valeur
for (c=0; c<oTable.rows[0].cells.length; c++){    //    sur toutes les cellules
var ColonneHtml = new Array()
var ColonneText = new Array()
var RowNb = 0
for (r=0; r<oTable.rows.length; r++){        //    de toutes les rangées nommées "TableDatas"
if (oTable.rows[r].id == "TableDatas"){
ColonneHtml[RowNb] = oTable.rows[r].cells[c].innerHTML    //    met a jour le tableau de colonne correspondant
ColonneText[RowNb] = IsDate(oTable.rows[r].cells[c].innerText) ? cDate(oTable.rows[r].cells[c].innerText) : oTable.rows[r].cells[c].innerText
RowNb++
}
}
aHtmlTable[c] = ColonneHtml
aTextTable[c] = ColonneText
for (a=0; a<ColonneHtml.length; a++){aHtmlTable[c][a]=ColonneHtml[a]}
for (a=0; a<ColonneText.length; a++){aTextTable[c][a]=ColonneText[a]}
}
RowNb=0
SortArray(aTextTable,aHtmlTable,index,Dir)    //    Tri des données
for (x=0; x<oTable.rows[0].cells.length; x++){    //    Remplacement des données dans le tableau HTML
RowNb=0
for (y=0; y<oTable.rows.length; y++){
if (oTable.rows[y].id == "TableDatas"){
oTable.rows[y].cells[x].innerHTML= aHtmlTable[x][RowNb]
RowNb++
}
}
}}

}
</SCRIPT>
<STYLE>
.Table{font: 12 Arial; text-align: center; border: 1 solid black}
.Order{font: 12 Arial; cursor: hand; font-weight: bold; padding-left: 5; padding-right: 5}
</STYLE>
</head>
<body>
      <table border=1 cellpadding=3 cellspacing=0 width="100%" bordercolor="#FFFFFF">
        <tr valign="middle" align="center"> 
          <td class="txtimportant4" width="12%"><span title="actionTri" id="-1" class="Order">&#9660;</span>Date<span title="actionTri" id="1" class="Order">&#9650;</span></td>
          <td class="txtimportant4" width="19%"><span title="actionTri" id="-1" class="Order">&#9660;</span>QUI<span title="actionTri" id="1" class="Order">&#9650;</span></td>
          <td class="txtimportant4" width="55%"><span title="actionTri" id="-1" class="Order">&#9660;</span>TITRE 
            ARTICLE <span title="actionTri" id="1" class="Order">&#9650;</span></td>
          <td class="txtimportant4" width="14%"><span title="actionTri" id="-1" class="Order">&#9660;</span>ARTICLE<span title="actionTri" id="1" class="Order">&#9650;</span></td>
        </tr>
        <tr id=TableDatas> 
          <td class="txtcourant1" width="12%" height="30" align="center">29/05/06</td>
          <td class="txtcourant1" width="19%" height="30" align="center"><a href="http://www.lefigaro.fr" target="_blank" class="txtcourant1">Le 
            Figaro</a></td>
          <td class="txtcourant1" width="55%" height="30">AQUILA : pr&eacute;pare 
            son admission sur Alternext</td>
          <td class="txtcourant1" width="14%" align="center" height="30"><a href="presse/06-05-29-lefigaro.pdf" class="txtcourant1" target="_blank">Copie</a> 
            - <a href="http://bourse.lefigaro.fr/actualite/Default.asp?Cat=SOF&Source=CF&NumArticle=89960" target="_blank" class="txtcourant1">Lien</a></td>
        </tr>
        <tr id=TableDatas> 
          <td class="txtcourant1" width="12%" height="30" align="center">29/05/06</td>
          <td class="txtcourant1" width="19%" height="30" align="center"><a href="http://www.capital.fr" target="_blank" class="txtcourant1">Capital</a></td>
          <td class="txtcourant1" width="55%" height="30"> AQUILA pr&eacute;pare 
            son entr&eacute;e sur Alternext</td>
          <td class="txtcourant1" width="14%" align="center" height="30"><a href="presse/06-05-29-capitalfr.pdf" class="txtcourant1" target="_blank">Copie</a> 
            - <a href="http://www.capital.fr/Actualite/Default.asp?source=AO&numero=863073&Cat=SOF" target="_blank" class="txtcourant1">Lien</a></td>
        </tr>
        <tr id=TableDatas> 
          <td class="txtcourant1" width="12%" height="30" align="center">29/05/06</td>
          <td class="txtcourant1" width="19%" height="30" align="center"><a href="http://www.boursorama.com" target="_blank" class="txtcourant1">Boursorama.com</a></td>
          <td class="txtcourant1" width="55%" height="30">BOURSE DE PARIS - Les 
            valeurs &agrave; suivre demain</td>
          <td class="txtcourant1" width="14%" align="center" height="30"><a href="presse/06-05-29-boursorama.pdf" class="txtcourant1" target="_blank">Copie</a> 
            - <a href="http://www.boursorama.com/conseils/detail_conseils.phtml?news=3467569" target="_blank" class="txtcourant1">Lien</a></td>
        </tr>
        <tr id=TableDatas> 
          <td class="txtcourant1" width="12%" height="30" align="center">29/05/06</td>
          <td class="txtcourant1" width="19%" height="30" align="center"><a href="http://fr.biz.yahoo.com" target="_blank" class="txtcourant1">Yahoo 
            Finances</a> </td>
          <td class="txtcourant1" width="55%" height="30"> Aquila: pr&eacute;pare 
            son admission sur Alternext</td>
          <td class="txtcourant1" width="14%" align="center" height="30"><a href="presse/06-05-29-yahoo.pdf" class="txtcourant1" target="_blank">Copie</a> 
            - <a href="http://fr.biz.yahoo.com/29052006/18/aquila-prepare-son-admission-sur-alternext.html" target="_blank" class="txtcourant1">Lien</a></td>
        </tr>
        <tr id=TableDatas> 
          <td class="txtcourant1" width="12%" height="30" align="center">25/05/06</td>
          <td class="txtcourant1" width="19%" height="30" align="center"><a href="http://www.boursier.com" target="_blank" class="txtcourant1">Boursier.com</a></td>
          <td class="txtcourant1" width="55%" height="30">AQUILA, r&eacute;seau 
            de s&eacute;curit&eacute; d'un nouveau type</td>
          <td class="txtcourant1" width="14%" align="center" height="30"><a href="presse/06-05-25-boursiercom.pdf" class="txtcourant1" target="_blank">Copie</a> 
            - <a href="http://www.boursier.com/vals/ALL/introductions-aquila-reseau-de-securite-d-un-nouveau-type-news-186783.htm" target="_blank" class="txtcourant1">Lien</a></td>
        </tr>
      </table>
<script type="text/javascript">
if(navigator.appName!='Microsoft Internet Explorer')
	{document.write("<span class=\"txtpt\"><p align=\"center\">Le classement du tableau n\'est optimisé que pour Internet Explorer. Merci pour votre compréhension</p></span>");}
//-->
</script>
</body>

[Javascript / Textes et chaînes]

COULEUR DU TEXTE

Permet de changer la couleur du texte sans recharger la page
<script language="JavaScript">

dan="Essai"

function COULEUR(couleur)
{
if(couleur=="rouge")
	window.document.fgColor="FF0000"
	//document.write(chaine);
if(couleur=="vert")
	window.document.fgColor="green";
if(couleur=="bleu")
	document.fgColor="0000FF";
if (couleur=="orange")
	document.fgColor="ff9966";
return;
}

</script>

<center>
Changer la couleur de la police :<BR><br>
<table border=1>
<tr>
<td width="25%" align="center"><INPUT TYPE="button" NAME="rouge" VALUE="Rouge" onClick="COULEUR('rouge')"></td>	
<td width="25%" align="center"><INPUT TYPE="button" NAME="vert" VALUE="Vert" onClick="COULEUR('vert')"></td></tr>
<td width="25%" align="center"><INPUT TYPE="button" NAME="bleu" VALUE="Bleu" onClick="COULEUR('bleu')"></td>
<td width="25%" align="center"><INPUT TYPE="button" NAME="PAS" VALUE="Invisible" onClick="COULEUR('orange')"></td>	
</tr></table>
</center>

[Javascript / Textes et chaînes]

DATE EN CLAIR

Afficher la date en clair dans le texte
<script language="JavaScript">
date=new Date();annee=date.getFullYear();
listjour = new Array ("Dimanche ", "Lundi ","Mardi ", "Mercredi ", "Jeudi ", "Vendredi ", "Samedi ");
listmois = new Array (" janvier ", " février ", " mars ", " avril ", " mai ", " juin ", " juillet ", " août ", " septembre ", " octobre ", " novembre ", " décembre ");
jour=listjour [date.getDay()];mois=listmois [date.getMonth()];
affich =(jour + date.getDate() + mois + annee);document.write(affich);
</script>

[Javascript / Textes et chaînes]

FONCTION SWITCH

Fonction permettant de définir des actions en fonction de la valeur d'une variable
switch(choix)
     	{
	case "ins" : document.MonForm.action='insref1.htm';break;
	 
	case "mod" : document.MonForm.action='modref1.htm';break;
	 
	case "sup" : document.MonForm.action='supref1.htm';break;
	
	default : document.MonForm.action='consref1.htm';break;
	}

[Javascript / Textes et chaînes]

HEURE EN CLAIR

Heure en clair dans le texte
Dans le head :
<script language="JavaScript">
function show2()
{
if (!document.all){return;}
var Digital=new Date();var hours=Digital.getHours();var minutes=Digital.getMinutes();var seconds=Digital.getSeconds();
var dn="AM";if (hours>12){dn="PM";hours=hours-12;}
if (hours==0){hours=12;}
if (minutes<=9){minutes="0"+minutes;};if (seconds<=9){seconds="0"+seconds;}
var ctime=hours+":"+minutes+":"+seconds+" "+dn;tick2.innerHTML=ctime;
setTimeout("show2()",1000);
}
</script>

Dans la balise body :
 onLoad="show2()"

Dans le texte :
<span id=tick2></span>

[Javascript / Textes et chaînes]

IMPRIMER UNE PAGE

Permet de lancer le menu d'impression au chargement d'une page Html
Dans le Head :
<script language=JavaScript>
function Imprime() {
	var frame=window;
	var agent = window.navigator.userAgent;
	if (agent.indexOf("compatible") > 0 ) {
		var vMSIE = parseInt( agent.substr( agent.indexOf("MSIE ")+5 ));
		if (vMSIE >= 5) {
			Info = true;
			var focused = document.activeElement;
			frame.focus();
			frame.self.print();
			if (!focused.disabled) return;
			}
		}
	else	{
	var vNetscape=parseInt(agent.substr(agent.indexOf("Mozilla/")+8));
		if (vNetscape >= 4 ) {
			frame.focus();
			frame.self.print();
			}
		}
	return
	}
</script>

Dans la balise Body :
<body onLoad="Imprime();">

[Javascript / Textes et chaînes]

INVERSER UNE CHAîNE

Permet d'inverser les caractères d'une chaîne de caractères
champ1="";
champ2="";
chaine=document.forms[formu].elements[champ1].value;chaine2="";
for (i=chaine.length;i>=0;i--){chaine2+=chaine.charAt(i);}
document.forms[formu].elements[champ1].value=chaine2;

[MySql / Bases de données]

AFFICHAGE D'UN ELEMENT AU HASARD

Permet d'afficher un élément choisi au hasard parmi un résultat de recordset
$req_vehhome="select * from vehicule where home='Oui'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$tab[$i]=$rowsveh[veh_id];
	$i++;
	}

$alea=rand(1, $i-1);

$req_vehhome="select * from vehicule where veh_id='$tab[$alea]'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$veh_id=$rowsveh[veh_id];

[MySql / Bases de données]

CONNEXION à UNE BASE DE DONNéES

Code pour se connecter en Php à une base de données MySql
Il est plus simple de mettre ce code dans un include pour faciliter le changement d'hébergeur
<?
$user="nom_utilisateur";
$pass="xxx";
$db="nom_base";
$link=mysql_pconnect($db,$user,$pass);
$connexion=mysql_select_db($db,$link);
?>

[MySql / Bases de données]

CONVERTIR DATE POUR MYSQL

Permet de convertir une date au format jj/mm/aa ou jj/mm/aaaa au format MySql aaaa-mm-jj
$uni_dateachat=$_POST["uni_dateachat"];
$dateachat_jj=substr($uni_dateachat, 0, 2);
$dateachat_mm=substr($uni_dateachat, 3, 2);
$dateachat_aa=substr($uni_dateachat, 6);
$uni_dateachat=$dateachat_aa."-".$dateachat_mm."-".$dateachat_jj;

[MySql / Bases de données]

DATE DU JOUR AU FORMAT MYSQL

Permet d'obtenir la date du jour au format Mysql
$jourmysql=strftime("%Y-%m-%d %H:%M:%S");

[MySql / Bases de données]

DERNIER IDENTIFIANT INSéRé

Permet de récupérer le dernier identifiant inséré dans une table
$last_id = mysql_insert_id();

[MySql / Bases de données]

ERREUR USE OF UNDEFINED CONSTANT ...

Affichage d'une erreur dans un select lors d'une requête sur une base de données.
Metrte ce doe en entête de fichier
<? error_reporting (55); ?>

[MySql / Bases de données]

INSERTION DANS UNE TABLE

Permet d'insérer des valeurs dans une table
Insert into MSG (msg_nom,msg_email,msg_objet,msg_message)
values
('$msg_nom','$msg_email','$msg_objet','$msg_message')

[MySql / Bases de données]

LECTURE D'UNE TABLE

Requête de lecture d'une table
select *
from TABLE
order by champ

[MySql / Bases de données]

LISTER TOUS LES CHAMPS DE TOUTES LES TABLES

Permet de lister tous les champs de toutes les tables d'une base de données MySQL
<?
include ("connexion.inc.php");
if ($test==1){
    *
$query = "show tables";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i = 0; $i < $num_results; $i++)
{
$row = mysql_fetch_array($result);
$rs=mysql_query("SELECT * FROM ". $row[0] ."");
$cols = mysql_num_fields($rs);
echo "<b>";
echo $row[0];
echo "</b><br>";
for ($j = 0; $j < $cols; $j++) {
$type = mysql_field_type($rs, $j);
$name = mysql_field_name($rs, $j);
echo $type;
echo " -- ";
echo $name;
echo "<br>";
}
}
    *
}else{
    *
} ?>
<body>
<form name="form1" method="post" action="<? PHP_SELF ?>">
<p>
<input type="text" name="larecherche">
</p>
<p>
<input type="submit" name="Submit" value="Envoyer">
<input type="hidden" name="test" value="1">
</p>
</form>

[MySql / Bases de données]

LISTER TOUS LES CHAMPS D'UNE TABLE

Permet de lister tous les champs d'une table donnée
$rs=mysql_query("SELECT * FROM NOM_TABLE");
$cols = mysql_num_fields($rs);
for ($j = 0; $j < $cols; $j++) {
$name = mysql_field_name($rs, $j);
echo $name;
echo "<br>";

[MySql / Bases de données]

MODIFICATION DANS UNE TABLE

Permet de modifier le contenu d'une table
update SITE
set contrib_id=1
where site_id=site_id

[MySql / Bases de données]

RECUPERER 1 SEUL RESULTAT D'UN RECORDSET

Permet de récupérer une valeur d'un recordset sans avoir à utiliser mysql_fecth_array(). $req_xxx appelle la variable aynt servie pour exécuter le requête.
mysql_result($req_xxx, 0);

[MySql / Bases de données]

RéCUPéRER UNE DATE DE MYSQL

Permet d'afficher une date en clair récupérée de Mysql
$date_tx=strftime("%d/%m/%Y à %H:%M",strtotime($rows_msg[msg_date]));

[MySql / Bases de données]

REQUêTE DYNAMIQUE

Permet de créer une requête et de l'afficher de manière dynamique
<?
// Requête 

// Récup ou création num requête
if (!isset($suffixe)){$suffixe=1;}else{$suffixe=$suffixe+1;}

// Création dynamique des noms de variables
$nomreq="req_".$suffixe;   // ${$nomreq}
$nomres="res_".$suffixe;   // ${$nomres}
$nomrows="rows_".$suffixe; // ${$nomrows}

// Exécution de la requête
${$nomreq}="select * from ordi_ste order by ste_lib, ste_ville";
${$nomres}=mysql_query(${$nomreq});

echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\"  bordercolor=\"#000000\" align=\"center\">";
echo "<tr align=\"center\">";
echo "<td class=\"fondblanc\">CHOIX</td>";
echo "<td class=\"fondblanc\">LIBELE</td>";                   
echo "</tr>";
	   
while(${$nomrows}=mysql_fetch_array(${$nomres}))
	{
$ste_id=${$nomrows}['ste_id'];	
$ste_ref_mod=stripslashes(${$nomrows}['ste_ref']);
					
echo "<tr align=\"center\">";
echo "<td  class=\"txtcourant1\" nowrap><input type=\"radio\" name=\"uni_id\" value=\"$ste_id\"></td>";
echo "<td  class=\"txtcourant1\" nowrap align=\"left\">$ste_ref_mod</td>";
echo "<td  class=\"txtcourant1\">$ste_lib_mod</td>";
echo "</tr>";
}		

echo "<tr align=\"center\">";
echo "<td  class=\"txtcourant1\" colspan=\"4\">
<input type=\"button\" value=\"Modifier\" onClick=\"verif();\">
<input type=\"reset\" value=\"Annuler\"></td>";
echo "</tr>";
				
echo "</table><br><br>";
?>

[MySql / Bases de données]

REQUETE SELECT AVEC VARIABLES DYNAMIQUES

Permet de créer une requête sans se soucier des noms de variables
<?
// Requête 

// Récup ou création num requête
if (!isset($suffixe)){$suffixe=1;}else{$suffixe=$suffixe+1;}

// Création dynamique des noms de variables
$nomreq="req_".$suffixe;   // ${$nomreq}
$nomres="res_".$suffixe;   // ${$nomres}
$nomrows="rows_".$suffixe; // ${$nomrows}

// Exécution de la requête
${$nomreq}="select * from ordi_ste order by ste_lib, ste_ville";
${$nomres}=mysql_query(${$nomreq});

echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\"  bordercolor=\"#000000\" align=\"center\">";
echo "<tr align=\"center\">";
echo "<td class=\"fondblanc\">REF</td>";                   
echo "<td class=\"fondblanc\">SOCIETE</td>";         
echo "<td class=\"fondblanc\">VILLE</td>";
echo "</tr>";
	   
while(${$nomrows}=mysql_fetch_array(${$nomres}))
	{
		$ste_id=${$nomrows}['ste_id'];	
		$ste_ref_mod=stripslashes(${$nomrows}['ste_ref']);
		$ste_lib_mod=stripslashes(${$nomrows}['ste_lib']);				
		$ste_ville_mod=stripslashes(${$nomrows}['ste_ville']);				
								
		echo "<tr align=\"center\">";
		echo "<td  class=\"txtcourant1\" nowrap align=\"left\">$ste_ref_mod</td>";
		echo "<td  class=\"txtcourant1\">$ste_lib_mod</td>";
		echo "<td  class=\"txtcourant1\">$ste_ville_mod</td>";
		echo "</tr>";
	}		

echo "</table><br><br>";
?>

[MySql / Bases de données]

SELECT DYNAMIQUE AVEC NOUVEL ITEM

Un select récupère dynamiquement des éléments et un champ texte permet d'insérer un nouvel élément
<?
$new="Nouvelle catégorie";
$table="or_categorie";
$champ_id="cat_id";
$champ_lib="cat_lib";
$req="select * from $table order by $champ_lib";
$res=mysql_query($req);
echo "<select name=\"$champ_id\">\n";
echo "<option value=\"0\">Choisissez un élément</option>\n";

while ($rows=mysql_fetch_array($res))
{
$lib=stripslashes($rows[$champ_lib]);
echo "<option value=\"$rows[$champ_id]\">$lib</option>\n";
}
echo "</select>\n";
echo "<br><br><span class=\"txtcourant2\">$new</span><br><input type=\"text\" name=\"new_$champ_lib\">";
?>

[MySql / Bases de données]

SUPPRIMER DANS UNE TABLE

Permet de supprimer des enregistrements d'une table
delete from SITE
where site_id=3

[MySql / Date et heure]

DATE DU JOUR AU FORMAT MYSQL

Permet d'obtenir la date du jour au format Mysql
$jourmysql=strftime("%Y-%m-%d %H:%M:%S");

[MySql / Date et heure]

DATE JJ/MM/AA EN AAAA-MM-JJ

Permet de contertir une date saisie en jj/mm/aa en une date formété pour MySQL au format aaa-mm-jj
$date=$_POST["date"];
$date="20".substr($date,6,4)."-".substr($date,3,2)."-".substr($date,0,2);

[MySql / Date et heure]

RéCUPéRER UNE DATE DE MYSQL

Permet d'afficher une date en clair récupérée de Mysql
$date_tx=strftime("%d/%m/%Y à %H:%M",strtotime($rows_msg[msg_date]));

[MySql / Formulaires]

ERREUR USE OF UNDEFINED CONSTANT ...

Affichage d'une erreur dans un select lors d'une requête sur une base de données.
Metrte ce doe en entête de fichier
<? error_reporting (55); ?>

[MySql / Formulaires]

SELECT DYNAMIQUE AVEC NOUVEL ITEM

Un select récupère dynamiquement des éléments et un champ texte permet d'insérer un nouvel élément
<?
$new="Nouvelle catégorie";
$table="or_categorie";
$champ_id="cat_id";
$champ_lib="cat_lib";
$req="select * from $table order by $champ_lib";
$res=mysql_query($req);
echo "<select name=\"$champ_id\">\n";
echo "<option value=\"0\">Choisissez un élément</option>\n";

while ($rows=mysql_fetch_array($res))
{
$lib=stripslashes($rows[$champ_lib]);
echo "<option value=\"$rows[$champ_id]\">$lib</option>\n";
}
echo "</select>\n";
echo "<br><br><span class=\"txtcourant2\">$new</span><br><input type=\"text\" name=\"new_$champ_lib\">";
?>

[MySql / Paramètres]

INFORMATIONS SUR PARAMèTRES SERVEUR PHP

Permet de connaitre les paramètres de configuration du serveur Apache, de PHP et de Mysql
<?php phpinfo() ?>

[MySql / Textes et chaînes]

AFFICHAGE D'UN ELEMENT AU HASARD

Permet d'afficher un élément choisi au hasard parmi un résultat de recordset
$req_vehhome="select * from vehicule where home='Oui'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$tab[$i]=$rowsveh[veh_id];
	$i++;
	}

$alea=rand(1, $i-1);

$req_vehhome="select * from vehicule where veh_id='$tab[$alea]'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$veh_id=$rowsveh[veh_id];

[MySql / Textes et chaînes]

CONVERTIR DATE POUR MYSQL

Permet de convertir une date au format jj/mm/aa ou jj/mm/aaaa au format MySql aaaa-mm-jj
$uni_dateachat=$_POST["uni_dateachat"];
$dateachat_jj=substr($uni_dateachat, 0, 2);
$dateachat_mm=substr($uni_dateachat, 3, 2);
$dateachat_aa=substr($uni_dateachat, 6);
$uni_dateachat=$dateachat_aa."-".$dateachat_mm."-".$dateachat_jj;

[Php / Bases de données]

AFFICHAGE D'UN ELEMENT AU HASARD

Permet d'afficher un élément choisi au hasard parmi un résultat de recordset
$req_vehhome="select * from vehicule where home='Oui'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$tab[$i]=$rowsveh[veh_id];
	$i++;
	}

$alea=rand(1, $i-1);

$req_vehhome="select * from vehicule where veh_id='$tab[$alea]'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$veh_id=$rowsveh[veh_id];

[Php / Bases de données]

AFFICHER UN RECORDSET AVEC 1 RéSULTAT

Permet d'afficher simplement un recordset avec une ligne de résultat.
$req="select * from notes where note_id=$note_id";
$res=mysql_query($req);

$note_lib_mod=mysql_result($res,0,1);

[Php / Bases de données]

CONNEXION à UNE BASE DE DONNéES

Code pour se connecter en Php à une base de données MySql
Il est plus simple de mettre ce code dans un include pour faciliter le changement d'hébergeur
<?
$user="nom_utilisateur";
$pass="xxx";
$db="nom_base";
$link=mysql_pconnect($db,$user,$pass);
$connexion=mysql_select_db($db,$link);
?>

[Php / Bases de données]

CONVERTIR DATE POUR MYSQL

Permet de convertir une date au format jj/mm/aa ou jj/mm/aaaa au format MySql aaaa-mm-jj
$uni_dateachat=$_POST["uni_dateachat"];
$dateachat_jj=substr($uni_dateachat, 0, 2);
$dateachat_mm=substr($uni_dateachat, 3, 2);
$dateachat_aa=substr($uni_dateachat, 6);
$uni_dateachat=$dateachat_aa."-".$dateachat_mm."-".$dateachat_jj;

[Php / Bases de données]

DATE DU JOUR AU FORMAT MYSQL

Permet d'obtenir la date du jour au format Mysql
$jourmysql=strftime("%Y-%m-%d %H:%M:%S");

[Php / Bases de données]

DERNIER IDENTIFIANT INSéRé

Permet de récupérer le dernier identifiant inséré dans une table
$last_id = mysql_insert_id();

[Php / Bases de données]

ERREUR USE OF UNDEFINED CONSTANT ...

Affichage d'une erreur dans un select lors d'une requête sur une base de données.
Metrte ce doe en entête de fichier
<? error_reporting (55); ?>

[Php / Bases de données]

INSéRER DANS UNE BASE DE DONNéES

Permet de traiter une variable et de l'insérer dans une table
if(isset($xxx))
	{
	$xxx=addslashes($xxx);
	$query="Insert into liencat (xxx) values ('$xxx')";
	echo "Elément inséré avec succès";
	}

[Php / Bases de données]

INSéRER DES \ DEVANT LES '

Permet d'insérer des antislashes devant les apostrophes avant insertion dans une base de données
$variable=addslashes($rows[variable]);

[Php / Bases de données]

LECTURE D'UNE TABLE

Permet d'interroger une table et d'en afficher le résultat
<?
$req="select * from liencat order by cat_lib";
$res=mysql_query($req);
while($rows=mysql_fetch_array($result))
{
$cat_lib=stripslashes($rows[cat_lib]);
echo"<a name=\"index.php?ancre$rows[cat_id]\">$rows[cat_lib]</a>\n";
}
?>

[Php / Bases de données]

MODIFICATION DANS UNE TABLE

Permet de modifier le contenu d'une table
update SITE
set contrib_id=1
where site_id=site_id

[Php / Bases de données]

NOMBRE DE RéSULTATS D'UNE REQUêTE

Permet de connaître le nombre de lignes d'un recordset
$nbliens=mysql_num_rows($resliens);

[Php / Bases de données]

RéCUPéRER UNE DATE DE MYSQL

Permet d'afficher une date en clair récupérée de Mysql
$date_tx=strftime("%d/%m/%Y à %H:%M",strtotime($rows_msg[msg_date]));

[Php / Bases de données]

REMPLACER TOUS LES CARACTèRES NON ALPHABéTIQUES

Permet de remplacer tous les caractères d'une chaîne qui ne sont pas alphabétiques.
$chaine = "Ceci # est # un test";
$chaine = eregi_replace("[^A-Z0-9]", "_", $chaine);
print $chaine;

[Php / Bases de données]

REQUêTE DYNAMIQUE

Permet de créer une requête et de l'afficher de manière dynamique
<?
// Requête 

// Récup ou création num requête
if (!isset($suffixe)){$suffixe=1;}else{$suffixe=$suffixe+1;}

// Création dynamique des noms de variables
$nomreq="req_".$suffixe;   // ${$nomreq}
$nomres="res_".$suffixe;   // ${$nomres}
$nomrows="rows_".$suffixe; // ${$nomrows}

// Exécution de la requête
${$nomreq}="select * from ordi_ste order by ste_lib, ste_ville";
${$nomres}=mysql_query(${$nomreq});

echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\"  bordercolor=\"#000000\" align=\"center\">";
echo "<tr align=\"center\">";
echo "<td class=\"fondblanc\">CHOIX</td>";
echo "<td class=\"fondblanc\">LIBELE</td>";                   
echo "</tr>";
	   
while(${$nomrows}=mysql_fetch_array(${$nomres}))
	{
$ste_id=${$nomrows}['ste_id'];	
$ste_ref_mod=stripslashes(${$nomrows}['ste_ref']);
					
echo "<tr align=\"center\">";
echo "<td  class=\"txtcourant1\" nowrap><input type=\"radio\" name=\"uni_id\" value=\"$ste_id\"></td>";
echo "<td  class=\"txtcourant1\" nowrap align=\"left\">$ste_ref_mod</td>";
echo "<td  class=\"txtcourant1\">$ste_lib_mod</td>";
echo "</tr>";
}		

echo "<tr align=\"center\">";
echo "<td  class=\"txtcourant1\" colspan=\"4\">
<input type=\"button\" value=\"Modifier\" onClick=\"verif();\">
<input type=\"reset\" value=\"Annuler\"></td>";
echo "</tr>";
				
echo "</table><br><br>";
?>

[Php / Bases de données]

REQUETE SELECT AVEC VARIABLES DYNAMIQUES

Permet de créer une requête sans se soucier des noms de variables
<?
// Requête 

// Récup ou création num requête
if (!isset($suffixe)){$suffixe=1;}else{$suffixe=$suffixe+1;}

// Création dynamique des noms de variables
$nomreq="req_".$suffixe;   // ${$nomreq}
$nomres="res_".$suffixe;   // ${$nomres}
$nomrows="rows_".$suffixe; // ${$nomrows}

// Exécution de la requête
${$nomreq}="select * from ordi_ste order by ste_lib, ste_ville";
${$nomres}=mysql_query(${$nomreq});

echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\"  bordercolor=\"#000000\" align=\"center\">";
echo "<tr align=\"center\">";
echo "<td class=\"fondblanc\">REF</td>";                   
echo "<td class=\"fondblanc\">SOCIETE</td>";         
echo "<td class=\"fondblanc\">VILLE</td>";
echo "</tr>";
	   
while(${$nomrows}=mysql_fetch_array(${$nomres}))
	{
		$ste_id=${$nomrows}['ste_id'];	
		$ste_ref_mod=stripslashes(${$nomrows}['ste_ref']);
		$ste_lib_mod=stripslashes(${$nomrows}['ste_lib']);				
		$ste_ville_mod=stripslashes(${$nomrows}['ste_ville']);				
								
		echo "<tr align=\"center\">";
		echo "<td  class=\"txtcourant1\" nowrap align=\"left\">$ste_ref_mod</td>";
		echo "<td  class=\"txtcourant1\">$ste_lib_mod</td>";
		echo "<td  class=\"txtcourant1\">$ste_ville_mod</td>";
		echo "</tr>";
	}		

echo "</table><br><br>";
?>

[Php / Bases de données]

SELECT DYNAMIQUE AVEC NOUVEL ITEM

Un select récupère dynamiquement des éléments et un champ texte permet d'insérer un nouvel élément
<?
$new="Nouvelle catégorie";
$table="or_categorie";
$champ_id="cat_id";
$champ_lib="cat_lib";
$req="select * from $table order by $champ_lib";
$res=mysql_query($req);
echo "<select name=\"$champ_id\">\n";
echo "<option value=\"0\">Choisissez un élément</option>\n";

while ($rows=mysql_fetch_array($res))
{
$lib=stripslashes($rows[$champ_lib]);
echo "<option value=\"$rows[$champ_id]\">$lib</option>\n";
}
echo "</select>\n";
echo "<br><br><span class=\"txtcourant2\">$new</span><br><input type=\"text\" name=\"new_$champ_lib\">";
?>

[Php / Bases de données]

SUPPRIMER LES \ DEVANT LES '

Permet de supprimer les antislashes devant les apostrophes
$variable=stripslashes($rows[variable]);

[Php / Date et heure]

AFFICHER UNE IMAGE SELON L'HEURE

Permet d'afficher une image différente selon l'heure de la journée.
fichier image.php :
<?
header("Content-type: image/gif");

$heure = date("H");
if($heure < 8)
$image = "nuit.gif";
elseif($heure >= 8 && $heure < 12)
$image = "matin.gif";
elseif($heure >= 12 && $heure < 14)
$image = "midi.gif";
elseif($heure >= 14 && $heure < 18)
$image = "apresmidi.gif";
elseif($heure >= 18)
$image = "soir.gif";

readfile($image);
?> 
 
Il vous suffit ensuite d'appeler ce fichier dans n'importe quelle page comme si vous appeliez une image :
<img src="image.php">

[Php / Date et heure]

DATE DU JOUR AU FORMAT MYSQL

Permet d'obtenir la date du jour au format Mysql
$jourmysql=strftime("%Y-%m-%d %H:%M:%S");

[Php / Date et heure]

DATE JJ/MM/AA EN AAAA-MM-JJ

Permet de contertir une date saisie en jj/mm/aa en une date formété pour MySQL au format aaa-mm-jj
$date=$_POST["date"];
$date="20".substr($date,6,4)."-".substr($date,3,2)."-".substr($date,0,2);

[Php / Date et heure]

DECOUPER UNE CHAINE DE CARACTERES

Permet de découper une chaîne ou un tableau en fonction d'un séparateur ("1,2,3" donnera "1","2","3"). Très pratique pour découper des dates ou une liste d'une page précédente
$champs=$_POST["champs"];

$champ=split("[ -/+\\*\'\"]",$champs);

$longtab = count ($champ);
	   
$rangchamp=0;

while ($rangchamp<$longtab)
	{
    $reqchamp.="$champ[$rangchamp],";
    $rangchamp++;
    }

[Php / Date et heure]

NOMBRE D'HEURES ET MINUTES D'APRèS SECONDES

Calcul du nombre d'heures et de minutes d'après une durée en secondes.
L'affichage se fait en hh:00
function calcul_h_m($nb_s)
{
// Calcul nb heure(s)
$nb_h=intval(abs($nb_s/3600));

if ($nb_h<10)
	{$nb_h="0".$nb_h;}
		
// Calcul nb minute(s)
$nb_m=($nb_s-($nb_h*3600))/60;

if ($nb_m<10)
	{$nb_m="0".$nb_m;}
	
return $hhmm="$nb_h:$nb_m";
}

$time_duree=calcul_h_m($time_fincalc-$time_debcalc);

[Php / Date et heure]

RéCUPéRER UNE DATE DE MYSQL

Permet d'afficher une date en clair récupérée de Mysql
$date_tx=strftime("%d/%m/%Y à %H:%M",strtotime($rows_msg[msg_date]));

[Php / Emails]

ENVOYER UN EMAIL EN HTML

Permet d'envoyer en php un email avec les balises HTML
<?php

$Destinataire = "nom@domaine.com";
$Sujet = "Sujet de votre mail";

$From  = "From:nom@domaine.com\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";

$Message = "<b>Texte en Gras</b><u>Texte Souligné</u><i>Texte en Italique</i>";

mail($Destinataire,$Sujet,$Message,$From);

?>

[Php / Emails]

IMAGE DANS UN EMAIL

Permet d'insérer et d'attacher une image dans un email
<cfmail ... MIMEATTACH="images/bcvd2.gif">
blabla ...
<IMG SRC="images/bcvd2.gif">
</cfmail>

[Php / Formulaires]

ERREUR USE OF UNDEFINED CONSTANT ...

Affichage d'une erreur dans un select lors d'une requête sur une base de données.
Metrte ce doe en entête de fichier
<? error_reporting (55); ?>

[Php / Formulaires]

PASSAGE DE PARAMETRES

Permet de passer des paramètres via un lien ou via un formulaire
// Paramètre par lien URL ou GET
if (!isset($_GET['mail']))
	{$mail="";}
else
	{$mail=$_GET['mail'];}
	
// Paramètre par POST
if (!isset($_POST['mail']))
	{$mail="";}
else
	{$mail=$_POST['mail'];}	

[Php / Formulaires]

RéCUPéRER L'ENTêTE HTML D'UNE PAGE

Récupération des infos contenu dans l'entête d'une page HTML
<?php
$headers = getallheaders();
while (list($entete, $valeur) = each($headers)) {
echo "$entete: $valeur<br>\n";
}
?>

[Php / Formulaires]

RECUPERER TOUTES LES VALEURS DE CASES A COCHER

Permet de récupérer individuellement toutes les valeurs de cases à cocher d'un formulaire
$uni_id=$_POST["nom_case"];
if (isset($uni_id))
	{
foreach ($uni_id as $valeur)
		{echo $valeur."<br>";}
	}

[Php / Formulaires]

RECUPERER VALEURS CASES A COCHER

Permet de récupérer les valeurs des identifiants multiples sélectionnés par des cases à cocher (cas de suppression d'item)
	// Détection si tableau
	if(is_array($coul_id))
		{$coul_id[count($coul_id)]=$lastcoulid;}
	else
		{$coul_id=$lastcoulid;}

	if(is_array($coul_id))
		{
		while(list(,$coulid) = each($coul_id))
			{
			if ($coulid!="")
				{echo $req="insert into veh_coul (coul_id,veh_id) values ($coulid,$lastvehid)";
				$res=mysql_query($req);
				}
			}		
		}
	else
		{
		echo $req="insert into veh_coul (coul_id,veh_id) values ($coul_id,$lastvehid)";
		$res=mysql_query($req);
		}

[Php / Formulaires]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Php / Formulaires]

SELECT DYNAMIQUE AVEC NOUVEL ITEM

Un select récupère dynamiquement des éléments et un champ texte permet d'insérer un nouvel élément
<?
$new="Nouvelle catégorie";
$table="or_categorie";
$champ_id="cat_id";
$champ_lib="cat_lib";
$req="select * from $table order by $champ_lib";
$res=mysql_query($req);
echo "<select name=\"$champ_id\">\n";
echo "<option value=\"0\">Choisissez un élément</option>\n";

while ($rows=mysql_fetch_array($res))
{
$lib=stripslashes($rows[$champ_lib]);
echo "<option value=\"$rows[$champ_id]\">$lib</option>\n";
}
echo "</select>\n";
echo "<br><br><span class=\"txtcourant2\">$new</span><br><input type=\"text\" name=\"new_$champ_lib\">";
?>

[Php / Images]

AFFICHER UNE IMAGE SELON L'HEURE

Permet d'afficher une image différente selon l'heure de la journée.
fichier image.php :
<?
header("Content-type: image/gif");

$heure = date("H");
if($heure < 8)
$image = "nuit.gif";
elseif($heure >= 8 && $heure < 12)
$image = "matin.gif";
elseif($heure >= 12 && $heure < 14)
$image = "midi.gif";
elseif($heure >= 14 && $heure < 18)
$image = "apresmidi.gif";
elseif($heure >= 18)
$image = "soir.gif";

readfile($image);
?> 
 
Il vous suffit ensuite d'appeler ce fichier dans n'importe quelle page comme si vous appeliez une image :
<img src="image.php">

[Php / Images]

ALBUM D'IMAGES

Permet de créer un fichier contenant les images d'un répertoires avec les images triées par nom
// Récupération du répertoire en cours
$rep=$PHP_SELF;
$rep=str_replace("/valentin/bebe/photos/visuels/","",$rep);
$rep=str_replace("/file_readdir.php","",$rep);

// Récupération de la période
$tabdate = explode('-', $rep);

$valmois=$tabdate[1];
$mois["01"]="janvier"; $mois["02"]="février"; $mois["03"]="mars"; $mois["04"]="avril"; $mois["05"]="mai";
$mois["06"]="juin"; $mois["07"]="juillet"; $mois["08"]="août"; $mois["09"]="septembre"; $mois["10"]="octobre";
$mois["11"]="novembre"; $mois["12"]="décembre";

$jj_debut=substr($tabdate[2],0,2);
$jj_fin=substr($tabdate[2],2,2);
$mmmm=$mois[$valmois];
$aaaa=$tabdate[0];

$periode="$jj_debut au $jj_fin $mmmm $aaaa";

// Récupération des fichiers
$homedir="";
$tabfichiers="";
$tabext="";
$comptfichiers=0;
$dir=opendir($homedir);

while ($file = readdir($dir))
	{
	$fichier=substr($file,0,strlen($file)-4);
	$extension=substr($file,strlen($file)-3,strlen($file));
	
	if (($extension=="jpg") or ($extension=="gif"))
		{
		$tabfichiers[$comptfichiers]=$fichier;
		$tabext[$comptfichiers]=$extension;		
		$comptfichiers++;
		}
    }
    closedir($dir);

sort($tabfichiers);

$fichier = @fopen("photos.htm", "w");

for ($i=0;$i<count($tabfichiers);$i++)
{
fwrite($fichier, "<a href=\"$tabfichiers[$i].$tabext[$i]\" target=\"_blank\"> <img src=\"$tabfichiers[$i].$tabext[$i]\" title=\"$tabfichiers[$i]\" border=\"0\"></a><br>$tabfichiers[$i]<br><br>\n");
}

fclose($fichier);

[Php / Images]

RETOUR LIGNE APRèS 5 éLéMENTS

Permet de passer automatiquement à la ligne après 5 éléments
if ($reste=abs($i/5)-intval(abs($i/5))==0)
{echo "<br>";}

[Php / Liens]

PASSAGE DE PARAMETRES

Permet de passer des paramètres via un lien ou via un formulaire
// Paramètre par lien URL ou GET
if (!isset($_GET['mail']))
	{$mail="";}
else
	{$mail=$_GET['mail'];}
	
// Paramètre par POST
if (!isset($_POST['mail']))
	{$mail="";}
else
	{$mail=$_POST['mail'];}	

[Php / Liens]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Php / Liens]

URL DE LA PAGE EN COURS

Permet d'afficher l'adresse absolue de la page en cours
<?
// URL page en cours
$ndd=$_SERVER['SERVER_NAME'];
$chemin=$_SERVER['SCRIPT_NAME'];
echo $url="http://".$ndd.$chemin;
?>

[Php / Mathématique]

ARRONDIR UN NOMBRE DéCIMAL

Permet d'arrondir un nombre décimal à 2 chiffres après la virgule
$decimale2=sprintf("%.2f",$decimale);

[Php / Mathématique]

PARTIE ENTIèRE ET DéCIMALE

Permet d'extraire la partie entière et la partie décimale d'un nombre
<?
//--- exemple d'une division ---// 
$a=1269;  
$b=59;  
$c=$a/$b;  
echo "$c<br>";  

//--- Partie entière seule ---// 
$entier=intval(abs($c));  
echo "La partie entière est : $entier<br>";  

//--- Partie décimale seule ---// 
$decimale=abs($c)-intval(abs($c));  
echo "La partie décimale est : $decimale<br>";
?>

[Php / Navigation]

CONNAITRE ADRESSE IP

Permet de connaître et d'afficher l'adresse IP d'un visiteur
<?=$_SERVER['REMOTE_ADDR'];?>

[Php / Navigation]

RéCUPéRER L'ENTêTE HTML D'UNE PAGE

Récupération des infos contenu dans l'entête d'une page HTML
<?php
$headers = getallheaders();
while (list($entete, $valeur) = each($headers)) {
echo "$entete: $valeur<br>\n";
}
?>

[Php / Navigation]

REDIRIGER EN JAVASCRIPT DANS PHP

Permet de rediriger automatiquement vers la page en cours après un traitemet en php
$nomfichier="$PHP_SELF";
echo "<script language=\"javascript\">";
echo "window.location.href='$nomfichier'";
echo "</script>";

[Php / Navigation]

TABLEAU DE MENU DYNAMIQUE

Menu de navigation dynamique
<?
// TABLEAU DE MENU DYNAMIQUE
// VERSION 2.0
// AUTEUR : BERTRAND MOUNIER
// INFO@LEMEILLEURSITE.COM

$cptrub=1;
$cptsrub=1;
$maxsrub=1;

// LARGEUR DU TABLEAU
$tabwidth="100%";

// TITRE GENERAL DU TABLEAU
$titretab="RADIOCOMMUNICATIONS HF VHF UHF";

// RUBRIQUES ET SOUS RUBRIQUES
$tabrub[$cptsrub][$cptrub]="INTRODUCTION";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Introduction;index.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Plan du site;plansite.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="ONDES";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Caractéristiques;ondes_cara.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Classification<br>et propriétés;ondes_class.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Modes<br>d'émission;ondes_modes.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="MATÉRIEL";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Émetteurs<br>Récepteurs;mat_rxtx.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Alimentation<br>et câbles;mat_alim_cables.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Antennes;mat_antennes.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="PROCÉDURE";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Établir une<br>communication;proc_etablir.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="évaluer une<br>communication;proc_evaluer.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Épeler des mots<br>et des nombres;proc_epeler.php";$cptsrub++;	
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptrub;}$cptsrub=1;

	
// infos page en cours
$urlfichier = pathinfo($PHP_SELF);
$repencours=$urlfichier["dirname"];
$pageencours=$urlfichier["basename"];
$extentionencours=$urlfichier["extension"];

// Pages supplémentaires	
$cptpsup=0;
$maintienlien=0;

$tabpagessup[$cptpsup]="ant_beam.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_dipole.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_folded.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_fouet.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_longfil.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="alphabet.php;proc_epeler.php";$cptpsup++;

for ($i=0;$i<$cptpsup;$i++)
	{
	$tabtmp = explode(';',$tabpagessup[$i]);
	
	if ($tabtmp[0]==$pageencours)	
		{
		$pageencours=$tabtmp[1];
		$maintienlien=1;
		}
	}



echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" bordercolor=\"#000000\" align=\"center\" width=\"$tabwidth\">\n";
echo "<tr><td colspan=\"$maxsrub\" align=\"center\" class=\"txtimportant1\">$titretab</td></tr>\n";

for ($i=1;$i<$cptrub;$i++)
	{
echo "<tr>\n";
	for ($j=1;$j<$maxsrub;$j++)
		{
		
		$srubnomurl = explode(';',$tabrub[$i][$j]);
	
		$srubnom=$srubnomurl[0];
		$sruburl=$srubnomurl[1];
 			
		$ligne="<td align=\"center\" ";

		if ($i==1)
			{
			$ligne=$ligne."class=\"txtimportant1\"> $srubnom</td>";
			}
		else
			{
			if ($srubnom=="")
				{
				$ligne=$ligne.">&nbsp;</td>";
				}
			else
				{
				if ($pageencours==$sruburl)
					{
					$avant="<span class=\"txtcourant1\">";
					$apres="</span>";
					$ligne=$ligne." bgcolor=\"#ffffff\">";
					}
				else
					{
					$avant="<a href=\"$sruburl\" class=\"txtcourant1\" width=\"25%\">";
					$apres="</a>";
					$ligne=$ligne." onMouseOut=\"javascript:this.style.background=''\" onMouseOver=\"javascript:this.style.background='#FFFFFF'\">";
					}		

				if  ($maintienlien==1)		
					{
					$avant=$avant."<a href=\"$sruburl\" class=\"txtcourant1\" width=\"25%\">";;
					$apres=$apres."</a>";
					}
				$ligne=$ligne."$avant$srubnom$apres</td>\n";
				}
			}									
	echo $ligne;
		}
	}				
echo "</tr>\n";	
echo "</table>\n";
?>

[Php / Navigation]

URL DE LA PAGE EN COURS

Permet d'afficher l'adresse absolue de la page en cours
<?
// URL page en cours
$ndd=$_SERVER['SERVER_NAME'];
$chemin=$_SERVER['SCRIPT_NAME'];
echo $url="http://".$ndd.$chemin;
?>

[Php / Paramètres]

INFORMATIONS SUR PARAMèTRES SERVEUR PHP

Permet de connaitre les paramètres de configuration du serveur Apache, de PHP et de Mysql
<?php phpinfo() ?>

[Php / Paramètres]

PASSAGE DE PARAMETRES

Permet de passer des paramètres via un lien ou via un formulaire
// Paramètre par lien URL ou GET
if (!isset($_GET['mail']))
	{$mail="";}
else
	{$mail=$_GET['mail'];}
	
// Paramètre par POST
if (!isset($_POST['mail']))
	{$mail="";}
else
	{$mail=$_POST['mail'];}	

[Php / Répertoires et fichiers]

AFFICHER FICHIER EXCEL

Permet d'afficher un fichier Excel sous forme de tableau HTML après l'avoir lu
<?
$heigh=sizeof($ARRAY);            // compte le nombre de ligne
$width=sizeof($ARRAY[0]);         // nombre de colonne par ligne

echo "<TABLE>";                          // ouvre la tableau HTML
for($i=1;$i<$heigh;$i++)                 // les données du tableau
{
    echo "<TR>\n";                       // Nouvelle ligne
    for($j=0;$j<$width;$j++)           // affiche colonne par colonne
    {
     echo "<TD>";

     if( $ARRAY[$i][$j]=="" )         // si la case est vide
         echo "&nbsp;";               // n'affiche rien
     else                        // sinon 
     {
         echo "<center>";
         echo htmlspecialchars($ARRAY[$i][$j], ENT_QUOTES); // affiche les données
         echo "</center>";
     }
     echo "</TD>\n";               // ferme la colonne
    }
    echo "</TR>\n";                  // ferme la ligne
}

echo "</TABLE>\n";                     // tableau terminé                         // Fin tableau
?>

[Php / Répertoires et fichiers]

ALBUM D'IMAGES

Permet de créer un fichier contenant les images d'un répertoires avec les images triées par nom
// Récupération du répertoire en cours
$rep=$PHP_SELF;
$rep=str_replace("/valentin/bebe/photos/visuels/","",$rep);
$rep=str_replace("/file_readdir.php","",$rep);

// Récupération de la période
$tabdate = explode('-', $rep);

$valmois=$tabdate[1];
$mois["01"]="janvier"; $mois["02"]="février"; $mois["03"]="mars"; $mois["04"]="avril"; $mois["05"]="mai";
$mois["06"]="juin"; $mois["07"]="juillet"; $mois["08"]="août"; $mois["09"]="septembre"; $mois["10"]="octobre";
$mois["11"]="novembre"; $mois["12"]="décembre";

$jj_debut=substr($tabdate[2],0,2);
$jj_fin=substr($tabdate[2],2,2);
$mmmm=$mois[$valmois];
$aaaa=$tabdate[0];

$periode="$jj_debut au $jj_fin $mmmm $aaaa";

// Récupération des fichiers
$homedir="";
$tabfichiers="";
$tabext="";
$comptfichiers=0;
$dir=opendir($homedir);

while ($file = readdir($dir))
	{
	$fichier=substr($file,0,strlen($file)-4);
	$extension=substr($file,strlen($file)-3,strlen($file));
	
	if (($extension=="jpg") or ($extension=="gif"))
		{
		$tabfichiers[$comptfichiers]=$fichier;
		$tabext[$comptfichiers]=$extension;		
		$comptfichiers++;
		}
    }
    closedir($dir);

sort($tabfichiers);

$fichier = @fopen("photos.htm", "w");

for ($i=0;$i<count($tabfichiers);$i++)
{
fwrite($fichier, "<a href=\"$tabfichiers[$i].$tabext[$i]\" target=\"_blank\"> <img src=\"$tabfichiers[$i].$tabext[$i]\" title=\"$tabfichiers[$i]\" border=\"0\"></a><br>$tabfichiers[$i]<br><br>\n");
}

fclose($fichier);

[Php / Répertoires et fichiers]

D'UN FICHIER à L'AUTRE

Permet de récupérer les lignes d'un fichier et de les écrire dans un autre
<?
// Fichier à lire
$fdlire = @fopen("fichier.txt","r");
    
// Msg si lecture fichier impossible
if (!$fdlire) die("Impossible d'ouvrir le fichier");
    
// compteur des lignes du fichier
$i=1;
    
// Ouverture du fichier en écriture [option "w", ou "a" pour le mode ajout]
$fdecrire = @fopen("texte2.txt", "a");	
	
// si fopen retourne faux c'est que le fichier
// ne peut être ouvert en écriture
if (!$fdecrire) die("Impossible d'ouvrir le fichier");

// Boucle tant que pas eof
while (!feof($fdlire)) {
    
// Récupération de la ligne en cours
$ligne = fgets($fdlire, 1024);
        
// Ecriture de la ligne
fwrite($fdecrire, "$ligne");
		
// Affichage de la ligne
echo "$i : $ligne<br>";

$i++;
}
    
// Fermeture du fichier à lire
fclose($fdlire);

// Fermeture du fichier à écrire
fclose($fdecrire);
?>

[Php / Répertoires et fichiers]

ECRIRE UN FICHIER

Permet d'écrire dans un fichier
<?php
// Ouverture du fichier en écriture [option "w", ou "a" pour le mode ajout]
$fdecrire = @fopen("texte2.txt", "a");

// si fopen retourne faux c'est que le fichier
// ne peut être ouvert en écriture
if (!$fdecrire) die("Impossible d'ouvrir le fichier");

// Boucle de création de lignes
for ($i=0; $i<20; $i++)
{
// Ecriture dans le fichier
fwrite($fdecrire, "$i\n");
echo "$i<br>";
}

// Fermeture du fichier
fclose($fdecrire);
?>

[Php / Répertoires et fichiers]

INFOS CHEMIN ET NOM

Permet de connaître l'url, le répertoire, le fichier et l'extension du fichier en cours
// infos page en cours
$urlfichier = pathinfo($PHP_SELF);
$repencours=$urlfichier["dirname"];
$pageencours=$urlfichier["basename"];
$extentionencours=$urlfichier["extension"];

[Php / Répertoires et fichiers]

LIRE FICHIER EXCEL

Permet de lire un fichier Excel
<?
function read_csv( $filename, $separateur)      // transfert le fichier dans un tableau
{
 if ( $FILE=fopen($filename,"r") )               // ouverture du fichier
 {
  while ($ARRAY[]=fgetcsv($FILE,1024,$separateur));      // lire ligne par ligne et coupe colonne par colonne
  fclose($FILE) ;                              // ferme le fichier
  array_pop($ARRAY);                                    // efface la derniere ligne
  return $ARRAY ;                              // renvoie le tableau
 }
}
$ARRAY=read_csv("$dossier$nom_fichier",$separateur);      // lit le fichier
?>

[Php / Répertoires et fichiers]

LIRE UN FICHIER

Permet de lire le contenu d'un fichier
<?
// Fichier à lire
$fdlire = @fopen("fichier.txt","r");
    
// Msg si lecture fichier impossible
if (!$fdlire) die("Impossible d'ouvrir le fichier");
    
// compteur des lignes du fichier
$i=1;
    
// Boucle tant que pas eof
while (!feof($fdlire)) {
    
// Récupération de la ligne en cours
$ligne = fgets($fdlire, 1024);
        
// Affichage de la ligne
echo "$i : $ligne<br>";

$i++;
}
    
// Fermeture du fichier à lire
fclose($fdlire);
?>

[Php / Répertoires et fichiers]

URL EN COURS

Récupère dans la variable $pagenecours le nom de la page en cours
// url page en cours
$url=strrev($_SERVER['PHP_SELF']);
$posantislash=strpos($url, "/");
$posantislash=strlen($url)-$posantislash;
$url=strrev($url);
$pageencours=substr($url,$posantislash);

[Php / Sécurité]

CONNAITRE ADRESSE IP

Permet de connaître et d'afficher l'adresse IP d'un visiteur
<?=$_SERVER['REMOTE_ADDR'];?>

[Php / Tableaux]

AFFICHE LE TABLEAU AVEC SES CLES ET LES VALEURS ASSOCIEES

Permet d'afficher le contenu d'un tableau (clés et valeurs associées).
print_r($tab_num);

[Php / Tableaux]

RETOUR LIGNE APRèS 5 éLéMENTS

Permet de passer automatiquement à la ligne après 5 éléments
if ($reste=abs($i/5)-intval(abs($i/5))==0)
{echo "<br>";}

[Php / Tableaux]

TABLEAU DE MENU DYNAMIQUE

Menu de navigation dynamique
<?
// TABLEAU DE MENU DYNAMIQUE
// VERSION 2.0
// AUTEUR : BERTRAND MOUNIER
// INFO@LEMEILLEURSITE.COM

$cptrub=1;
$cptsrub=1;
$maxsrub=1;

// LARGEUR DU TABLEAU
$tabwidth="100%";

// TITRE GENERAL DU TABLEAU
$titretab="RADIOCOMMUNICATIONS HF VHF UHF";

// RUBRIQUES ET SOUS RUBRIQUES
$tabrub[$cptsrub][$cptrub]="INTRODUCTION";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Introduction;index.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Plan du site;plansite.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="ONDES";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Caractéristiques;ondes_cara.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Classification<br>et propriétés;ondes_class.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Modes<br>d'émission;ondes_modes.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="MATÉRIEL";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Émetteurs<br>Récepteurs;mat_rxtx.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Alimentation<br>et câbles;mat_alim_cables.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Antennes;mat_antennes.php";$cptsrub++;
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptsrub;}$cptsrub=1;

$tabrub[$cptsrub][$cptrub]="PROCÉDURE";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Établir une<br>communication;proc_etablir.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="évaluer une<br>communication;proc_evaluer.php";$cptsrub++;
	$tabrub[$cptsrub][$cptrub]="Épeler des mots<br>et des nombres;proc_epeler.php";$cptsrub++;	
	$cptrub++; if ($cptsrub>$maxsrub){$maxsrub=$cptrub;}$cptsrub=1;

	
// infos page en cours
$urlfichier = pathinfo($PHP_SELF);
$repencours=$urlfichier["dirname"];
$pageencours=$urlfichier["basename"];
$extentionencours=$urlfichier["extension"];

// Pages supplémentaires	
$cptpsup=0;
$maintienlien=0;

$tabpagessup[$cptpsup]="ant_beam.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_dipole.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_folded.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_fouet.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="ant_longfil.php;mat_antennes.php";$cptpsup++;
$tabpagessup[$cptpsup]="alphabet.php;proc_epeler.php";$cptpsup++;

for ($i=0;$i<$cptpsup;$i++)
	{
	$tabtmp = explode(';',$tabpagessup[$i]);
	
	if ($tabtmp[0]==$pageencours)	
		{
		$pageencours=$tabtmp[1];
		$maintienlien=1;
		}
	}



echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" bordercolor=\"#000000\" align=\"center\" width=\"$tabwidth\">\n";
echo "<tr><td colspan=\"$maxsrub\" align=\"center\" class=\"txtimportant1\">$titretab</td></tr>\n";

for ($i=1;$i<$cptrub;$i++)
	{
echo "<tr>\n";
	for ($j=1;$j<$maxsrub;$j++)
		{
		
		$srubnomurl = explode(';',$tabrub[$i][$j]);
	
		$srubnom=$srubnomurl[0];
		$sruburl=$srubnomurl[1];
 			
		$ligne="<td align=\"center\" ";

		if ($i==1)
			{
			$ligne=$ligne."class=\"txtimportant1\"> $srubnom</td>";
			}
		else
			{
			if ($srubnom=="")
				{
				$ligne=$ligne.">&nbsp;</td>";
				}
			else
				{
				if ($pageencours==$sruburl)
					{
					$avant="<span class=\"txtcourant1\">";
					$apres="</span>";
					$ligne=$ligne." bgcolor=\"#ffffff\">";
					}
				else
					{
					$avant="<a href=\"$sruburl\" class=\"txtcourant1\" width=\"25%\">";
					$apres="</a>";
					$ligne=$ligne." onMouseOut=\"javascript:this.style.background=''\" onMouseOver=\"javascript:this.style.background='#FFFFFF'\">";
					}		

				if  ($maintienlien==1)		
					{
					$avant=$avant."<a href=\"$sruburl\" class=\"txtcourant1\" width=\"25%\">";;
					$apres=$apres."</a>";
					}
				$ligne=$ligne."$avant$srubnom$apres</td>\n";
				}
			}									
	echo $ligne;
		}
	}				
echo "</tr>\n";	
echo "</table>\n";
?>

[Php / Tableaux]

TRIER UN TABLEAU

Permet de trier un tableau par ordre alphabétique
sort($tab_num);

[Php / Tableaux]

VALEUR MAXIMUM D'UN TABLEAU

Permet d'obtenir la valeur maximum d'un tableau
max($tab_num);

[Php / Textes et chaînes]

AFFICHAGE D'UN ELEMENT AU HASARD

Permet d'afficher un élément choisi au hasard parmi un résultat de recordset
$req_vehhome="select * from vehicule where home='Oui'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$tab[$i]=$rowsveh[veh_id];
	$i++;
	}

$alea=rand(1, $i-1);

$req_vehhome="select * from vehicule where veh_id='$tab[$alea]'";
$res_vehhome=mysql_query($req_vehhome);
$nb_vehhome=mysql_num_rows($res_vehhome);
$i=1;
while ($rowsveh=mysql_fetch_array($res_vehhome))
	{
	$veh_id=$rowsveh[veh_id];

[Php / Textes et chaînes]

CONVERTIR DATE POUR MYSQL

Permet de convertir une date au format jj/mm/aa ou jj/mm/aaaa au format MySql aaaa-mm-jj
$uni_dateachat=$_POST["uni_dateachat"];
$dateachat_jj=substr($uni_dateachat, 0, 2);
$dateachat_mm=substr($uni_dateachat, 3, 2);
$dateachat_aa=substr($uni_dateachat, 6);
$uni_dateachat=$dateachat_aa."-".$dateachat_mm."-".$dateachat_jj;

[Php / Textes et chaînes]

DECOUPER UNE CHAINE DE CARACTERES

Permet de découper une chaîne ou un tableau en fonction d'un séparateur ("1,2,3" donnera "1","2","3"). Très pratique pour découper des dates ou une liste d'une page précédente
$champs=$_POST["champs"];

$champ=split("[ -/+\\*\'\"]",$champs);

$longtab = count ($champ);
	   
$rangchamp=0;

while ($rangchamp<$longtab)
	{
    $reqchamp.="$champ[$rangchamp],";
    $rangchamp++;
    }

[Php / Textes et chaînes]

ENLEVER LES ACCENTS

Permet d'enlever tous les accents d'une chaîne de caractères
Function enleveaccents($chaine){ 
   $chaine = strtr($chaine,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",  "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); 
   return $chaine; 
   }

[Php / Textes et chaînes]

FONCTIONS SWITCH

Fonction permettant de définir des actions en fonction de la valeur d'une variable
<?
switch ($i) {
    case 0:
        print "i &eacute;gale 0";
        break;
    case 1:
        print "i &eacute;gale 1";
        break;
    case 2:
        print "i &eacute;gale 2";
        break;
}
?>

[Php / Textes et chaînes]

INSéRER DES \ DEVANT LES '

Permet d'insérer des antislashes devant les apostrophes avant insertion dans une base de données
$variable=addslashes($rows[variable]);

[Php / Textes et chaînes]

REMPLACER CARACTèRES ACCENTUéS ET AFFICHER LES PLUS LONGS

Permet de remplacer des caractères accentués et d'afficher seulement les caractères les plus longs
//Remplacement caractères
$page_texte=strtr($page_texte, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
$page_texte = eregi_replace("[^a-z0-9]", ",", $page_texte);;

$page_texte = explode (",", $page_texte);

$boucle=0;
while ($boucle < sizeof($page_texte)) {

if(strlen($page_texte[$boucle])>=3) // Que ceux + long de 3
	{echo $page_texte[$boucle]." ";}
$boucle++;
}

[Php / Textes et chaînes]

REMPLACER LES CARACTèRES ACCENTUéES

Permet de supprimer tous les caractères accentués et de les remplacer par leurs équivalents non accentués.
$dest=strtr($origine, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn")

[Php / Textes et chaînes]

REMPLACER TOUS LES CARACTèRES NON ALPHABéTIQUES

Permet de remplacer tous les caractères d'une chaîne qui ne sont pas alphabétiques.
$chaine = "Ceci # est # un test";
$chaine = eregi_replace("[^A-Z0-9]", "_", $chaine);
print $chaine;

[Php / Textes et chaînes]

REMPLACER UNE CHAîNE DANS UNE CHAîNE

Permet de remplacer un ou plusieurs caractères dans une autre chaîne de caractères
$newchaine = eregi_replace("a remplacer", "par", $exchaine);

[Php / Textes et chaînes]

RETOUR LIGNE APRèS 5 éLéMENTS

Permet de passer automatiquement à la ligne après 5 éléments
if ($reste=abs($i/5)-intval(abs($i/5))==0)
{echo "<br>";}

[Php / Textes et chaînes]

SUPPRIMER LES \ DEVANT LES '

Permet de supprimer les antislashes devant les apostrophes
$variable=stripslashes($rows[variable]);

[Php / Textes et chaînes]

SURLIGNER DES MOTS CLES

Permet de surligner des mots clés comme dans les pages en cache de Google.
(chaine est le nom du champ des mots clés)
while ($rows_quest=mysql_fetch_array($res_quest))
{
$quest_id=$rows_quest[quest_id];
	$quest_question=stripslashes($rows_quest[quest_question]);
	$quest_reponse=stripslashes($rows_quest[quest_reponse]);
		
if (strlen ($chaine)>0)
{ 
// MISE EN VALEUR DES MOTS CLES
$chaine=$_POST["chaine"];
$mot=split("[ -/+\\*\'\"]",$chaine);
$longtab = count ($mot);
$rangmot=0;

while ($rangmot<$longtab)
{
$mot_mod=$mot[$rangmot];
			$quest_question=ereg_replace("$mot_mod", "<span class='surlignage1'>$mot_mod</span>",$quest_question);
					
$mot_mod=strtoupper($mot[$rangmot]);
$quest_question=ereg_replace("$mot_mod", "<span class='surlignage1'>$mot_mod</span>",$quest_question);
					
$mot_mod=strtolower($mot[$rangmot]);
$quest_question=ereg_replace("$mot_mod", "<span class='surlignage1'>$mot_mod</span>",$quest_question);
					
$mot_mod=ucfirst($mot[$rangmot]);
$quest_question=ereg_replace("$mot_mod", "<span class='surlignage1'>$mot_mod</span>",$quest_question);
					
$rangmot++;
}
}

[Sql / Bases de données]

INSERTION DANS UNE TABLE

Permet d'insérer des valeurs dans une table
Insert into MSG (msg_nom,msg_email,msg_objet,msg_message)
values
('$msg_nom','$msg_email','$msg_objet','$msg_message')

[Sql / Bases de données]

ITEMS DE PLUS D'UNE HEURE

Permet d'extraire les commandes de plus d'une heure d'une base de données enregistrant des commandes
<cfquery name="PANIER" datasource="#bdd_fr#" dbtype="ODBC">
select *
from CARTE_CARTE
where carte_validite LIKE 'caddie'
and carte_valdate < #CreateODBCdateTime(Now() - (1/24))#
</cfquery>

[Sql / Bases de données]

LECTURE D'UNE TABLE

Requête de lecture d'une table
select *
from TABLE
order by champ

[Sql / Bases de données]

NOMBRE DE RéSULTATS D'UNE REQUêTE

Permet de connaître le nombre de lignes d'un recordset
<cfif #Voir.Recordcount# is 0></cfif>

[Sql / Bases de données]

SUPPRIMER DANS UNE TABLE

Permet de supprimer des enregistrements d'une table
delete from SITE
where site_id=3

[Sql / Date et heure]

ITEMS DE PLUS D'UNE HEURE

Permet d'extraire les commandes de plus d'une heure d'une base de données enregistrant des commandes
<cfquery name="PANIER" datasource="#bdd_fr#" dbtype="ODBC">
select *
from CARTE_CARTE
where carte_validite LIKE 'caddie'
and carte_valdate < #CreateODBCdateTime(Now() - (1/24))#
</cfquery>

[Vb / Bases de données]

VB6 ET ACCESS 2000

Vb 5 ou 6 peux fonctionner avec access 2000 sans souci
Il suffit juste de rajouter manuellement les références : Microsoft DAO 3.6 Object Library (a la place du 3.51) et Microsoft Access 9.0 Object Library

[Vba / Formulaires]

AJOUTER UNE LIGNE DEPUIS UN FORMULAIRE

Permet à l'aide d'un formulaire sous Excel de remplir une ligne à la suite de la dernière insérée
Private Sub CommandButton1_Click()

Dim dvd As Worksheet
Dim sup_dvd As Boolean
Dim sup_divx As Boolean

Sheets("Dvd").Activate
L1 = Sheets("Dvd").Range("A40").End(xlUp).Row + 1
Cells(L1, 1).Value = film_titre

Cells(L1, 2).Value = film_genre
Cells(L1, 3).Value = film_resume

If sup_dvd = True Then
    Cells(L1, 4).Value = "Dvd"
Else
    Cells(L1, 4).Value = "Div-X"
End If

ActiveCell.AutoFormat Format:=xlRangeAutoFormatClassic3, Number:=False, Font _
:=False, Alignment:=False, Border:=True, Pattern:=False, Width:=False

End Sub
Haut de page