Gestionnaire d'eleves ou carnet d'adresse avec export xls

Description

bonjour

Un script qui peut servir à gérer l'inscription d'éléves ...
mais qui peut devenir un carnet d'adresse ...
Je met ce script aprés avoir dépanner sur le forum un internaute
j'ai réecrit pratiquement tout donc je l'offre à tous
Une pagination et une sécurisation basique sont disponibles
c'est une base de travail
merci

a++

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>              
  <head>                      
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">                      
    <meta name="generator" content="PSPad editor, www.pspad.com">                      
    <title>                   
    </title>              
  </head>   
  <style type="text/css">  
    <!--
     
    #pagina{
    	background-color: white;
      padding-top:5px;
    	font-family:Arial, Helvetica, sans-serif;
    	font-size:12px;
    	font-weight:normal;
    }
    --> 
  </style>          
  <body bgcolor="#ffddbb">
<?php 
function pagination(){
include('config/connection.php');
$par_page=5;
if(isset($_GET['debut'])){ 
$debut=(int)$_GET['debut'];
}else{
$debut=0;/*page 1 par defaut*/
}

$q="SELECT * from ".$dbtable."";
$comptage_lignes_table=mysql_num_rows(mysql_query($q));
$mas_pages= ceil($comptage_lignes_table/$par_page);
$prev=$debut-$par_page;
$next=$debut+$par_page;

$q2 = "select * from ".$dbtable." limit $debut,$par_page";
$get = mysql_query($q2);
while($rows = mysql_fetch_assoc($get)){
$r[]=$rows;
}
mysql_close();

/*creation navbar*/
$navbar ="";
if(!($debut<=0)){
$navbar .= '<a href="?debut='.$prev.'"><< DEBUT </a>';
}

$i=1;
for($x=0;$x<$comptage_lignes_table;$x=$x+5){
  if($debut!=$x){
  $navbar .= '<a href="?debut='.$x.'"> '.$i.' </a>';
  }else{
  $navbar .= '<a href="?debut='.$x.'"> <b>['.$i.'] </b></a>';
  }
$i++;
}

if($debut <= $comptage_lignes_table-$par_page){
$navbar .= '<a href="?debut='.$next.'"> FIN >></a>';
}

return $dat=array(0=>$navbar,1=>$r);
}

/*utilisation de la fonction pagination*/
$res = pagination();
echo '<div align="center" id="pagina">'.$res[0].'</div>'; /*menu navigation*/
//echo '<pre>';
//print_r($res[1]);
/*les enregistrements*/
echo '<div align="center">';
echo '<table border="1">';
echo '<tr><td>Prenon</td><td>Nom</td><td>Classe</td><td>Date de naissance</td><td>Telephone</td><td>Portable</td><td>Adresse</td><td>Action</td></tr>';
foreach($res[1] as $d[1] => $data){
$date=explode('-',$data['Date_naissance']);
$date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
echo '<tr><td>'.$data['Prenom'].'</td><td>'.$data['Nom'].'</td><td>'.$data['Classe'].
'</td><td>'.$date.'</td><td>'.$data['Telephone'].'</td><td>'.$data['Portable'].'</td><td>'.$data['Adresse'].
'</td><td><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>';
}
echo '</table>';
echo '</div><hr>';
/*fin pagination*/

echo '<hr>';

include('config/connection.php'); 

/*listage des eleves sans pagination cette partie est laissée pour exemple*/
$sql = 'SELECT * FROM '.$dbtable.''; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

