Scripte de gestion de soirées

Fermé
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013 - Modifié par bryanch le 24/03/2013 à 13:57
bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 - 30 avril 2013 à 22:54
Bonjour,

J'aimerais faire ou trouver un scripte de gestion des invités d'une soirée.

Chaque personne a un bracelet avec un numéro unique

Ce numéro doit contenir les informations nom prénom crédit de la personne

Quand il se présente au bar ou à l'entrée, le responsable rentre ce numéro sur une page web avec login et voit s'afficher le détail de la personne.

Il peut modifier les infos et enregistrer.


Je ne sais pas vraiment comment faire tout çà...

Auriez vous une idée ?

Merci d'avance

A voir également:

14 réponses

bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 13
24 mars 2013 à 14:27
Est-ce que tu as des connaissances en php ?
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
24 mars 2013 à 15:20
J'ai des bases oui mais pas très avancées
0
bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 13
24 mars 2013 à 22:30
Je vais te donner un lien permettant de créer un système de bases de données évolutives en PHP. Dans ce mini tuto, on te propose de créer un système de gestion d'utilisateurs. Teste-le vois comment il fonctionne et il ne reste plus qu'à modifier les champs à l'intérieur des scripts.

http://www.asp-php.net/tutorial/bd-sans-bd.php

Je m'en suis servi et ai décliné ce système en gestionnaire de produits et aussi en CMS
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
1 avril 2013 à 16:44
Merci beaucoup pour ce scripte.

Assez facile a utiliser.

Mais j'ai un petit souci :

Dans le code de recherche, il recherche dans tous les champs du fichier texte.

Comment faire pour le faire chercher uniquement dans le champs "Infos[0]" ?

Voila le code de recherche :

<!-- Nom du fichier : rechercher.php -->
<?php // voyons maintenant en PHP
//
// Recherche dans le fichier

//
include("fonctions.php");
?>
<html>
<body><form name="frm" method="post" action="rechercher.php">
Rechercher : <input type="text" name="quoi"> 
<input type="submit" value="Ok"> 
<input type="button" onClick="location.href='menu.php'" value="Menu">
</form>
<?php
if(@$_POST["quoi"]!=""){
// Notre fichier s'appelle utilisateurs.txt
$Fnm = "data/utilisateurs.txt";
// Ouvrir le fichier en lecture
if (file_exists($Fnm)) {
$tableau = file($Fnm);
echo "<table>";
for($i=0;$i<sizeof($tableau);$i++){
// la ligne contient-elle la chaine recherchée ?
if(strpos(strtolower($tableau[$i]),strtolower(@$_POST["quoi"]))>-1){
$infos=explode("#",$tableau[$i]);
echo "<tr>";
echo "<td>".($i+1)."</td>";
echo "<td>".$infos[0]." ".$infos[1]."</td>";
echo "<td><a href='formulaire.php?num=".($i+1)."'>Modifier</a></td>";
echo "<td><a href='afficher.php?num=".($i+1)."'>Afficher</a></td>";
echo "<td><a href='formulaire.php?mode=S&num=".($i+1);
echo "'>Supprimer</a></td>";
echo "</tr>";
}
}
echo "</table>";
}
}
?>
</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 avril 2013 à 15:58
<?php
if(@$_POST["quoi"]!=""){
	// Notre fichier s'appelle utilisateurs.txt
	$Fnm = "data/utilisateurs.txt";
	// Ouvrir le fichier en lecture
	if (file_exists($Fnm)) {
		$tableau = file($Fnm);
		echo "<table>";
		for($i=0;$i<sizeof($tableau);$i++){
			$infos=explode("#",$tableau[$i]);
			// la ligne contient-elle la chaine recherchée ?
			if(strpos(strtolower($infos[0]),strtolower(@$_POST["quoi"]))>-1){

				echo "<tr>";
				echo "<td>".($i+1)."</td>";
				echo "<td>".$infos[0]." ".$infos[1]."</td>";
				echo "<td><a href='formulaire.php?num=".($i+1)."'>Modifier</a></td>";
				echo "<td><a href='afficher.php?num=".($i+1)."'>Afficher</a></td>";
				echo "<td><a href='formulaire.php?mode=S&num=".($i+1);
				echo "'>Supprimer</a></td>";
				echo "</tr>";
			}
		}
		echo "</table>";
	}
}
?>
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
6 avril 2013 à 17:34
OK merci beaucoup ça marche nickel !

Encore un petit truc :

Comment je peux faire pour que dans la page lister.php, il m'affiche dans l'ordre croissant des numéros du champs $infos[5] ?

Merci d'avance de ton aide précieuse =)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 6/04/2013 à 19:05
essaies ça, j'ai pas testé ?

