Auteur : iubito
| Version : 11/01/2006 | | |
| |
Les variables utilisées :
$ UPLOAD_maxFileSize = 500;
$ UPLOAD_nbFiles = 1;
$ UPLOAD_forbiddenFiles = ' php|php3|php4... ' ;
$ UPLOAD_acceptedFiles = ' ' ;
|
Le formulaire :
$ cfgUlMaxFileSize = strtoupper(ini_get(" upload_max_filesize " ));
if (substr_count($ cfgUlMaxFileSize , ' K ' ))
$ cfgUlMaxFileSize = str_replace(' K ' , ' ' , $ cfgUlMaxFileSize ) * 1024;
elseif (substr_count($ cfgUlMaxFileSize , ' M ' ))
$ cfgUlMaxFileSize = str_replace(' M ' , ' ' , $ cfgUlMaxFileSize ) * 1024 * 1024;
$ uploadSize = min($ cfgUlMaxFileSize , $ UPLOAD_maxFileSize * 1024);
echo ' <form name="upload" enctype="multipart/form-data" action="upload.php" method="post"> '
. ' <input type="hidden" name="MAX_FILE_SIZE" value=" ' . $ uploadSize . ' "> ' ;
for ($ i = 0; $ i < $ UPLOAD_nbFiles ; $ i + + )
echo ' <input name="fichiers[]" type="file" /><br /> ' ;
echo ' <br /><input type="submit" value="Envoyer la purée !" /><br /> ' ;
echo ' <br />Extensions ' . ($ UPLOAD_acceptedFiles = = ' ' ? ' refusées ' : ' acceptées ' );
echo str_replace(' | ' , ' .* ' ,
($ UPLOAD_acceptedFiles = = ' ' ? $ UPLOAD_forbiddenFiles : $ UPLOAD_acceptedFiles ));
echo ' <br />Taille maxi : ' . $ uploadSize ;
echo ' </form> ' ;
|
La validation (Les fichiers seront déposés dans le dossier nommé "repertoire" au même niveau que ce script PHP) :
function extension($ wfichier )
{
return strtolower(substr($ wfichier ,
strrpos($ wfichier , ' . ' ) + 1,
strlen($ wfichier ) - strrpos($ wfichier , ' . ' ) - 1));
}
for ($ i = 0; $ i < $ UPLOAD_nbFiles ; $ i + + )
{
$ strUpload = ' ' ;
$ file = ' ' ;
if (isset($ _FILES [ ' fichiers ' ] [ ' name ' ] [ $ i ] ))
$ file = trim(stripslashes($ _FILES [ ' fichiers ' ] [ ' name ' ] [ $ i ] ));
if ($ file = = ' ' )
continue ;
if ($ _FILES [ ' fichiers ' ] [ ' size ' ] [ $ i ] > $ _POST [ ' MAX_FILE_SIZE ' ] )
{
$ strUpload . = $ file . ' : Trop gros !<br /> ' ;
continue ;
}
if (
(($ UPLOAD_acceptedFiles = = ' ' ) & & (substr_count($ UPLOAD_acceptedFiles , extension($ _FILES [ ' fichiers ' ] [ ' name ' ] [ $ i ] )) > 0))
| | (($ UPLOAD_acceptedFiles ! = ' ' ) & & (substr_count($ UPLOAD_acceptedFiles , extension($ _FILES [ ' fichiers ' ] [ ' name ' ] [ $ i ] )) = = 0))
)
{
$ strUpload . = $ file . ' : Format non valide<br /> ' ;
continue ;
}
if (is_file(' repertoire/ ' . $ file ))
{
$ strUpload . = $ file . ' : Existe déjà !<br /> ' ;
continue ;
}
if (@ copy($ _FILES [ ' fichiers ' ] [ ' tmp_name ' ] [ $ i ] , ' repertoire/ ' . $ file ))
{
if (in_array(extension($ file ), array (' gif ' , ' jpg ' , ' png ' , ' swf ' , ' swc ' ,
' psd ' , ' tiff ' , ' bmp ' , ' iff ' , ' jp2 ' ,
' jpx ' , ' jb2 ' , ' jpc ' , ' xbm ' , ' wbmp ' )))
{
$ checksize = @ getimagesize(' repertoire/ ' . $ file );
if (! $ checksize )
{
$ strUpload . = $ file . ' : Image incorrecte !<br /> ' ;
@ unlink($ curr . ' / ' . $ file );
continue ;
}
}
$ strUpload . = $ file . ' : OK<br /> ' ;
}
else
$ strUpload . = $ file . ' : Erreur inconnue<br /> ' ;
if (is_file($ _FILES [ ' fichiers ' ] [ ' tmp_name ' ] [ $ i ] ))
@ unlink($ _FILES [ ' fichiers ' ] [ ' tmp_name ' ] [ $ i ] );
echo $ strUpload . ' <br /> ' ;
}
|
|
Auteur : genova
| Version : 16/01/2006 | | |
| | $ globals = array (' GET ' , ' POST ' , ' COOKIE ' );
if ( ! get_magic_quotes_gpc() )
{
for ( $ i = 0; $ i < 3; $ i + + )
{
while ( list ($ cle , $ valeur ) = each($ { ' HTTP_ ' . $ globals [ $ i ] . ' _VARS ' } ) )
{
unset($ $ cle );
if ( is_array($ valeur ) )
{
while ( list ($ cle_bis , $ valeur_bis ) = each($ valeur ) )
{
$ { ' HTTP_ ' . $ globals [ $ i ] . ' _VARS ' } [ $ cle ] [ $ cle_bis ] = addslashes($ valeur_bis );
}
}
else
{
$ { ' HTTP_ ' . $ globals [ $ i ] . ' _VARS ' } [ $ cle ] = addslashes($ valeur );
}
}
}
}
|
|
Auteur : Sub0
| Version : 16/01/2006 | | |
| | <?php
$ liste = Array (' Lundi ' , ' Mardi ' , ' Mercredi ' , ' Jeudi ' , ' Vendredi ' , ' Samedi ' , ' Dimanche ' );
$ cnt = count($ liste );
$ select = @ $ _POST [ ' select ' ] ;
$ ret = ' ' ;
if (isset($ _POST [ ' valider ' ] )){
for ($ x = 0 ; $ x < $ cnt ; $ x + + )
if (isset($ select [ $ x ] ))
$ ret . = $ liste [ $ x ] . ' <br/> ' ;
}
$ ret . = ' <br/><form method="post"> ' ;
for ($ x = 0 ; $ x < $ cnt ; $ x + + ){
$ ret . = ' <input type="checkbox" name="select[ ' . $ x . ' ]" ' ;
if (isset($ select [ $ x ] )) $ ret . = ' checked ' ;
$ ret . = ' /> ' . $ liste [ $ x ] . ' <br/> ' ;
}
$ ret . = ' <br/> ' .
' <input type="submit" name="valider" value=" ENVOYER "/> ' .
' </form> ' ;
echo $ ret ;
?>
|
|
Auteur : Moloc'h
| Version : 16/01/2006 | | |
| | <?
function listbox ( $ name , $ array_value = array () , $ array_selected , $ multiple = 0 , $ size = 1 )
{
$ select = ' <select ' . ( ( $ multiple = = 1 ) ? ' multiple name=" ' . $ name . ' []" ' : ' name=" ' . $ name . ' " ' ) .
' size=" ' . $ size . ' "> ' . " n " ;
foreach ( $ array_value as $ key = > $ value )
{
$ select . = ' <option value=" ' . $ key . ' " ' .
( ( $ multiple = = 1 ) ? ( in_array ( $ key , $ array_selected ) ? ' selected="selected" ' : ' ' ) :
( $ key = = $ array_selected ? ' selected="selected" ' : ' ' ) ) .
' > ' . $ value . ' </option> ' . " n " ;
}
$ select . = ' </select> ' ;
return $ select ;
}
?>
|
Cette fonction accepte cinq arguments :
- $name : Le nom du l'élément select.
- $array_value : Le tableau des valeurs de l'élément select.
- $array_selected : Le tableau des valeurs sélectionnées.
- $multiple : Valeur bolléenne indiquant si l'élément select est multiple ou simple.
- $size : Taille du menu.
Mise en oeuvre :
Prenons l'exemple d'un menu déroulant des régions françaises :
Cas où les valeurs sont issues d'un tableau PHP : | <?
$ region = array (
1 = > ' Alsace ' ,
2 = > ' Aquitaine ' ,
3 = > ' Auvergne ' ,
4 = > ' Basse-Normandie ' ,
5 = > ' Bourgogne ' ,
6 = > ' Bretagne ' ,
7 = > ' Centre ' ,
8 = > ' Champagne-Ardenne ' ,
9 = > ' Corse ' ,
10 = > ' Dom-Tom ' ,
11 = > ' Franche-Comté ' ,
12 = > ' Haute-Normandie ' ,
13 = > ' Ile de France ' ,
14 = > ' Languedoc-Roussillon ' ,
15 = > ' Limousin ' ,
16 = > ' Lorraine ' ,
17 = > ' Midi-Pyrénées ' ,
18 = > ' Nord-Pas-de-Calais ' ,
19 = > ' Pays de la Loire ' ,
20 = > ' Picardie ' ,
21 = > ' Poitou-Charentes ' ,
22 = > ' PACA ' ,
23 = > ' Rhône-Alpes '
) ;
?>
|
Dans la page HTML il suffit de faire :
Pour une liste simple | <?
echo listbox ( ' region ' , $ region ) ;
?>
|
Pour une liste simple avec une valeur pré-sélectionnée | <?
echo listbox ( ' region ' , $ region , 4 ) ;
?>
|
Pour une liste simple avec une valeur pré-sélectionnée et conservation d'une valeur après envoit | <?
echo listbox ( ' region ' , $ region , ( isset ( $ _POST [ ' region ' ] ) ? $ _POST [ ' region ' ] : 4 ) ) ;
?>
|
Pour une liste multiple | <?
echo listbox ( ' region ' , $ region , array () , 1 , 6 ) ;
?>
|
Pour une liste multiple avec des valeurs pré-sélectionnées | <?
echo listbox ( ' region ' , $ region , array ( 4 , 5 , 6 , 7 ) , 1 , 6 ) ;
?>
|
Pour une liste multiple avec des valeurs pré-sélectionnées et conservation des valeurs après envoit | <?
echo listbox ( ' region ' , $ region ,
( isset ( $ _POST [ ' region ' ] ) ? $ _POST [ ' region ' ] : array ( 4 , 5 , 6 , 7 ) ) , 1 , 6 ) ;
?>
|
Cas où les valeurs sont issues de la base : | CREATE TABLE region (
id TINYINT ( 4 ) NOT NULL AUTO_INCREMENT ,
name TEXT ,
PRIMARY KEY ( id )
);
INSERT INTO region (name ) VALUES ( ' Alsace ' );
INSERT INTO region (name ) VALUES ( ' Aquitaine ' );
INSERT INTO region (name ) VALUES ( ' Auvergne ' );
INSERT INTO region (name ) VALUES ( ' Basse-Normandie ' );
INSERT INTO region (name ) VALUES ( ' Bourgogne ' );
INSERT INTO region (name ) VALUES ( ' Bretagne ' );
INSERT INTO region (name ) VALUES ( ' Centre ' );
INSERT INTO region (name ) VALUES ( ' Champagne-Ardenne ' );
INSERT INTO region (name ) VALUES ( ' Corse ' );
INSERT INTO region (name ) VALUES ( ' Dom-Tom ' );
INSERT INTO region (name ) VALUES ( ' Franche-Comté ' );
INSERT INTO region (name ) VALUES ( ' Haute-Normandie ' );
INSERT INTO region (name ) VALUES ( ' Ile de France ' );
INSERT INTO region (name ) VALUES ( ' Languedoc-Roussillon ' );
INSERT INTO region (name ) VALUES ( ' Limousin ' );
INSERT INTO region (name ) VALUES ( ' Lorraine ' );
INSERT INTO region (name ) VALUES ( ' Midi-Pyrénées ' );
INSERT INTO region (name ) VALUES ( ' Nord-Pas-de-Calais ' );
INSERT INTO region (name ) VALUES ( ' Pays de la Loire ' );
INSERT INTO region (name ) VALUES ( ' Picardie ' );
INSERT INTO region (name ) VALUES ( ' Poitou-Charentes ' );
INSERT INTO region (name ) VALUES ( ' PACA ' );
INSERT INTO region (name ) VALUES ( ' Rhône-Alpes ' );
|
Puis :
<?
$ sql = " SELECT name FROM region " ;
$ result = mysql_query ( $ sql ) ;
$ region = array () ;
while ( $ row = mysql_fetch_assoc ( $ result ) )
{
$ region [ ] = $ row [ ' name ' ] ;
}
?>
|
Ensuite, c'est pareil ...
|
| |
Il faut juste rajouter la connection à la base.
< html >
< head >
< title > Document sans titre< / title >
< meta http - equiv = " Content - Type " content = " text / html ; charset = iso - 8859 - 1 " >
<script language = javascript >
function modifcombo( ) {
document . location . replace( " essai3 . php ? lieux = " + document . form1 . selectlieu . value ) ;
document . form1 . selectlieu . value = $ lieux ;
}
</script> ;
< / head >
< body >
<?php
if (isset($ _GET [ ' lieux ' ] )){
$ lieux = $ _GET [ ' lieux ' ] ;
} else {
$ lieux = NULL ;
}
print " > > > > " . $ lieux . " < < < < br > < br > < br > " ;
?>
< p > Essai formulaire< / p >
< form name = " form1 " method = " post " action = " " >
< table width = " 100 % " border = " 1 " >
< tr >
< td > < div align = " right " > lieu :< / div > < / td >
< td > < select name = " selectlieu " class = " txt16 - 000000 " onChange = " javascript : modifcombo ( ) " >
< option value = " " > < / option >
<?php
include(" . . / connectbase . inc " ) ;
$ ma_req = " SELECT * FROM lieu ; " ;
$ res_req = mysql_query($ ma_req )
or die(" Selection table \ " lieu\ " impossible " );
if (mysql_num_rows($ res_req )! = 0 ) {
while ($ une_ligne = mysql_fetch_array($ res_req )) {
$ id_lieu = $ une_ligne [ " id_lieu " ] ;
$ nom_lieu = $ une_ligne [ " nom_lieu " ] ;
print " < option value = " . $ id_lieu ;
if ($ id_lieu = = $ lieux ) {
print " selected " ;
}
print " > " . $ nom_lieu . " < / option > " ;
}
}
?>
< / select >
< / td >
< / tr >
< tr >
< td > < div align = " right " > salle : < / div > < / td >
< td > < select name = " selectsalle " class = " txt16 - 000000 " >
< option value = " " > < / option >
<?php
include(" . . / connectbase . inc " ) ;
$ ma_req = " SELECT * FROM salle WHERE id_lieu = ' $ lieux ' ; " ;
$ res_req = mysql_query($ ma_req )
or die(" Selection table \ " salle\ " impossible " );
if (mysql_num_rows($ res_req )! = 0 ) {
while ($ une_ligne = mysql_fetch_array($ res_req )) {
$ id_salle = $ une_ligne [ " id_salle " ] ;
$ nom_salle = $ une_ligne [ " nom_salle " ] ;
print " < option value = " . " id_salle . " > " . " nom_salle . " < / option > " ;
}
}
?>
< / select > < / td >
< / tr >
< / table >
< / form >
< / body >
< / html >
|
|
Consultez les autres pages sources
|
|