begin process at 2012 05 27 21:43:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > GESTIONNAIRE D'ELEVES OU CARNET D'ADRESSE AVEC EXPORT XLS

GESTIONNAIRE D'ELEVES OU CARNET D'ADRESSE AVEC EXPORT XLS


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :gestionnaire, eleves, carnet, adresse, excel Niveau :Débutant Date de création :03/04/2011 Date de mise à jour :14/04/2011 10:15:01 Vu / téléchargé :4 394 / 701

Auteur : cod57

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • <!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>
<!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++

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

13 avril 2011 22:01:11 :
ajout d'une pagination securisation basique
14 avril 2011 10:15:01 :
ajout d'explications

 Sources du même auteur

Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX
Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ...
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ...
Source avec Zip Source avec une capture PAGINATION JAVASCRIPT PHP MYSQL
Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES

 Sources de la même categorie

Source avec une capture PHPREPOGENERATOR + REPO (WIN) par alvinp
Source avec Zip IPHONE - ICÔNE D'APPEL TÉLÉPHONIQUE SUR L'ÉCRAN D'ACCUEIL par Rainbow
Source avec Zip Source avec une capture [APP WEB]SERVEUREXPLOREUR par thematrix01
Source avec Zip Source avec une capture MY.BOOKMARKS par inwebo
Source avec Zip M.V.C M.E.D par faceme

 Sources en rapport avec celle ci

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES par cod57
Source avec Zip Source avec une capture GESTIONNAIRE DE COMPTE BANCAIRE par Ayiana
Source avec Zip Source avec une capture GESTIONNAIRE DE FICHIERS | MYSQL PHP 5.X {NEMENTON PHP MANA... par Nementon
Source avec Zip CARNET D'ADRESSE par adidash

Commentaires et avis

Commentaire de portfolio le 03/04/2011 17:13:33

Bonjour
J'ai envie de passer du php4 au 5:
un beau "petit" modèle pour m'aider à adapter mes codes
Salutations

Commentaire de armenak le 11/04/2011 11:27:58

Je ne sais pas si ce code a sa place ici... La classification débutant-débutant n'est pas prévue par le système.

Commentaire de masternico le 11/04/2011 15:45:27

lol...
oooooh!!! c'est méchant ça   ;)

Commentaire de cod57 le 11/04/2011 20:40:11

bonjour

@armenak
C'est pas echo 'hello world';
Si tu trouves ça si basique tu devrais venir sur le forum on a besoin de dépanneur !
Je pense que beaucoup de gens sont des debutants et le but de ce CRUD est pédagigique
et en aucune façon une recherche esthétique ou autre jubilation suffisante.
Pour ceux qui cherche un generateur de CRUD et pas des remarques sans intérêts pedagogiques.
http://www.phpscaffold.com/

a++

Commentaire de armenak le 13/04/2011 10:24:57

Eh les gars du calme! Je ne suis pas un pro loin de là, mais je sais reconnaître quand même si un code est un peu mieux que ce que fait Dreamweaver ou Joomla en trois clics. Si ce site se fait envahir par des gestions simplistes de formulaire, et qu'on ne réagit pas au moins avec un peu d'humour, c'est la fin de phpc. C'est sympathique de débuter, mais il faut quand même avoir le sens des valeurs. Ok c'est pas echo hello world, mais pas beaucoup plus. Et puis je me rappelle d'une époque où la critique était beaucoup plus sévère ici. Je regrette cette époque, même si personnellement j'en ai reçu plein la g..., ça m'a fait progresser. Ben du coup, on pourrait donner une note excellente à ce code, pas grand chose à en dire, puisqu'il fonctionne.

Commentaire de masternico le 13/04/2011 14:30:54

Le truc, c'est que le code proposé n'est pas un CRUD. Au mieux, il a été généré par cette méthode, mais c'est tout.
L'auteur d'ailleur précise bien dans son titre que c'est un gestionnaire de contact pas un CRUD.
Pour ma part, je trouve que ce n'est qu'un embryon de console d'administration qui a beaucoup de chemin a faire avant d'être intéressant.
-Il manque (comme l'a précisé l'auteur) les contrôles d'usages pour éviter les injections de paramètres.
-Il n'y a pas de gestion objet
-Les ncopmmandes Mysql sont en directe dans le code et non pas externalisée dans un contrôleur externe permetant d'intégrer plus tard la portabilité du moteur de base de données.

J'en passe car c'est surtout pour dire que si c'est pour mettre un truc innachevé et espérer la postérité, ce n'est pas la peine : des gestionnaires de contacts, il y en a à la pelle sur ce forum et sur les autres.

Démarche pédagogique, pourquoi pas, mais encore faut-il que celà fasse avancer les choses et non pas les faire reculer.

J'entend par là que le php3 c'est du passé et que depuis, on en est à la version 6. Donc merci de se documenter sur les nouveaux jeux de commandes php avant de se lancer dans le codage d'un script. Pour les débutant, il existe la biblio PDO qui permet nativement de gérer des appels à la base de données en permettant une abstraction du moteur.

Pour les plus chevronnés, il existe la possibilité de coder soit même une bibliothèque d'accès à MYSQL.

Enfin, cod57, merci pour le petit coup de pub pour ton CRUD, il y a des choses à revoir dans le script généré. En particulier, l'échapement des variables avant envois vers MYSQL. Tu utilises addslashes alors qu'il est recommendé d'utiliser les instruction mysql pour celà (mysql_real_escape_string($unescape_string)) car échappement des caractères peut varier d'une version à l'autre et de ce fait, seul MYSQL sait comment échapper les caractères qui doivent lui être injecter

Commentaire de cod57 le 13/04/2011 15:29:26

bonjour

je precise

Embryon oui !
Create Read Update Delete donc un CRUD
@masternico php3 ? (procédural tu veux dire)
Le code dans les class -> methodes -> code ... est procedural
Tu utilises addslashes ? OU ?
il y a aucun controle dans ce script v1 hormis le forçage à integer du $_GET
comme tu le dis c'est pas un script pour la postérité
PDO ? POURQUOI METTRE DE L'ABSTRACTION DANS TOUT ET COMPLIQUER UN SCRIPT AUSSI BASIQUE
90 % des scripts utilises mysql
Par contre je vais mettre mysql_real_escape_string ... v2
pourtant c'est ecrit pas sécurisé dans la présentation v1

PHP6 le developpement de php est arrété à 5.3
http://www.programmez.com/actualites.php?id_actu=7095
PHP 5.3.6  - 17 March 2011


a++




Commentaire de masternico le 13/04/2011 17:39:36

lol
J'aime bien exagérer. Et pourtant, je ne suis pas de Marseille: Php 6 est sur le point de voir le jour.

Pour ce qui est de l'échappement, c'est stripslashes pas addslashes que tu utilises. je me suis trompé mais dans l'idée, c'est la même chose : se sont des fonctions php qui ne savent pas exactement quels sont sont caractères à échapper pour ne pas gêner MYSQL.

L'avantage d'utiliser des objets et de l'abstration, c'est que si tu pars sur ce squelette et qu'un jour tu dois changer de moteur, tu l'as dans l'os et tu dois changer tout tes accès BDD directment dans les scripts. Qui dit temps dit argent, CQFD

Avec les objets, tu as l'avantage de pouvoir l'utiliser et le modifier comme tu veux sans avoir à changer le script qui l'apelle. Même pour un si petit script, c'est bien d'y penser dès le début. J'ai un cousin qui bosse dans une grosse boite de dévellopement et quand il doit corriger un script non orienté objet, c'est la mort.

Pour mes accès BDD, j'utile un objet que j'ai crée il y a longtemps et qui est portable d'un projet à l'autre. Ce qui fait que lorsque je fais une mise à jour de l'objet, tous les projets en profitent sans avoir a modifier le code.

Commentaire de cod57 le 13/04/2011 18:20:34

Ok je vais poster un update de ce mini script bientôt
j'ai rien contre les marseillais ...(-;
les critiques sont toujours utiles
une pagination + une securisation (pas de addslashes ou stripslashes)
une petite fonction avec mysql_real_escape_string() et htmlentites() ...
dans l'absolu tu as raison PDO c'est la portabilité
à vrai dire un driver pour beaucoup de bases de données ...

je veux garder l'approche simpliste
avec le connecteur historique pour l'instant

a++

Commentaire de marocbaladeuse le 16/04/2011 16:53:28

Monsieur masternico  est ce que tu peux arreter d'embeter les gens comme ca,il faut au moin les remercier pour leurs efforts,je crois que c'est la moindre des choses

Commentaire de masternico le 16/04/2011 17:33:54

lol... Parcequ'il aurait peut-être fallu que je te remercie pour l'effort d'avoir publié une source copiée intégralement sur un de tes collègue de l'ESTS (http://www.phpcs.com/codes/GESTION-CLIENT-ESTS_52671.aspx)?

Et puis merci pourquoi? Je pense que l'auteur de cette source n'est pas venu ici pour avoir des remerciements. Il est venu pour publier un code pour qu'il soit évalué. Donc je donne mon point de vue. Il n'est pas terminé, et d'une conception trop anciènne : la gestion d'une fiche est faite à travers 4 fichiers qui devront être modifiés à chaque changement de la page formulaire

Perso je préfère la solution qui consiste à faire un script unique et multitache qui sait récolter les inputs d'un formulaire sans qu'il ne lui soit préciser au paravant quels en était les types ni si ces valeur sont obligatoires ou pas.

Si tu fait un formulaire, tu peux imaginer quelquechose de la sorte:

------------------------------------------
------------------------------------------
<?php
$id_utilisateurs = require_param($_POST['id_utilisateur'],TYPE_NUM,'Les paramètres d\'appels ne sont pas au bon format','admin.php');
$action = require_param($_POST['action'],TYPE_ALPHA,'Les paramètres d\'appels ne sont pas au bon format','admin.php');
$action = $action;
$utilisateurs = new utilisateurs();
$utilisateurs->fill_object($id_utilisateurs);
if($utilisateurs->nb_rows != 1)
{
    redirect_java('admin.php');
    exit;
}
?>
<form name="utilisateurs_form">
<input type="hidden" name="id_utilisateurs" value="<?php echo $id_utilisateurs; ?>">
<input type="hidden" name="action" value="<?php echo $action; ?>
<input type="text" name="utilisateurs_name" id="utilisateurs_name" object="utilisateurs" mandatory="1" variable_type="alpha" value="<?php echo ((isset($utilisateurs->utilisateurs_name))?$utilisateurs->utilisateurs_name:''); ?>">
<input type="text" name="utilisateurs_car_brand" id="utilisateurs_car_brand" object="utilisateurs" mandatory="0" variable_type="alpha" value="<?php echo ((isset($utilisateurs->utilisateurs_car_brand))?$utilisateurs->utilisateurs_car_brand:''); ?>">
</form>
-------------------------------------
-------------------------------------

De cette manière, avec un petit traitement java, on passe en revue tous les inputs du fromulaire, on les compulses avant de les envoyer vers le script de control avec un appel Ajax. Ce qui fait que le script de control sait s'il doit faire une création, mise à jour, suppression et ce, sur quel objet, et en sachant quelle valeur est obligatoire ou pas.

Donc, non je ne vais pas remercier juste pour faire plaisir. S'il veux de la pommade, il descend à la pharmacie et s'achète un tube de synthol en gel.

Commentaire de marocbaladeuse le 18/04/2011 13:34:43

oui effectivement mais il faut tjrs eviter des mots comme "mechant" "Null"

Commentaire de marocbaladeuse le 18/04/2011 13:35:08

Deja c'est un site d'apprentissage

Commentaire de begueradj le 24/04/2011 15:42:02

j'aime les critiques et les critiqueurs spécialistes du criticage des non critiqués

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Carnet d'adresse d'outlook [ par molisafi ] Bomjour,je suis a la recherche d'un script php, javascript ou vbscript pour recuperer le carner d'adresse d'outlook du client.merci Carnet d'adresse et photo [ par nikos283 ] Bonjour, Je suis actuellement à la recherche d'un carnet d'adresse simple en php/mysql. J'en ai trouvé mais peu où l'on peu ajouter des photos aux con exporter des données de la base vers excel [ par haythemsorbonne ] slt!Je suis entrain de travailler sur une base de données clientèle où il sera possible d'exporter les coordonnées des clients sur un fichier Excel. J Créer un fichier wab [ par cz1702 ] Bonjour,Savez vous comment créer un carnet d'adresse .wab à l'aide de PHP ?Je sais que l'on peut créer un carnet d'adresse en CSV mais ce n'est pas ce récupérer carnet d'adresse webmails [ par hdh ] Bonjour ! En allant sur le site FaceBook, je me suis inscrit et on m'a proposé de parrainer des amis avec une option intéressante : en donnant ses id problème d'accents [ par sibel ] salut, j'ai un problème d'accents é remplacé par é...voici ma page php...quelqu'un pourrais m'aider svp? J'y comprends pas grand chose, on m'a fait c Récupérer l'adresse IP d'un site Internet [ par JuS ] Bonjour,Afin de tester si les url sont accessibles ou non, en temps réel, j'ai besoin de récupérer l'adresse IP rattachée à l'url.Pour cela j'utilise adresse de fichier [ par Adrass ] bonjour,j'ai un petite problèmej' ai fait un script qui parcour toute l'arboressence pour trouver des fichier a partir d' un certain de dossier (par a adresse d'un fichier [ par luisdelavega ] Bonjour,Je voudrais savoir comme on peut lire un dossier qui se trouve dans les favoris reseau, je n'arrive pas a donner laa bonne adresse.Merci d'ava Autoriser une seule adresse ip [ par biloutte33 ] Bonjour,j'ai créé une page sur mon site et je souhaite restraindre l'accès à une seule adresse ipdonc en gros faire une sorte de "fonction" du genre :


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales