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 ;
}
?> |
- $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>
<!-- Valeur vide pour forcer l'utilisateur à sélectionner -->
<?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>
<!-- Valeur vide pour forcer l'utilisateur à sélectionner -->
<?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> |
|
|