<?php 
if(@$_POST["quoi"]!=""){ 
 // Notre fichier s'appelle utilisateurs.txt 
 $Fnm = "data/utilisateurs.txt"; 
 // Ouvrir le fichier en lecture 
 if (file_exists($Fnm)) { 
  $tableau = file($Fnm); 
   
  //tableau a trier 
  $array_infos=array(); 
  for($i=0;$i<sizeof($tableau);$i++){ 
   $infos=explode("#",$tableau[$i]); 
    
   // la ligne contient-elle la chaine recherchée ? 
   if(strpos(strtolower($infos[0]),strtolower(@$_POST["quoi"]))>-1){ 
    //on empile dans l'array_info (multidimensions) 
    $array_infos[0][]=$infos[0]; 
    $array_infos[1][]=$infos[1]; 
    $array_infos[2][]=$infos[2]; 
    $array_infos[3][]=$infos[3]; 
    $array_infos[4][]=$infos[4]; 
    $array_infos[5][]=$infos[5]; 
   } 
  } 
  //on trie l'array_infos par rapport au 5 
  array_multisort($array_infos[5],$array_infos[0],$array_infos[1],$array_infos[2],$array_infos[3],$array_infos[4]); 

  //affichage: 
  echo "<table>"; 
  for($j=0;$j<sizeof($array_infos[5]);$j++){ 
   echo "<tr>"; 
    echo "<td>".($j+1)."</td>"; 
    echo "<td>".$array_infos[0][$j]." ".$array_infos[1][$j]."</td>"; 
    echo "<td><a href='formulaire.php?num=".($j+1)."'>Modifier</a></td>"; 
    echo "<td><a href='afficher.php?num=".($j+1)."'>Afficher</a></td>"; 
    echo "<td><a href='formulaire.php?mode=S&num=".($i+1); 
    echo "'>Supprimer</a></td>"; 
    echo "</tr>"; 
  } 
  echo "</table>"; 
 } 
} 
?>
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
6 avril 2013 à 19:41
J'ai essayé mais ça n'affiche rien du tout.

Je vois pas ce qui ne va pas.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 avril 2013 à 23:03
chez moi ça sort qq chose mais pas trié comme voulu.

Pourquoi ne pas utiliser une table de BDD ? ce serait beaucoup plus simple
au lieu d'un fichier
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
7 avril 2013 à 07:24
J'utilise pas parce que dans les fichiers de base que tu m'a donner elle n'était pas utilisé.

Je peux utiliser une bdd mais je ne suis pas sur d'arriver à adapter le script.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 avril 2013 à 09:29
salut,

tu créé deux tables avec phpmyadmin de ton wamp
utilisateur (pour identifier celui qui a accès à l'appli)
id_utilisateur,login,password

table_invites (les données des invités)
id_invite,nom,prenom,credit

trois fichiers:
dbconnect.php:
(connexion à la bdd)
<?php 
//modifier dbnane, user, password en fct des codes de ta BDD
$host = 'mysql:dbname=MSI;host=localhost';
$user = 'root';
$password = '';

try {
    $db = new PDO($host, $user, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
} catch (PDOException $e) {
    echo 'Échec lors de la connexion : ' . $e->getMessage();
}
?>


index.php
(la page d'entrée qui sert au gestionnaire pour s'identifier)
<?php
$msg="";
if(isset($_POST['connect'])){
	require_once('dbconnect.php');
	$sql="SELECT * FROM utilisateur WHERE login='".$_POST['login']."' AND password='".$_POST['password']."' ";
	$requete = $db->query($sql);
	$nb_reponses=$requete -> rowcount();
	if($nb_reponses ==1){
		$donnees=$requete->fetch();
		session_start();
		$_SESSION['id_utilisateur']=$donnees['id_utilisateur'];
		header('Location:gestion_soiree.php');
	}else{
		$msg="Erreur Login / mdp ";
	}
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
	<form name="form_login" method="post" action="">
		Login: <input type="text" name="login" value="" /><br />
		mdp: <input type="text" name="password" value="" /><br />
		<?php
		if($msg!="") echo '<font color="red">'.$msg.'</font><br />';
		?>
	<input type="submit" name="connect" value="Se connecter" /><br />
	</form>
</body>
</html>


gestion_soiree.php
(gestion des clients: recherche, affichage, enr modifs)
<?php
 session_start();
if(!isset($_SESSION['id_utilisateur']) || $_SESSION['id_utilisateur'] ==""){
	//si on arrive directement à cette page sans passer par l'identifiacation utilisateur on renvoie à la page d'identifiacation (index.php)
	header('Location:index.php'); 
	exit();
}else{
	//l'utilisateur est effectivement autentifié on autorise l'affichage de la page
	//init variables de travail
	$msg_enr_modifs="";	
	
				//// --  partie enregistrement des modifs  ----
	if(isset($_POST['enr_modifs'])){
		//le bouton enr modifs a été cliqué		
		//connexion BDD		
		require_once('dbconnect.php');
		//recup des valeurs postées
		$id_invite=$_POST['id_invite'];
		$nom = $_POST['nom'];
		$prenom = $_POST['prenom'];
		$credit = $_POST['credit'];
		$sql="UPDATE table_invites SET  nom='".$nom."', prenom='".$prenom."',credit='".$credit."' WHERE id_invite ='".$id_invite."'";
		//echo "<br />".$sql;
		$requete = $db->query($sql) ;
		//message 
		$msg_enr_modifs='<font color="green">Modifs enregistrées</font>';
		
	}
				//// recherche invité
	if(isset($_POST['rechercher'])){
		//connexion BDD
		require_once('dbconnect.php');
		$id_invite=$_POST['recherche'];
		$sql="SELECT * FROM table_invites WHERE id_invite='".$id_invite."' ";
		//echo "<br />".$sql;
		$requete = $db->query($sql);
		$invite=$requete->fetch();
	
	}
			///fin partie enr modifs
		
	?>
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
	<head>
	<title>ESPACE SOIREE </title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<link href="styles.css" rel="stylesheet" type="text/css">
	<style type="text/css">
		#global {
			width:800px;
			margin-left:auto;
			margin-right:auto;
			text-align:center;
		}
		#zone_recherche {
			margin-top:50px;
		}
		#zone_affichage_invite {
			margin-top:50px;
			border-width:1px 3px 3px 1px;
			border-style:solid;
			border-color:black;
			background-color:#DCDCDC;
		}
		td {
			padding:5px 50px 5px 50px;
		}
		#recherche {
			background-color:#DCDCDC;
			border-style:inset;
		}
		.input_id_invite {
			background-color:#A9AEAD;
			text-align:center;
		}
		.input_credit_invite {
			background-color:#C4F682;
			text-align:center;
		}
		
	</style>
	</head>
	<body>
	<div id="global">
	<div id="zone_recherche">
		<form method="post" name="formulaire" action="">
			<label for="recherche"> Numéro invité: </label><input type="text" name="recherche" id="recherche" value="" />
			<input type="Submit" name="rechercher" value="Rechercher" />
		</form>
		<script type="text/javascript">document.getElementById('recherche').focus(); //on met le curseur dans le champ rechercher</script>
	</div>	
