Probleme avec les variables de session
Dernière réponse : dans Programmation
j'ai un souci avec mes varibales de session,en fait j'utilise un formulaire pour me connecté,sa marche sans probleme,seulement je veux arriver à gerer un delai d'expiration,si le delai expire alors l'utilisateur est appelé a se reconnecté,j'affiche le formulaire de connexion.voila ce que j'ai fais mais j'ai l'impression que quelque chose cloche la dedans,voici un bout de mon code:
je précise qu'au debut du j'ai ecris session_start()
mais sur ma page acceuil ma session ne s'expire pas,et quand j'ecris en debut de ma page acceuil session_start() suivi de:
il y'a un msg d'erreur du genre:
Notice: A session had already been started - ignoring session_start() in C:\Program Files\EasyPHP 3.0\www\acceuil.php on line 2
quelqu'un pourait-il m'aider.
if (isset($_POST["valider"])) { $link = mysql_connect("localhost", "root", "pytheas") or die(); $db = mysql_select_db("grh") or die(); $query = "select * from utilisateur where login='" . addslashes($_POST["utilisateur"]) . "' and password = '" . addslashes($_POST["password"]) . "'"; $result = mysql_query($query) or die(); $row=mysql_fetch_row($result); if ($row ) { $login =$_POST['utilisateur']; $pass =$_POST['password']; $_SESSION['login']=$login; $_SESSION['pass']=$pass; $_SESSION['date_debut'] = time();//initialisation du debut de la session if (time() - $_SESSION['date_debut'] >= 300) //si delai depasse 5mn alors se reconnecter exit('<a href="login.php">delai expiré</a>');//redirection vers le formulaire de connexion else $_SESSION['date_debut'] = time();//sinon je raffraichit le debut de la session require("acceuil.php"); }
je précise qu'au debut du j'ai ecris session_start()
mais sur ma page acceuil ma session ne s'expire pas,et quand j'ecris en debut de ma page acceuil session_start() suivi de:
<?php //session_start(); $_SESSION['date_debut'] = time(); if (time() - $_SESSION['date_debut'] >= 300) { echo 'Session expiré !'; afficheformulaire(); die;} else { $_SESSION['date_debut'] = time(); ?>
il y'a un msg d'erreur du genre:
Notice: A session had already been started - ignoring session_start() in C:\Program Files\EasyPHP 3.0\www\acceuil.php on line 2
quelqu'un pourait-il m'aider.
Autres pages sur : probleme variables session
Lassé par la pub ? Créez un compte
L'expiration des sessions PHP a déjà été prévu de base.
Il s'agit de la variable "session.cookie_lifetime" dans le php.ini
http://www.php.net/manual/fr/session.configuration.php#...
Tu peux aussi la modifier directement dans le script à 'aide de la fonction "session_set_cookie_params"
http://www.php.net/manual/fr/function.session-set-cooki...
Il s'agit de la variable "session.cookie_lifetime" dans le php.ini
http://www.php.net/manual/fr/session.configuration.php#...
Tu peux aussi la modifier directement dans le script à 'aide de la fonction "session_set_cookie_params"
http://www.php.net/manual/fr/function.session-set-cooki...
merci pour ce lien je l'ai parcouru,il répond à ma question mais j'ai un petit problème.
voila j'ai ecrit tout mon code php sur une seule page en fait en voici le debut:<form name="recherche" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
[/b]
et celui permettant de gerer ma pagination ci-dessous:
il affiche effectivement le nombre de page et le numero de la page courante entre crochet [] seulement quand je clique sur le numero de la page suivante il me redirige vers mon formulaire au lieu de la page demandée,je ne sais pas si c'est dû à ce lien là:echo'<a href="rechercer.php?page='.$i.'>'.$i.'</a>';si c'est le cas alors que dois-je faire.Merci
voila j'ai ecrit tout mon code php sur une seule page en fait en voici le debut:<form name="recherche" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
[/b]
et celui permettant de gerer ma pagination ci-dessous:
echo'<p align="center"> Page:'; for($i=1;$i<=$nbpage;$i++) { if($i==$pageActuelle ) echo ' [ '.$i.' ] '; else echo'<a href="rechercer.php?page='.$i.'>'.$i.'</a>'; } echo'</p>';
il affiche effectivement le nombre de page et le numero de la page courante entre crochet [] seulement quand je clique sur le numero de la page suivante il me redirige vers mon formulaire au lieu de la page demandée,je ne sais pas si c'est dû à ce lien là:echo'<a href="rechercer.php?page='.$i.'>'.$i.'</a>';si c'est le cas alors que dois-je faire.Merci
J'espère que ça aidera
Ca a l'air compliqué comme ça, et pourtant...
Voilà, compliqué comme dire bonjour
<?php
/* Prépare les pages */
$totalDesMessages = 150;
$nombreDeMessagesParPage = 15;
// 150 / 15 arrondis = 10
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
/* Nombre de pages */
// Ternaire qui dit "Si $_GET['page'] n'hesite pas => 1 Sinon on contraint le numérique avec intval()
$page = (!isset($_GET['page'])) ? 1 : intval($_GET['page']);
// On est sur la page 2, donc 2 - 1 *15 (qui est le nombre de message) = 15
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$DerniereMessageAafficher = $premierMessageAafficher + $nombreDeMessagesParPage;
// $premierMessageAafficher a la valeur 15 et le nombre
$requete =mysql_query("SELECT *
FROM table
LIMIT " . $premierMessageAafficher . ", " . $DerniereMessageAafficher . " ")or die(mysql_error());
?>
Ca a l'air compliqué comme ça, et pourtant...
<?php
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{ /* On affiche pas la page actuelle en lien */
if ($i == $page) {echo $i;}
else{echo '<a href="messagerie-consulter.php?page=' . $i .'">' . $i . '</a> ';}
}
?>
Voilà, compliqué comme dire bonjour
A la fin chaqu'un des enregistrements renvoyés par "SELECT",j'ai deux boutons supprimer et ajouter,j'aimerais qu'au click par exemple du bouton Supprimer,une confirmation me soit demandée avant de procéder à la suppression réelle de l'enregistrement en question,pouvez vous me guider sur la logique à suivre?comme exactement l'interface de PhpMyAdmin.j'ai tenté d'utilisé une fonction javascript pour gerer la confirmation que voici:
et puis
mais je me rends compte que cette logique supprimera tout mes enregistrements.
je pensais à créer un tableau à 2 dimensions qui contiendrai le nombre total d'enregistrement de ma base et le nombre de champs du genre:
employe[total][champ] et créer un compteur qui pour l'enregistrement i selectionné le supprimera.je ne sais pas si ma logique tient?
<script type="text/JavaScript"> function onSupprimer() { for (i = 0; i < document.rechercher.elements.length; i++) if (document.rechercher.elements[i].supp.value) /*supp=nom du bouton supprimer*/ if (confirm("Êtes-vous sûr de vouloir supprimer cet employé?")) { document.rechercher.action="supprimer.php"; document.rechercher.submit(); } }
et puis
if(isset($_POST['supp'])) { $_nbr=mysql_query("select count(numero) from employes"); for($a=1;$a<=$nbr;$a++) }
mais je me rends compte que cette logique supprimera tout mes enregistrements.
je pensais à créer un tableau à 2 dimensions qui contiendrai le nombre total d'enregistrement de ma base et le nombre de champs du genre:
employe[total][champ] et créer un compteur qui pour l'enregistrement i selectionné le supprimera.je ne sais pas si ma logique tient?
voici en fait le code qui me permet d'avoir mes enregistrements je je range dans un tableau.ces enregistrements proviennent en fait a partir d'un formulaire que l'utilisateur aura rempli.c'est à ce tableau qui contient les enregistrements là que je veux associer mes boutons "Supprimer" et "Modifier" voici le code:
<table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366">
<tr>
<td ><b>Numero</b></td>
<td ><b>Nom</b></td>
<td ><b>Prenom</b></td>
<td ><b>genre</b></td>
<td ><b>Date de Naissance</b></td>
<td><b>Date D\'embauche</b></td>
<td ><b>Salaire Brut</b></td>
<td ><b>Sitmat</b></td>
<td ><b>Nombre D\'enfant</b></td>
<td ><b>Telephone</b></td>
<td ><b>Email</b></td>
<td ><b>Loisir</b></td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{
?>
<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<td width="100"><input type="submit" name="modif" value="Modifier" />/*bouton à la fin de la derniere colone, pour me permettre de supprimer l'enregistrement en question*/
<td width="100"><input type="submit" name="supp" value="Supprimer" onClick="return onSupprimer();" />
</tr>
aidez avec la façon de pouvoir le faire.Merci
<table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366">
<tr>
<td ><b>Numero</b></td>
<td ><b>Nom</b></td>
<td ><b>Prenom</b></td>
<td ><b>genre</b></td>
<td ><b>Date de Naissance</b></td>
<td><b>Date D\'embauche</b></td>
<td ><b>Salaire Brut</b></td>
<td ><b>Sitmat</b></td>
<td ><b>Nombre D\'enfant</b></td>
<td ><b>Telephone</b></td>
<td ><b>Email</b></td>
<td ><b>Loisir</b></td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{
?>
<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<td width="100"><input type="submit" name="modif" value="Modifier" />/*bouton à la fin de la derniere colone, pour me permettre de supprimer l'enregistrement en question*/
<td width="100"><input type="submit" name="supp" value="Supprimer" onClick="return onSupprimer();" />
</tr>
aidez avec la façon de pouvoir le faire.Merci
Mon problème est le suivant :
J’ai organisé les enregistrements renvoyés par mon select dans un tableau,et pour chacun d’eux j’ai mis un bouton « Supprimer » à la fin,de sorte que l’utilisateur puisse supprimer l’enregistrement si
Il le souhaite.Lorsque l’utilisateur clique sur le bouton supprimer,une boite de dialogue lui demandant confirmation apparait,s’il clique sur ok il y’a suppression dudit enregistrement sinon rien ne se passe .seulement je ne sais pas comment écrire le code,y’a-t-il quelqu’un qui puisse m’aider avec le code de cet algo ?c’est urgent.merci d’avance.
J’ai organisé les enregistrements renvoyés par mon select dans un tableau,et pour chacun d’eux j’ai mis un bouton « Supprimer » à la fin,de sorte que l’utilisateur puisse supprimer l’enregistrement si
Il le souhaite.Lorsque l’utilisateur clique sur le bouton supprimer,une boite de dialogue lui demandant confirmation apparait,s’il clique sur ok il y’a suppression dudit enregistrement sinon rien ne se passe .seulement je ne sais pas comment écrire le code,y’a-t-il quelqu’un qui puisse m’aider avec le code de cet algo ?c’est urgent.merci d’avance.
HTML:
Et pour supprimer l'élément, exécuter une requête SQL suffit:
(C'est la requête minimale, mais il va falloir l'arranger pour ne pas avoir de problème d'SQL Injection par exemple)
<td width="100"><input type="submit" name="modif" value="Modifier" />
<td width="100"><input type="hidden" name="numero" value="<?php echo $row['numero']; ?>" /> <input type="submit" name="supp" value="Supprimer" onClick="return onSupprimer();" />
Et pour supprimer l'élément, exécuter une requête SQL suffit:
DELETE FROM employes WHERE numero = $_POST['numero']
(C'est la requête minimale, mais il va falloir l'arranger pour ne pas avoir de problème d'SQL Injection par exemple)
j'ai un un autre problème concernant la pagination,quand je clique sur la page suivante il ne m'amène pas sur la page mais sur le formulaire.je ne sais pas pouquoi?
voici mon code:
voici mon code:
$nb_par_page = 6; $nb_total=mysql_query( "SELECT COUNT(numero) as total FROM employes"); $row =mysql_fetch_assoc($nb_total); $total=$row['total']; $nbpage=ceil($total/$nb_par_page); if(isset($_GET['page'])) { $pageActuelle=intval($_GET['page']); if($pageActuelle > nbpage) $pageActuelle =nbpage; } else $pageActuelle=1; $premierElement = ($pageActuelle -1) * $nb_par_page; $query.=sprintf(" LIMIT %d,%d;",$premierElement,$nb_par_page); $result=mysql_query($query); $row=mysql_fetch_array($result); if(!$row) echo'ancun resultat'; else { ?> <table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366"> <tr> <td ><b>Numero</b></td> <td ><b>Nom</b></td> <td ><b>Prenom</b></td> <td ><b>genre</b></td> <td ><b>Date de Naissance</b></td> <td><b>Date D\'embauche</b></td> <td ><b>Salaire Brut</b></td> <td ><b>Sitmat</b></td> <td ><b>Nombre D\'enfant</b></td> <td ><b>Telephone</b></td> <td ><b>Email</b></td> <td ><b>Loisir</b></td> </tr> <?php while($row=mysql_fetch_array($result)) { ?> <tr> <td width="100"><?php echo $row[0];?></td> <td width="100"><?php echo $row[1];?></td> <td width="100"><?php echo $row[2];?></td> <td width="100"><?php echo $row[3];?></td> <td width="100"><?php echo $row[4];?></td> <td width="100"><?php echo $row[5];?></td> <td width="100"><?php echo $row[6];?></td> <td width="100"><?php echo $row[7];?></td> <td width="100"><?php echo $row[8];?></td> <td width="100"><?php echo $row[9];?></td> <td width="100"><?php echo $row[10];?></td> <td width="100"><?php echo $row[12];?></td> <td width="100"><input type="submit" name="modif" value="Modifier" /> <td width="100"><input type="submit" name="supp" value="Supprimer" id="<?php echo $row[0];?></td>" onClick="return onSupprimer();" /> </tr> <?php }//fin while echo'<p align="center"> Page:'; for($i=1;$i<=$nbpage;$i++) { if($i==$pageActuelle ) echo ' [ '.$i.' ] '; else echo '<a href="rechercer.php?page='.$i.'">Page '.$i.'</a> - '; /*recherce est le nom de mon formulaire*/ } echo'</p>'; }//fin pti else }//fin du grd
A mon avis, il va nous falloir le code qu'il y a avant ça.
S'il t'amène sur la page 1, tu as un soucis au niveau de la pagination, mais s'il t'amène sur ton formulaire (qu'est ce que ton formulaire d'ailleurs ?), c'est que y'a quelque chose avant qui le fait aller sur le formulaire.
Et niveau clareté, c'est certainement mieux d'avoir deux pages différentes, une qui affiche les détails (page 1, page 2...) et une qui affiche ton formulaire, ça évite de se perdre...
Et au passage, en faisant :
Ta 2ème ligne récupère les premières données récupérées par ta requête SQL, et elles ne seront jamais affichées.
Tu as la fonction mysql_num_rows pour savoir le nombre de ligne, et si c'est égal à 0 afficher "aucun résultat".
S'il t'amène sur la page 1, tu as un soucis au niveau de la pagination, mais s'il t'amène sur ton formulaire (qu'est ce que ton formulaire d'ailleurs ?), c'est que y'a quelque chose avant qui le fait aller sur le formulaire.
Et niveau clareté, c'est certainement mieux d'avoir deux pages différentes, une qui affiche les détails (page 1, page 2...) et une qui affiche ton formulaire, ça évite de se perdre...
Et au passage, en faisant :
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if(!$row)
echo'ancun resultat';
Ta 2ème ligne récupère les premières données récupérées par ta requête SQL, et elles ne seront jamais affichées.
Tu as la fonction mysql_num_rows pour savoir le nombre de ligne, et si c'est égal à 0 afficher "aucun résultat".
voici le code de mon formulaire,en fait c'est formulaire multicritère demandant à l'utilisateur d'entrer ou de cocher ces critères en fonction desquels une recherche est faites dans la bd et les résultats,s'il en existe plusieurs sont affichés de page en page.voici le code de mon formulaire en question,il est un peu long,et c'est net après ce code que vient celui de la pagination posté en haut:
je tient qu'il affiche les resultat sur la premiere ,mais dès que je clique sur le lien de la page suivante il me ramène sur mon formulaire,je me demande si je ne doit pas créer des variables de session pour les envoyer de page en page.
<body> <?php function afficherformulaire ($u = '', $error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="recherche" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <table width="800" border="0" align="center" height="75" bgcolor="#0099FF"> <tr> <td width="500" align="center" colspan="2" height="0"> <h1><b><font color="#FF0000"><marquee>Ceci est un formulaire de rechercher entrez y vos critères.</marquee></font></b></h1> </td> <tr><td width="792" colspan="2"> <b>Numero</b> <input type="text" name="numero" /> </td> </tr> <tr><td width="792"> <b>Nom</b> <input type="text" name="nom" /> </td></tr> <tr><td width="792"><b>Prenom</b> <input type="text" name="prenom" /> </td></tr> <tr><td width="792"> <b>Genre</b> <input type="radio" name="genre" value="masculin" />Masculin<input type="radio" name="genre" value="feminin"/>Feminin</td></tr> <tr><td width="792"> <b>Date de Naissance:</b> <input type="radio" name="datnaiss" value="moins" />Moins de 30 ans<input type="radio" name="datnaiss" value="plus" />Plus de 30 ans </td></tr> <tr><td width="792"> <b>Date D'embauche:</b> <input type="radio" name="datemb" value="inferieur" />Inferieur ou égale à 2000<input type="radio" name="datemb" value="superieur" />Supérieur à 2000 </td></tr> <tr><td width="792"> <b>Salaire Brut:</b> <input type="radio" name="salbrut" value="minore" />compris entre [0-150000]<input type="radio" name="salbrut" value="majore" />Entre [15000-et plus] </td></tr> <tr><td width="792"> <b>Situation Matrimoniale:</b> <input type="radio" name="sitmat" value="celibataire" />Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé </td></tr> <tr><td width="792"> <b>Nombre D'enfants:</b> <input type="radio" name="nbenf" value="plusde" />Plus de 5<input type="radio" name="nbenf" value="moinsde" />Moins de 5 </td></tr> <tr><td width="792"> <b>Numero de Télephone:</b> <input type="text" name="tel" /><br/> </td></tr> <tr><td width="792"> <b>Email:</b> <input type="text" name="mail" /><br/> </td></tr> <tr> <td> <b>Loisir:</b> <input type="radio" name="loisir" value="cinema"/>Cinema <input type="radio" name="loisir" value="musique"/>Musique <input type="radio" name="loisir" value="litterature"/>Littérature <input type="radio" name="loisir" value="sport"/>Sport <input type="radio" name="loisir" value="religion"/>Religion <input type="radio" name="loisir" value="telesision"/>Télévision <input type="radio" name="loisir" value="politique"/>Politique </td> </tr> <tr><td width="792" align="center"><input type="submit" name="valider" value="rechercher" /></td></tr> </table> </form> <?php }//fin fonction ?> <!--<script type="text/JavaScript"> function onSupprimer() { <a href="?action=delete&id='.$id.'" onclick="return confirm('Supprimer ? OK = oui, Annuler = Non');" value="supprimer">Supprimer cet employé</a> } </script>--> <?php if(!isset($_GET['valider'])) afficherformulaire(); else { $link=mysql_connect("localhost","root","pytheas"); $db=mysql_select_db("grh"); $genre=$_GET['genre']; $numero=$_GET['numero']; $nom=$_GET['nom']; $prenom=$_GET['prenom']; $nbenf=$_GET['nbenf']; $datnaiss =$_GET['datnaiss']; $datemb=$_GET['datemb']; $salbrut=$_GET['salbrut']; $tel=$_GET['tel']; $mail=$_GET['mail']; $sitmat=$_GET['sitmat']; $loisir=$_GET['loisir']; if($genre!='') $query="select * from employes where genre='".$genre."'"; if($nom!='') $query="select * from employes where nom= '".$nom."'"; if($prenom!='') $query="select * from employes where prenom= '".$prenom."'"; if(($nbenf!='')&&($nbenf=='plusde')) $query="SELECT * FROM employes WHERE nbenf >=5 "; if(($nbenf!='')&&($nbenf=='moinsde')) $query="select * from employes where nbenf < 5"; if($tel!='') $query="select * from employes where tel= '".$tel."'"; if($mail!='') $query="select * from employes where email like '".$mail."'"; if($numero!='') $query="select * from employes where numero= '".$numero."'"; if(($salbrut!='') &&($salbrut=='minore')) $query="select * from employes where salbrut < 150000"; if(($salbrut!='')&& ($salbrut=='majore')) $query="select * from employes where salbrut >=150000"; if(($datnaiss!='')&& ($datnaiss=='moins')) $query="SELECT * FROM employes WHERE (date_format( now( ) , '%Y' ) - substr( datnaiss, 1, 4 ))<30"; if(($datnaiss!='')&& ($datnaiss=='plus')) $query="SELECT * FROM employes WHERE (date_format( now( ) , '%Y' ) - substr( datnaiss, 1, 4 ) ) >=30"; if(($datemb!='')&& ($datemb=='inferieur')) $query="select * from employes where substr(datembauche,1,4) <2000"; if(($datemb!='')&& ($datemb=='superieur')) $query="select * from employes where substr(datembauche,1,4)>=2000"; if($sitmat!='') $query="select * from employes where sitmat='".$sitmat."'"; if($loisir!='') $query="select * from employes where loisir='".$loisir."'";
je tient qu'il affiche les resultat sur la premiere ,mais dès que je clique sur le lien de la page suivante il me ramène sur mon formulaire,je me demande si je ne doit pas créer des variables de session pour les envoyer de page en page.
D'accord, je vois.
C'est tout simplement parce que tu ne repasses pas les valeurs de ton formulaire quand tu passes à la page suivante, tu appelles seulement "rechercher.php?page=2", sans spécifier tous les paramètres qui avaient déjà été saisis.
Deux solutions: soit tu les repasses, soit tu les stockes pour les réutiliser en page 2.
C'est tout simplement parce que tu ne repasses pas les valeurs de ton formulaire quand tu passes à la page suivante, tu appelles seulement "rechercher.php?page=2", sans spécifier tous les paramètres qui avaient déjà été saisis.
Deux solutions: soit tu les repasses, soit tu les stockes pour les réutiliser en page 2.
ok si vous aussi vous pensez aux variables de session donc c'est cela mon probleme,mais c'est exactement ou que je dois les déclarées,je pensais à les déclarées net après le:while($row=mysql_fetch_array($result))
comme çà:
while($row=mysql_fetch_array($result))
{
/* là, à ce niveau,je ne sais pas si c'est le bon endroit*/
$nbre++;
$_SESSION['nom'] = $_GET['nom'];
$_SESSION['prenom'] =$_GET['prenom'];
?>
<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<form name="gererbouton" method="get"action=""/></td>
<td width="100"><input type="submit" name="modif" value="Modifier" /></td>
<td width=""><td width="100"><input type="hidden" name="numero" value="<?php echo $row[0]; ?>" /><input type="submit" name="supp" value="Supprimer"onClick="return onSupprimer();" /></td>
</tr>
comme çà:
while($row=mysql_fetch_array($result))
{
/* là, à ce niveau,je ne sais pas si c'est le bon endroit*/
$nbre++;
$_SESSION['nom'] = $_GET['nom'];
$_SESSION['prenom'] =$_GET['prenom'];
?>
<tr>
<td width="100"><?php echo $row[0];?></td>
<td width="100"><?php echo $row[1];?></td>
<td width="100"><?php echo $row[2];?></td>
<td width="100"><?php echo $row[3];?></td>
<td width="100"><?php echo $row[4];?></td>
<td width="100"><?php echo $row[5];?></td>
<td width="100"><?php echo $row[6];?></td>
<td width="100"><?php echo $row[7];?></td>
<td width="100"><?php echo $row[8];?></td>
<td width="100"><?php echo $row[9];?></td>
<td width="100"><?php echo $row[10];?></td>
<td width="100"><?php echo $row[12];?></td>
<form name="gererbouton" method="get"action=""/></td>
<td width="100"><input type="submit" name="modif" value="Modifier" /></td>
<td width=""><td width="100"><input type="hidden" name="numero" value="<?php echo $row[0]; ?>" /><input type="submit" name="supp" value="Supprimer"onClick="return onSupprimer();" /></td>
</tr>
Si tu les déclares dans une boucle while, ça va s'exécuter autant de fois qu'il y a d'éléments dans ta requête.
Il n'y a aucun rapport entre les paramètres passés de ton formulaire et les résultats de ta requête SQL. Aucune raison de mettre ça dans le while.
Tu mets ça tout simplement au début de ton script, une fois que tu as récupérés les valeurs.
Il n'y a aucun rapport entre les paramètres passés de ton formulaire et les résultats de ta requête SQL. Aucune raison de mettre ça dans le while.
Tu mets ça tout simplement au début de ton script, une fois que tu as récupérés les valeurs.
j'ai un problème que je n'arrive toujours pas à resoudre,ce qui fais buggué peut-etre mon code.j'utilise des boutons radio dans mon formulaire,mais il se trouve que le système trouve des erreurs dans les noms de ces variables,ce qui m'etonne vraiment,j'ai vérifier à plusieurs reprise sans appercevoir la moindre petite erreur,il me met des erreur du genre:
Notice: Undefined index: nbenf in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 107
Notice: Undefined index: datnaiss in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 108
Notice: Undefined index: datemb in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 109
Notice: Undefined index: salbrut in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 110
Notice: Undefined index: sitmat in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 113
Notice: Undefined index: loisir in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 114
et c'est lignes sont les lignes ou il existe des boutons radio,ce qui paralyse mes requetes puisque le système ne reconnait plus ces variables,en plus cela m'empèche réelement d'évoluer,prière à vous de m'aider.Merci
Notice: Undefined index: nbenf in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 107
Notice: Undefined index: datnaiss in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 108
Notice: Undefined index: datemb in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 109
Notice: Undefined index: salbrut in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 110
Notice: Undefined index: sitmat in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 113
Notice: Undefined index: loisir in C:\Program Files\EasyPHP 3.0\www\grh\rechercer.php on line 114
et c'est lignes sont les lignes ou il existe des boutons radio,ce qui paralyse mes requetes puisque le système ne reconnait plus ces variables,en plus cela m'empèche réelement d'évoluer,prière à vous de m'aider.Merci
j'oubliais voici le code de mon formulaire:
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"> <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Aout</title> </head> <body> <?php function afficherformulaire ($u = '', $error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="recherche" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <table width="800" border="0" align="center" height="75" bgcolor="#0099FF"> <tr> <td width="500" align="center" colspan="2" height="0"> <h1><b><font color="#FF0000"><marquee>Ceci est un formulaire de rechercher entrez y vos critères.</marquee></font></b></h1> </td> <tr><td width="792" colspan="2"> <b>Numero</b> <input type="text" name="numero" />. </td> </tr> <tr><td width="792"> <b>Nom</b> <input type="text" name="nom" /> </td></tr> <tr><td width="792"><b>Prenom</b> <input type="text" name="prenom" /> </td></tr> <tr><td width="792"> <b>Genre</b> <input type="radio" name="genre" value="masculin" />Masculin<input type="radio" name="genre" value="feminin"/>Feminin</td></tr> <tr><td width="792"> <b>Date de Naissance:</b> <input type="radio" name="datnaiss" value="moins" />Moins de 30 ans<input type="radio" name="datnaiss" value="plus" />Plus de 30 ans </td></tr> <tr><td width="792"> <b>Date D'embauche:</b> <input type="radio" name="datemb" value="inferieur" />Inferieur ou égale à 2000<input type="radio" name="datemb" value="superieur" />Supérieur à 2000 </td></tr> <tr><td width="792"> <b>Salaire Brut:</b> <input type="radio" name="salbrut" value="minore" />compris entre [0-150000]<input type="radio" name="salbrut" value="majore" />Entre [15000-et plus] </td></tr> <tr><td width="792"> <b>Situation Matrimoniale:</b> <input type="radio" name="sitmat" value="celibataire" />Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé </td></tr> <tr><td width="792"> <b>Nombre D'enfants:</b> <input type="radio" name="nbenf" value="plusde" />Plus de 5<input type="radio" name="nbenf" value="moinsde" />Moins de 5 </td></tr> <tr><td width="792"> <b>Numero de Télephone:</b> <input type="text" name="tel" /><br/> </td></tr> <tr><td width="792"> <b>Email:</b> <input type="text" name="mail" /><br/> </td></tr> <tr> <td> <b>Loisir:</b> <input type="radio" name="loisir" value="cinema"/>Cinema <input type="radio" name="loisir" value="musique"/>Musique <input type="radio" name="loisir" value="litterature"/>Littérature <input type="radio" name="loisir" value="sport"/>Sport <input type="radio" name="loisir" value="religion"/>Religion <input type="radio" name="loisir" value="telesision"/>Télévision <input type="radio" name="loisir" value="politique"/>Politique </td> </tr> <tr><td width="792" align="center"><input type="submit" name="valider" value="rechercher" /></td></tr> </table> </form> <?php }//fin fonction ?>
Ce ne sont que des "Notice", des messages d'informations pas importants.
Tu peux les supprimer soit en définissant tes variables avant de les utiliser, soit enlever l'affichage des Notice
Tu peux les supprimer soit en définissant tes variables avant de les utiliser, soit enlever l'affichage des Notice
salut,j'ai un soucie que j'aimerais partage avec vous afin que vous m'aidez.j'utilise 3 champs de sélection dans un formulaire d'ajout d'enregistrement dans ma base,afin de gérer les dates,2 dates donc 6 champs de sélection,mon insertion fonctionne sans problème,mais dans la modification de l'enregistrement j'ai un souci,j'utilise en fait une fonction "afficherformulaire()" qui me permet lorsque l'utilisateur clique sur le bouton modifié de l'enregistrement qu'il souhaite modifier d'afficher le formulaire avec en parametre ces informations,donc formulaire affiché avec les valeurs dans les differents champs,j'ai réussit à gerer le cas du bouton radio genre,c'est à dire qu'à laffichage du formulaire si l'utilisateur est du genre "masculin" masculin est coché s'il est du genre" feminin " feminin est coché egalement,mais je ne sais pas comment pouvoir gerer le cas des champs de selection à l'affichage.je voudrais que lors de l'affichage,il affiche dans les champs correspondants les valeurs jour, mois,et année.voici le code de ma fonction afficherformulaire():excuser moi pour sa longueur:
function afficherformulaire ($num='',$nom='',$prenom='',$genre='masculin',$dn='',$de='',$sal='',$error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="hidden"name="MAX_FILE_SIZE"value="1000000"> <table width="800" height="200" border="0" bgcolor="#FFFFCC"> <td><b>Numero:</b></td><td width="492"><input type="text" name="numero" value="<?php echo $num; ?>"> <br/></td> </tr> <tr> <td><b>Nom:</b></td><td><input type="text" name="nom" value="<?php echo $nom; ?>"><br/></td> </tr> <tr> <td><b>Prenom: </b></td> <td><input type="text" name="prenom" value="<?php echo $prenom; ?>" %2
c'est vrai,je vous remet le code:
function afficherformulaire ($num='',$nom='',$prenom='',$genre='masculin',$dn='',$de='',$sal='',$error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="hidden"name="MAX_FILE_SIZE"value="1000000"> <table width="800" height="200" border="0" bgcolor="#FFFFCC"> <td><b>Numero:</b></td><td width="492"><input type="text" name="numero" value="<?php echo $num; ?>"> <br/></td> </tr> <tr> <td><b>Nom:</b></td><td><input type="text" name="nom" value="<?php echo $nom; ?>"><br/></td> </tr> <tr> <td><b>Prenom: </b></td> <td><input type="text" name="prenom" value="<?php echo $prenom; ?>" /><br/></td> </tr> <tr> <td><b>Genre:</b></td><td><input type="radio" name="genre" value="masculin" <?php if ($genre=='masculin') echo 'checked'; ?>/>Masculin<input type="radio" name="genre" value="feminin" <?php if ($genre=='feminin') echo 'checked'; ?>/>Feminin<br/></td> </tr> <tr> <td><b>Date de Naissance:</b></td> <td> <select name="jour"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="mois"> <option value="01" >01</option> <option value="02" >02</option> <option value="03" >03</option> <option value="04" >04</option> <option value="05" >05</option> <option value="06" >06</option> <option value="07" >07</option> <option value="08" >08</option> <option value="09" >09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <select name="anne"> <option value="1900" >1900</option> <option value="1901" >1901</option> <option value="1902" >1902</option> <option value="1903" >1903</option> <option value="1904" >1904</option> <option value="1905" >1905</option> </select></td> </tr> <tr> <td><b>Date D'embauche:</b></td> <td> <select name="jouremb"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="moisemb"> <option value="01" >01</option> <option value="02" >02</option> <option value="03" >03</option> <option value="04" >04</option> <option value="05" >05</option> <option value="06" >06</option> <option value="07" >07</option> <option value="08" >08</option> <option value="09" >09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <select name="anneemb"> <option value="1900" >1900</option> <option value="1901" >1901</option> <option value="1902" >1902</option> <option value="1903" >1903</option> <option value="1904" >1904</option> <option value="1905" >1905</option> </select></td> </tr> <tr> <td><b>Salaire Brut:</b></td><td><input type="text" name="salbrut" value="<?php echo $sal; ?>"/><br/></td> </tr> <tr> <td width="172"><b>Situation Matrimoniale:</b></td> <td><input type="radio" name="sitmat" value="celibataire" checked="checked"/>Celibataire<input type="radio" name="sitmat" value="marie" />Marié<input type="radio" name="sitmat" value="veuf" />Veuf<input type="radio" name="sitmat" value="divorce" />Divorcé<br/></td> </tr> <tr> <td><b>Nombre D'enfants:</b></td><td><input type="text" name="nbenf" /><br/></td> </tr> <tr> <td width="172"><b>Numero de Télephone:</b></td> <td><input type="text" name="tel" /><br/></td> </tr> <tr> <td><b>Email:</b></td><td><input type="=text" name="mail" /><br/></td> </tr> <tr> <td><b>Photo:</b></td><td><input type="file" name="maphoto" /><br/></td> </tr> <tr> <td><b>Loisirs: </b></td><td><input type="radio" name="loisir" value="cinema" />Cinéma<input type="radio" name="loisir" value="musique" checked="checked" />musique<input type="radio" name="loisir" value="litterature" />Littérature<input type="radio" name="loisir" value="sport" />Sport<input type="radio" name="loisir" value="religion" />Réligion<input type="radio" name="loisir" value="television" />Télévision<input type="radio" name="loisir" value="politique" />Politique<br/></td> </tr> <tr> <form name="sauve" method="get" action="sauvegarder.php"> <td align="center" colspan="2"><input type="hidden" name="numero" value="<?php echo $row[0]; ?>" /><input type="submit" name="valider" value="sauvegarder"/></td> </form> </tr> </table> </form> <?php }//fin fonction $id = $_GET['numero']; $query ="select * from employes where numero = $id"; $result=mysql_query($query); // $row=mysql_fetch_array($result); while($row=mysql_fetch_array($result)) { afficherformulaire($row[0],$row[1],$row[2],$row[3],$row[6],''); die(); } $jr=$_POST['jouremb']; $ms=$_POST['moisemb']; $an=$_POST['anneemb']; $dat2="".$an."-".$ms."-".$jr." "; $jour=$_POST['jour']; $mois=$_POST['mois']; $annee=$_POST['anne']; $dat="".$annee."-".$mois."-".$jour." "; $numero=$_POST['numero']; $nom=$_POST['nom']; $prenom=$_POST['prenom']; $genre=$_POST['genre']; $salbrut=$_POST['salbrut']; $sitmat=$_POST['sitmat']; $nbenf=$_POST['nbenf']; $tel=$_POST['tel']; $mail=$_POST['mail']; $photo=$_FILES['maphoto']; $loisir=$_POST['loisir']; /*ce sont ces variables qu'il ne reconnait pas,il met notice:indefined index pour chaqu'un d'eux,pourtant c'est le meme formulaire que j'ai utilisé pour l'insertion mais là bas il ne me signale pas ce type de remarque*/ if($nom==''||$prenom=='') { afficherformulaire($numero,$nom,$prenom,"VEUILLEZ RENSEIGNER TOUS LES CHAMPS"); die(); } // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['maphoto']) AND $_FILES['maphoto']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['maphoto']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['maphoto']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png','JPEG'); if (in_array($extension_upload, $extensions_autorisees)) { move_uploaded_file($_FILES['maphoto']['tmp_name'], 'DossierImage/' . basename($_FILES['maphoto']['name'])); $fichier="DossierImage/".$_FILES['maphoto']['name']; }else { afficherformulaire($numero,$nom,$prenom,"Le type de fichier n'est pas supporté"); die(); } //echo"Le type de fichier n'est pas supporté"; } else { afficherformulaire($numero,$nom,$prenom,"La taille de la photo est trop grande"); die(); } } le code de "sauvegarder.php": $link=mysql_connect("localhost","root","pytheas"); $db=mysql_select_db("grh"); $id=$_GET['numero'];/*il ne reconnait pas le $id lequel marche pour la suppression*/ echo $id;/*ici il ne m'affiche aucune valeur de $id*/ die(); $query= "delete from employes where numero=$id"; /*comme je ne sais pas comment savoir exactement les champs modifiés je procede par une suppression pour refaire une insertion plus bas,mais rien de tout ceci ne marche et je n'arrive pas à percevoir l'erreur*/ $query='insert into employes values("'.$numero.'","'.$nom.'","'.$prenom.'","'.$genre.'","'.$dat.'","'.$dat2.'","'.$salbrut.'","'.$sitmat.'","'.$nbenf.'","'.$tel.'","'.$mail.'","'.$fichier.'","'.$loisir.'")'; $result=mysql_query($query)or die('Erreur SQL! <br/> '.$query.'<br/>' .mysql_error());; mysql_close();
j'ai supprimer mes die() mais le problème perssiste,je n'arrive pas à récupérer le id de l'enregistrement à sauvegarder, pourtant c'est de la même manière j'ai procedé aussi bien pour la suppression que pour la modification,mais je ne comprend pas pourquoi j'arrive pas à le récupérer sur ma page sauvegarder.php
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumVariables de session en javascript
- ForumAfficher toutes les variables session
- ForumEnvoie des variables session php
- ForumPhp - perte de variables de session
- ForumAfficher toutes les variables de session
- ForumPhp tableau de variables session
- ForumPhp variables de session souci
- ForumAfficher les variables de session php
- ForumPhp excel et variables de session
- ForumPhp probleme avec variables de sessions
- Voir plus