[RESOLU] redirection après recherche

Eléphanteau du PHP | 14 Messages

04 juin 2013, 09:47

Bonjour,
J'essaye de vous expliquer au mieux mon soucis.
En gros l'utilisateur fait une recherche de fichier, la recherche s'affiche donc et l'utilisateur a donc la possibilité d'augmenter le temps de vie du fichier sur le serveur. sauf qu'une fois qu'il a augmenté le temps du fichier la redirection me permet d'afficher tout les fichiers présentet pas la recherche qui a été effectué or je voudrai que la redirection ré-affiche la recherche de l’utilisateur et pas tout les fichiers présent.
Voila mon code recherche_fichier.php
<?php
include ("db.conf");	 

// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';

// la requete mysql
$sql = mysql_query(
"SELECT $fd_namef, $fd_availablef, $fd_availableu, $fd_emailup, $fd_id FROM $tb_user WHERE $fd_namef LIKE '%$recherche%'  ") or die (mysql_error());

// affichage du résultat
while(list($Nom_du_fichier, $valablede, $valablea, $email, $id)=mysql_fetch_array($sql))
{
	echo '<form action="new_date.php" method="post" onsubmit="return ConfirmMessage()"><tr>
	<td> '.$Nom_du_fichier.'</td> <td>  '.$valablede.'</td><td>  '.$valablea.'</td> <td><input type="hidden" name="id" value="'.$id.'"/>'.$email.'</td><td>'.$id.'</td><td>
	<INPUT type=submit value="+1 jour">
	</td></tr></form>'; 
}

?> 
new_date.php
<?php
include ("db.conf");
include ("Include/ajout_jour.php");
//Commande permettant de mettre à jour la date dans la base de donnée
$dateFin = "UPDATE fz_file SET $fd_availableu = '$dateFin' WHERE id = ". $_POST['id'] ."";
$mysqlquery = mysql_query( $dateFin )or die (mysql_error());

header('Location: recherche_fichier.php?code=');

?>
Merci beaucoup =)

Mammouth du PHP | 619 Messages

04 juin 2013, 10:23

Bonjour,

je pense que tu peux déjà ajoute un champ hidden dans ton fichier recherche_fichier.php
<input type="hidden" name="recherche" value="'.$recherche.'" />
on passe cette élément pour pouvoir le récupèré dans le fichier new_date.php

puis dans ton fichier new_date.php
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';//on récupère la recherche
header('Location: recherche_fichier.php?code='.$recherche);//puis on renvoi la recherche dans la variable code
puis dans recherche_fichier.php tu vérifie si la variable code existe

Eléphanteau du PHP | 14 Messages

04 juin 2013, 14:53

Dans recherche_fichier.php pour pouvoir récupérer l’élément dans le fichier new_date j'ai fait $recherche = isset($_GET['code'])
Quand tu me demande de rajouter <input type="hidden" name="recherche" value="'.$recherche.'" /> je dois le mettre a quel endroit ?
Je ne sais pas du tout ou le placé dans mon code j'ai essayé plein de solution et ça me renvoie toujours la page recherche_fichier comme si il n'y avait pas eu de recherche.

Merci beaucoup en tout cas j'ai compris en tout cas la démarche mais j'ai pas réussi a la mettre a l'appliquer dans mon code

Mammouth du PHP | 619 Messages

04 juin 2013, 15:41

<?php
include ("db.conf");     

if(isset($_GET['code'])){
$recherche = isset($_GET['code']) ? $_GET['code'] : '';


}
else{

// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';

// la requete mysql
$sql = mysql_query(
"SELECT $fd_namef, $fd_availablef, $fd_availableu, $fd_emailup, $fd_id FROM $tb_user WHERE $fd_namef LIKE '%$recherche%'  ") or die (mysql_error());

// affichage du résultat
while(list($Nom_du_fichier, $valablede, $valablea, $email, $id)=mysql_fetch_array($sql))
{
        echo '<form action="new_date.php" method="post" onsubmit="return ConfirmMessage()"><tr><input type="hidden" name="recherche" value="'.$recherche.'" />
        <td> '.$Nom_du_fichier.'</td> <td>  '.$valablede.'</td><td>  '.$valablea.'</td> <td><input type="hidden" name="id" value="'.$id.'"/>'.$email.'</td><td>'.$id.'</td><td>
        <INPUT type=submit value="+1 jour">
        </td></tr></form>'; 
}
}

?>
<?php
include ("db.conf");
include ("Include/ajout_jour.php");
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : ''
//Commande permettant de mettre à jour la date dans la base de donnée
$dateFin = "UPDATE fz_file SET $fd_availableu = '$dateFin' WHERE id = ". $_POST['id'] ."";
$mysqlquery = mysql_query( $dateFin )or die (mysql_error());

header('Location: recherche_fichier.php?code='.$recherche);

?>

Eléphanteau du PHP | 14 Messages

04 juin 2013, 16:19

Cool Merci beaucoup j'ai fais exactement comme tu m'a marqué mais en revanche maintenant une fois que le traitement a été exécuté la page n'affiche plus aucun fichier. je vais essayé de trouver l'erreur mais en tout cas merci je suis pas loin de ce que je voulais!

Mammouth du PHP | 619 Messages

04 juin 2013, 16:21

Re,

normal tu rentre dans cette condition
if(isset($_GET['code'])){
$recherche = isset($_GET['code']) ? $_GET['code'] : '';
ici mets ton code 

}

Eléphanteau du PHP | 14 Messages

04 juin 2013, 16:27

C'est bon j'ai réussi j'ai répondu un peu vite tout a l'heure ! Merci beaucoup je vais pouvoir mettre mon sujet en resolu
je vous met le code définitf ça pourrai peut être aider quelqu’un.
<?php
include ("db.conf");     

if(isset($_GET['code'])){
$recherche = isset($_GET['code']) ? $_GET['code'] : '';
$sql = mysql_query(
"SELECT $fd_namef, $fd_availablef, $fd_availableu, $fd_emailup, $fd_id FROM $tb_user WHERE $fd_namef LIKE '%$recherche%'  ") or die (mysql_error());

// affichage du résultat
while(list($Nom_du_fichier, $valablede, $valablea, $email, $id)=mysql_fetch_array($sql))
{
        echo '<form action="new_date.php" method="post" onsubmit="return ConfirmMessage()"><tr><input type="hidden" name="recherche" value="'.$recherche.'" />
        <td> '.$Nom_du_fichier.'</td> <td>  '.$valablede.'</td><td>  '.$valablea.'</td> <td><input type="hidden" name="id" value="'.$id.'"/>'.$email.'</td><td>'.$id.'</td><td>
        <INPUT type=submit value="+1 jour">
        </td></tr></form>'; 
}


}
else{

// Récupère la variable
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : '';

// la requete mysql
$sql = mysql_query(
"SELECT $fd_namef, $fd_availablef, $fd_availableu, $fd_emailup, $fd_id FROM $tb_user WHERE $fd_namef LIKE '%$recherche%'  ") or die (mysql_error());

// affichage du résultat
while(list($Nom_du_fichier, $valablede, $valablea, $email, $id)=mysql_fetch_array($sql))
{
        echo '<form action="new_date.php" method="post" onsubmit="return ConfirmMessage()"><tr><input type="hidden" name="recherche" value="'.$recherche.'" />
        <td> '.$Nom_du_fichier.'</td> <td>  '.$valablede.'</td><td>  '.$valablea.'</td> <td><input type="hidden" name="id" value="'.$id.'"/>'.$email.'</td><td>'.$id.'</td><td>
        <INPUT type=submit value="+1 jour">
        </td></tr></form>'; 
}
}

?>
=)

Mammouth du PHP | 619 Messages

04 juin 2013, 16:32

Bonjour,

il a erreur je pense que tu voulai mettre un code different

<?php
include ("db.conf");     

// Récupère la variable
$recherche = isset($_REQUEST['recherche']) ? $_REQUEST['recherche'] : '';

// la requete mysql
$sql = mysql_query(
"SELECT $fd_namef, $fd_availablef, $fd_availableu, $fd_emailup, $fd_id FROM $tb_user WHERE $fd_namef LIKE '%$recherche%'  ") or die (mysql_error());

// affichage du résultat
while(list($Nom_du_fichier, $valablede, $valablea, $email, $id)=mysql_fetch_array($sql))
{
        echo '<form action="new_date.php" method="post" onsubmit="return ConfirmMessage()"><tr><input type="hidden" name="recherche" value="'.$recherche.'" />
        <td> '.$Nom_du_fichier.'</td> <td>  '.$valablede.'</td><td>  '.$valablea.'</td> <td><input type="hidden" name="id" value="'.$id.'"/>'.$email.'</td><td>'.$id.'</td><td>
        <INPUT type=submit value="+1 jour">
        </td></tr></form>'; 
}

?>

et
<?php
include ("db.conf");
include ("Include/ajout_jour.php");
$recherche = isset($_POST['recherche']) ? $_POST['recherche'] : ''
//Commande permettant de mettre à jour la date dans la base de donnée
$dateFin = "UPDATE fz_file SET $fd_availableu = '$dateFin' WHERE id = ". $_POST['id'] ."";
$mysqlquery = mysql_query( $dateFin )or die (mysql_error());

header('Location: recherche_fichier.php?recherche='.$recherche);

?>