echo '<div align="center">';

  echo '<table border="1">';

  echo '<tr><td>Prenon</td><td>Nom</td><td>Classe</td><td>Date de naissance</td><td>Telephone</td><td>Portable</td><td>Adresse</td><td>Action</td></tr>';

  while($data = mysql_fetch_assoc($req)){ 
    
  $date=explode('-',$data['Date_naissance']);
  $date=$data['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];
      
  echo '<tr><td>'.$data['Prenom'].'</td><td>'.$data['Nom'].'</td><td>'.$data['Classe'].
  '</td><td>'.$date.'</td><td>'.$data['Telephone'].'</td><td>'.$data['Portable'].'</td><td>'.$data['Adresse'].
  '</td><td><a href="?modifier='.$data['id'].'">Modifier</a> -- <a href="?supprimer='.$data['id'].'">Supprimer</a></td></tr>'; 
  } 

  echo '</table>';

echo '</div><hr>';
/*fin listage*/

/*actions*/
if(isset($_GET['supprimer']) && !empty($_GET['supprimer'])){
$id_suppr = (int)$_GET['supprimer'];
$_GET['supprimer']=null;
$sql="delete from ".$dbtable." where id='".$id_suppr."' limit 1";
mysql_query($sql) or die('DEMANDE SUPPRESSION ?');
unset($_GET);
header('Location: index.php');exit;
}

if(isset($_GET['modifier']) && !empty($_GET['modifier'])){
$id_modi = (int)$_GET['modifier'];
$_GET['modifier']=null;

$sql="select * from ".$dbtable." where id='".$id_modi."' limit 1";
$query=mysql_query($sql) or die('DEMANDE SELECTION ?');
$ligne=mysql_fetch_array($query);

$date=explode('-',$ligne['Date_naissance']);
$date=$ligne['Date_naissance']=$date[2].'-'.$date[1].'-'.$date[0];

?>
<div align="center">           
  <form method="POST" action="">                           
    <input type="hidden" name="id" value="<?php echo $ligne['id'];?>" />                 
    <table>                      
      <tr><td>Prenom</td><td>              
          <input type="text" name="Prenom" size="20" value="<?php echo $ligne['Prenom'];?>" maxlength="20"></td>          
      </tr>                      
      <tr><td>Nom</td><td>              
          <input type="text" name="Nom" size="20" value="<?php echo $ligne['Nom'];?>" maxlength="35"></td>          
      </tr>                     
      <tr><td>Classe</td><td>              
          <input type="text" name="Classe" size="20" value="<?php echo $ligne['Classe'];?>" maxlength="4"></td>          
      </tr>                      
      <tr><td>Telephone</td><td>              
          <input type="text" name="Telephone" size="20" value="<?php echo $ligne['Telephone'];?>" maxlength="10"></td>          
      </tr>                     
      <tr><td>Portable</td><td>              
          <input type="text" name="Portable" size="20" value="<?php echo $ligne['Portable'];?>" maxlength="10"></td>          
      </tr>                      
      <tr><td>Adresse</td><td>              
          <input type="text" name="Adresse" size="20" value="<?php echo $ligne['Adresse'];?>" maxlength="255"></td>          
      </tr>                      
      <tr><td>Date_naissance</td><td>              
          <input type="text" name="Date_naissance" size="20" value="<?php echo $ligne['Date_naissance'];?>" maxlength="15"></td>          
      </tr>                
    </table>                          
    <input type="submit" value="Modification" name="Modifier"><br />                      
  </form>           
</div>  

<?php
echo '<center><a href="?">Lister les éléves</a></center>';
}

if(isset($_POST['Modifier']) && $_POST['Modifier']==="Modification" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/
     
     foreach($_POST as $k => $v){
     $v=htmlentities($v);
     $v=mysql_real_escape_string($v);
     $_POST[$k]=$v;
     }
         
     extract($_POST);  
                
     // je vérifie si les champs sont vides 
      
     if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance)){ 
     echo '<center><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>'; 
     echo '<br /><font color="red">Attention, seul le champs <b>Portable</b> peut rester vide !</font>'; 
     echo '<br /><a href="javascript:history.back();">Retour</a></center>';
     }else{
     $date_naiss = explode('-',$Date_naissance);    
     $Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];
     
     $sql =" UPDATE ".$dbtable." SET
      
     `Nom`= '$Nom' ,
     `Prenom`= '$Prenom' ,
     `Classe`= '$Classe',
     `Telephone`= '$Telephone',
     `Portable`= '$Portable',
     `Adresse`= '$Adresse' ,
     `Date_naissance`= '$Date_naissance'
      WHERE id='".$id."' ";
  
      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
      unset($_POST);
      header('Location: index.php');exit;
      } 
}

else if(isset($_POST['envoyer']) && $_POST['envoyer']==="Envoyer" && $_SERVER['REQUEST_METHOD']==='POST'){
/*LE FORMULAIRE EST POSTE*/

     foreach($_POST as $k => $v){
     $v=htmlentities($v);
     $v=mysql_real_escape_string($v);
     $_POST[$k]=$v;
     }
          
     extract($_POST);
     // je vérifie si les champs sont vides 
      
     if(empty($Prenom) OR empty($Nom) OR empty($Classe) OR empty($Adresse) OR empty($Date_naissance)){ 
     echo '<center><font color="red">Attention, seul le champs <b>Telephone</b> peut rester vide !</font>'; 
     echo '<br /><font color="red">Attention, seul le champs <b>Portable</b> peut rester vide !</font>'; 
     echo '<br /><a href="javascript:history.back();">Retour</a></center>';
     }else{ 
     $date_naiss = explode('-',$Date_naissance);    
     $Date_naissance = $date_naiss[2].'-'.$date_naiss[1].'-'.$date_naiss[0];
     $sql =" INSERT INTO ".$dbtable." (
     `id` ,
     `Nom` ,
     `Prenom` ,
     `Classe` ,
     `Telephone` ,
     `Portable` ,
     `Adresse` ,
     `Date_naissance` 
     )VALUES (NULL , '$Prenom', '$Nom', '$Classe', '$Telephone', '$Portable', '$Adresse', '$Date_naissance')";
           
     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     unset($_POST);
     header('Location: index.php');exit;
     } 
     
} else { ?>
    
    
<div align="center">              
  <form method="POST" action="">                       
    <table>                             
      <tr><td>Prenom</td><td>                         
          <input type="text" name="Prenom" size="20" value="" maxlength="20"></td>                 
      </tr>                             
      <tr><td>Nom</td><td>                         
          <input type="text" name="Nom" size="20" value="" maxlength="35"></td>                 
      </tr>                            
      <tr><td>Classe</td><td>                         
          <input type="text" name="Classe" size="20" value="" maxlength="4"></td>                 
      </tr>                             
      <tr><td>Telephone</td><td>                         
          <input type="text" name="Telephone" size="20" value="" maxlength="10"></td>                 
      </tr>                            
      <tr><td>Portable</td><td>                         
          <input type="text" name="Portable" size="20" value="" maxlength="10"></td>                 
      </tr>                             
      <tr><td>Adresse</td><td>                         
          <input type="text" name="Adresse" size="20" value="" maxlength="255"></td>                 
      </tr>                             
      <tr><td>Date_naissance</td><td>                         
          <input type="text" name="Date_naissance" size="20" value="" maxlength="15"></td>                 
      </tr>                     
    </table>                               
    <input type="submit" value="Envoyer" name="envoyer"><br />                         
  </form>            
 
 
  <form method="POST" action="config/export.php">
    (admin1234) à changer dans export.php <br /><input type="text" name="xls" maxlength="15">
    <input type="submit" value="EXPORT EXCEL" name="EXCEL"><br />    
  </form>
</div>  
  
<?php
mysql_close();
} 
?> 
</body>
</html>

Conclusion :


configurer
config/connection.php
et le mot de passe dans export.php
admin1234 par défaut

à améliorer
Les critiques sont les bienvenues
a++

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.