<?php
	//Message enr modif eventuel
	if($msg_enr_modifs!="") echo '<font color="green">'.$msg_enr_modifs.'</font>';
	//
	
			///partie recherche détails à partir de l'id_invité saisi
	if(isset($_POST['rechercher'])){
		//affichage détails invité
?>		
		
	<fieldset id="zone_affichage_invite">	
		<form method="post" name="formulaire" action="">
			<table>
			<tr><th>Numéro</th><th>Nom</th><th>Prénom</th><th>Crédit</th></tr>
			<tr>
				<td>
					<input type="text" name="id_invite" value="<?php echo $invite['id_invite']?>" class="input_id_invite" readonly /> <!-- readonly=non modifiable -->
				</td>
				<td>
					<input type="text" name="nom" value="<?php echo $invite['nom']?>" /> <!--  modifiable -->
				</td>
				<td>
					<input type="text" name="prenom" value="<?php echo $invite['prenom']?>" /> <!-- modifiable -->
				</td>
				<td>
					<input type="text" name="credit" value="<?php echo $invite['credit']?>" class="input_credit_invite" /> <!-- modifiable -->
				</td>
			</tr>
			<tr>
				<td colspan="4" align="center">
					<br /><input type="Submit" name="enr_modifs" value="Enregistrer modifs" />
				</td>	
			</table>
		</form>
	</fieldset>	
<?php
	} //fin diu if rechercher
?>
	</div>
<?php	
} //fin du else authentification
?>
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
13 avril 2013 à 13:51
Ho lala

merci beaucoup pour tout ça !

C'est super cool de ta part =)
0
bryanch Messages postés 8 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 14 avril 2013
Modifié par bryanch le 14/04/2013 à 13:38
Mon idée de base se rapprochait plus du premier scripte.

Une page de connexion utilisateur

une page de menu

une page d'ajout des invités avec nom prénom heure numéro boisson age crédit avec la vérification qu'il n'y a pas deux fois le même numéro enregistrer puis quand le formulaire est envoyé, un nouveau apparaît

une page de listing avec l'affichage de tous les numéros avec la possibilité d'en modifier un et de trier la liste par numéro ou par age ou par boisson et de supprimer un invité

une page de recherche avec l'introduction du numéro ou du nom ou du prénom avec l'affichage du résultat et la possibilité de modifier l'invité mais seulement les champ boisson et crédit

J'espère que je suis assez claire dans mes explications.

Merci d'avance pour tout ce que ta déjà fait =)
0
bonobo47 Messages postés 142 Date d'inscription samedi 19 janvier 2013 Statut Membre Dernière intervention 14 août 2017 13
30 avril 2013 à 22:54
En effet, le but étant de ne pas utiliser de base de données SQL
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
14 avril 2013 à 16:04
je t'ai mis un MP
0