copier coller entre page php

laplumaencre
Invité n'ayant pas de compte PHPfrance

04 août 2006, 09:42

Bonjour à tous et toutes !!

j'ai besoins d'une sorte de copier coller entre deux pages php, voir code pour meilleur explication. Le code est plus un algo qu'un bon code...Merci a tous en attendant votre aide.

Code : Tout sélectionner

<?php include("recherche_client.php"); include("fichedes.php"); if ($_POST["copie_code"]) { // SI le bouton nommé "copier le code client" est activé alors header("Location:fichedes.php?".$_POST["client"]=$tab_code); // la variable du code client doit allée dans le value=$tab_code du <input> nommé $_POST["client"] ; } ?>

Eléphant du PHP | 88 Messages

04 août 2006, 10:12

Salut!

Je suis pas sûr qu'il accepte :
header("Location:fichedes.php?".$_POST["client"]=$tab_code); 
A mon avis tu ne dois pas pouvoir avoir un input ayant pour name $_POST[]. Tu peux avoir un input avec name="client" et un formulaire avec une méthode en POST.

Mais si tu veux passer le $tab_code en url avec le header dans ta page fichesdes.php il va te falloir récuperer la valeur passer en url avec un $_GET["client"]

et pour ton header :
header("Location:fichedes.php?client=$tab_code"); 
@+

laplumaencre
Invité n'ayant pas de compte PHPfrance

04 août 2006, 10:29

Oui bien sur mon <input> est de façon normal avec un type, un name etc.. et mon form method="POST", c'etait juste pour expliquer ce que je voulais faire , le code etait bien sur faux.
J'ai essayé avec ton code

Code : Tout sélectionner

<?php header("Location:fichedes.php?client=$tab_code");
Mais ça marche pas...:-(
en fait je veux juste recupérer la variable qui contient le code client $tab_code trouver grace a mon moteur de recherche "copiecodeclient.php" et le recoller dans ma page précedente "fichedes.php" dans la zone de texte

Code : Tout sélectionner

<input name="client" size="15" maxlength="40" type="text" value="Code client">
...

Eléphant du PHP | 88 Messages

04 août 2006, 11:34

Salut!

Tu laisses le Header comme indiqué précédement et dans ton fichier fichedes.php tu fais :
$client = isset($_GET["client"]) ? $_GET["client"]: "";
et ainsi ton input devient:
<input name="client" size="15" maxlength="40" type="text" value="<? echo $client; ?>">
tiens moi au courant

@+

laplumaencre
Invité n'ayant pas de compte PHPfrance

04 août 2006, 11:45

Merci leakcim51 !

bon ça marche pas ! voici mon code du fichier copiecodeclient.php qui sert a trairt les 2 autres

Code : Tout sélectionner

<?php include("recherche_client.php"); include("fichedes.php"); if ($_POST["copie_code"]) { header("Location:fichedes.php?client=$tab_code"); } ?>
En fait ds ma page moteur de recherche quand je clic sur le bouton copie_code ça me réactualise la page recherche et c'est tout. Rien ne se passe sur fichedes.php qui contient le input name ="client" , je pense qu'il va falloir du javascript mais je connais pas du tout :-(( , tout ca pour faire un copier coller d'une page a l'autre.... :-)

Mammouth du PHP | 684 Messages

04 août 2006, 11:59

Salut.
C'est moi ou je ne comprend pas ce que tu veux faire ?
Tu veux lors d'un submit d'un formulaire récupérer ta valeur pour la mettre dans une autre page ?
Soit tu passe la valeur en paramètre, soit tu utilise les sessions.
Peux tu essayer d'expliquer un peu mieux ton problème car la tu parle de copier coller qui ne veut rien dire en PHP.
Dans ton code, tu fais une inclusion du fichier 'fichedes.php' et dans ta redirection tu fais 'Location:fichedes.php'.
Je ne comprend pas l'intérêt de rappeler la même page.
Zigz4g

Eléphant du PHP | 88 Messages

04 août 2006, 12:02

Salut.

si tu m'as donné le code source de ta page en entier tu as plusieurs problemes :

1 : tu ne donnes pas de valeurs à $tab_code
2 : tu fais un insert de fichedes.php que tu appelles ensuite avec le Header

Ce n'est pas parce que tu fais un insert d'un fichier que tu peux utiliser ensuite les variables contenu dans ce fichier.

@+

laplumaecnre
Invité n'ayant pas de compte PHPfrance

04 août 2006, 13:45

Bon je comprend plus rien... le bout de code que je vous est mis c'est juste pour demander :
J'ai une page avec un formulaire qui contient beaucoup de champ de liste deroulante etc...Sur l'un des champs "Collectivité/Société", l'utilisateur doit entrer le code client mais si il ne le connait pas il clic sur le bouton "rechercher le code" , une fenêtre s'ouvrent ; c'est le moteur de recherche qui renvois les résulats correspondant au critere "nom ville et dept" juste en dessous donc sur la meme fenetre, ensuite l'utilisateur aura juste a cliké sur un bouton "copier code" pour que le code client ($tab_code) soit copier et coller dans le champ de la fenetre mere= le formulaire, la page recherche est fermer en meme temps. voila le scénario de ce qui doit se passer.
pour l'instant j'ai réussi a faire : formulaire et moteur de recherche qui renvois ces résultat sur lui meme ranger ds un tableau avec un bouton au bout pour copier le code client de la ligne...
voila mais j'arrive pas a faire la derniere fonction "une sorte de copier/coller avec le bouton prévu"
ouf !! j'espere que c'est plus clair :D

Eléphant du PHP | 88 Messages

04 août 2006, 14:38

salut

tu peux essayer de passer par une variable de session. Lorsque tu as fais ta recherche et que tu trouves le code, tu le rentres dans une variable de session et ensuite tu la récuperes dans la page principale.

Un peu d'aide au cas où : http://www.phpfrance.com/tutoriaux/inde ... ssions-php

Donc pour rentrer ta variable tu fais :
<?php
session_start();
...
$_SESSION['code']=$ton_code;
...
?>
et ensuite dans ta page principale :
<?php
session_start();
...
$tab_code = $_SESSION['code'];
header("Location:fichedes.php?client=$tab_code");
...
?>
++

laplumaencre
Invité n'ayant pas de compte PHPfrance

04 août 2006, 15:10

Merci leakcim51, mais je n'arrive pas appliquer ton exemple avec ton code donc voici le code des 3 fichiers php que je parle, j'espere que le message va pas saturé car y a beaucoup de ligne...
fichier recherche_client.php

Code : Tout sélectionner

<?php require_once('connexion.php'); /* ----------------------------------- ------ SCRIPT DE PROTECTION ------- ----------------------------------- */ session_start(); // On relaye la session if (session_is_registered("authentification") && $_SESSION['privilege'] == "com" || $_SESSION['privilege'] == "prod"){ // vérification sur la session authentification (la session est elle enregistrée ?) // redirection possible }else{ header("Location:index.php?erreur=intru"); // redirection en cas d'echec } ?> <html> <head> <title>Recherche code client</title> </head> <body background="image/back.jpg" border="0" bordercolor="#ffffdd"> <h2 align="center">Recherche code client</h2> <form method="POST" action="recherche_client.php"> <table width="500" height="300" align="center"> <tr> <td width="45%" align="left"><b>Libellé client/société :</b></td> <td align="left"><input type="texte" name="libelle"></td> </tr> <tr> <td align="left"><b>Département :</b></td> <td align="left"><input type="texte" name="dept"></td> </tr> <tr> <td align="center"><INPUT Type="Button" Value="Fermer cette fenêtre" onclick="javascript:window.close()"></td> <td align="center"><INPUT Type="submit" name="rechercher" value="Rechercher le code"></td> </tr> </table> </form method="POST"> <?php if ($_POST["rechercher"]) { $libelle=$_POST["libelle"]; $dept=$_POST["dept"]; if ($libelle=="" && $dept=="") { $message="Veuillez renseigner au moins un champs !"; echo $message; exit; } //-------------------------Connexion au SERVEUR SQL SRV-S5-LEBLANC POUR RECHERCHE DU CODE CLIENT--------------------------------- $connexion=mssql_connect("******","**","**") or die("<p>Echec de connexion!"); mssql_select_db("DB000000", $connexion) or die ("<p>Echec de connexion à la base de donnée!"); if ($connexion){ $SQL=mssql_query("SELECT T_TIERS,T_LIBELLE,T_CODEPOSTAL,T_VILLE FROM TIERS WHERE T_LIBELLE LIKE '%".$libelle."%' AND T_CODEPOSTAL LIKE '".$dept."%'", $connexion); if ($SQL) { $result=mssql_fetch_array($SQL); if ($result!=null){ echo "<table border=\"1\" width=\"100%\"><TH width=\"15%\">CODE CLIENT</TH><TH width=\"30%\">LIBELLE</TH><TH width=\"15%\">CODE POSTAL</TH><TH width=\"20%\">VILLE</TH><TH width=\"20%\"></TH>"; while ($result=mssql_fetch_array($SQL)) { $tab_code=$result["T_TIERS"]; $tab_libelle=$result["T_LIBELLE"]; $tab_code_postal=$result["T_CODEPOSTAL"]; $tab_ville=$result["T_VILLE"]; echo " <form method=\"POST\"> <table border=\"1\" width=\"100%\"> <tr> <td width=\"15%\">".$tab_code."</td> <td width=\"30%\">".$tab_libelle."</td> <td width=\"15%\">".$tab_code_postal."</td> <td width=\"20%\">".$tab_ville."</td> <td colspan=5 width=\"20%\"><input type=\"submit\" name=\"copie_code\" value=\"Copier code client\"></td> </tr> </table> </form>"; } }else { echo "Aucun résultat trouvé !"; } } } } ?> <div><?php echo $message; ?></div> </body> </html>
fichier fichedes.php

Code : Tout sélectionner

<?php require_once('connexion.php'); /* ----------------------------------- * ------ SCRIPT DE PROTECTION ------- * ----------------------------------- */ session_start(); // On relaye la session if (session_is_registered("authentification") && $_SESSION['privilege'] == "com" || $_SESSION['privilege'] == "prod" || $_SESSION['privilege'] == "simu"){ // vérification sur la session authentification (la session est elle enregistrée ?) //eventuelle redisrection ou code divers... }else{ header("Location:index.php?erreur=intru"); // redirection en cas d'echec } ?> <!-- FORMULAIRE FICHE DESCRIPTIVE --> <html> <head> <title>EasyFiche</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table style="width: 1024px; height: 768px; text-align: left; margin-left: auto; margin-right: auto;" background="image/back.jpg" border="0" bordercolor="#ffffdd"> <tbody> <tr> <td style="text-align: justify;"> <form name="form_fiche" method="post" action="traitement_fiche.php"> <p align="center"><b><font size="9">Easyfiche</font></b></p> &nbsp; <table style="text-align: left; margin-left: auto; margin-right: auto; width: 1021px; height: 145px;" border="1" cellpadding="2" cellspacing="1"> <tbody> <tr> <td style="text-align: left;"><b><u>Information sur le dossier :<br><br></u></b>&nbsp; &nbsp;Intitul&eacute; du projet :&nbsp;<input name="nom_projet" size="20" maxlength="30" type="text"> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;Nombre d'impressions pour le client : &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <input name="nbre_imp_clt" size="10" type="text"> &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; *Simulation ou visuel souhait&eacute; <input name="visuel" value="oui" type="radio" checked>oui <input name="visuel" value="non" type="radio">non<br> &nbsp;<br> &nbsp; &nbsp;Marque : &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <select name="marque"> <?php $connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!"); mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!"); $SQL1 = "SELECT id_menu,libelle FROM menu_deroulant WHERE id_menu='marque'"; $res1 = mysql_query($SQL1); while ($val1=mysql_fetch_array($res1)) { echo "<option>".$val1["libelle"]."</option>\n"; } ?> </select> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; Nombre d'impressions pour l'agent/commercial :&nbsp;<input name="nbre_imp_com" size="10" type="text"><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </td> </tr> </tbody> </table> &nbsp; <p style="margin-top: 0px; height: 7px;">&nbsp; </p> <table style="text-align: left; margin-left: auto; margin-right: auto; width: 1021px; height: 175px;" border="1" cellpadding="2" cellspacing="1"> <tbody> <tr> <td style="text-align: justify;"> &nbsp;<b><u>Information sur le commercial charg&eacute; du dossier et sur le client :</u></b><br><br> &nbsp; &nbsp;Origine : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; <select name="origine"> <?php $connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!"); mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!"); $SQL2 = "SELECT id_menu,libelle FROM menu_deroulant WHERE id_menu='origine'"; $res2 = mysql_query($SQL2); while ($val2=mysql_fetch_array($res2) ) { echo "<option>".$val2["libelle"]."</option>\n";} ?> </select> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Nom du commercial :&nbsp; <select name="commercial"> <?php $connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!"); mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!"); $SQL18 = "SELECT id_menu,libelle FROM menu_deroulant WHERE id_menu='commercial'"; $res18 = mysql_query($SQL18); while ($val18=mysql_fetch_array($res18)) { echo "<option>".$val18["libelle"]."</option>\n";} ?> </select> &nbsp; &nbsp; &nbsp; &nbsp; *Nom de l'ass.commerciale : <select name="assis_com"> <?php $connexion=mysql_connect("$hostname_dbprotect","$username_dbprotect","$password_dbprotect") or die("<p>Echec de connexion!"); mysql_select_db("$database_dbprotect", $connexion) or die ("<p>Echec de connexion à la base de donnée!"); $SQL19 = "SELECT id_menu,libelle FROM menu_deroulant WHERE id_menu='assis_com'"; $res19 = mysql_query($SQL19); while ($val19=mysql_fetch_array($res19)) { echo "<option>".$val19["libelle"]."</option>\n";} ?> </select> <br><br> &nbsp; &nbsp;*Collectivit&eacute;/Soci&eacute;t&eacute; client :&nbsp; <?php $client = isset($_GET["client"]) ? $_GET["client"]: ""; ?> <input name="client" size="15" maxlength="40" type="text" value="<? echo $client; ?>"><input value="Rechercher code" type="button" onclick="window.open('recherche_client.php','Client')"> //JE l'arrete là car encore beaucoup de ligne et pas utile pour le probleme //donc ?> :-)
fichier copiecodeclient.php

Code : Tout sélectionner

<?php include("recherche_client.php"); include("fichedes.php"); session_start(); if ($_POST["copie_code"]) { $_SESSION['code']=$tab_code; $tab_code = $_SESSION['code']; header("Location:fichedes.php?client=$tab_code"); } ?>
voila j'espere que le moderateur va laisser passer le code car sinon personne me comprend ;-)

Mammouth du PHP | 684 Messages

04 août 2006, 15:12

une fenêtre s'ouvrent ;
Tu pense a une popup ? Dans ce cas tu dois peut être te pencher sur la solution JavaScript.
Zigz4g

Mammouth du PHP | 684 Messages

04 août 2006, 15:15

Peux tu mettre ton code PHP dans des balises PHP du forum pour avoir la coloration syntaxique. Merci.

PS : pour un admin qui passe ici, faudrait voir a changer l'intitulé du bouton code.
Zigz4g

Eléphant du PHP | 88 Messages

04 août 2006, 17:58

Salut!

j'ai pas dû me faire comprendre mais avec les variables de sessions ton fichier copiecodeclient.php ne sert plus à rien à mon avis.

En plus tu as deux formulaires dans ton fichier recherche_client.php et je ne pense pas que ce soit possible.

Et soit tu passes par le $_GET ( en utilisant le header("Location:fichedes.php?client=$tab_code");) mais dans ton fichier recherche_client.php

soit tu utilises le $_SESSION et dans ce cas dans fichesdes.php tu n'appelles pas $_GET["client"] mais $_SESSION["codeClient"]

Mais evite de mélanger les deux

bon courage

laplumaencre
Invité n'ayant pas de compte PHPfrance

07 août 2006, 12:01

Salut !!!
bon je n'y arrive pas :-((
la technique du header renvoie une nouvelle fenetre fichedes.php (donc je me retrouve avec 2 formulaires) et ne remplit pas le champ client avec $tab_code....
J'ai corrigé les fautes de double formulaire ds recherche_client.php...
Je me suis repenché sur une $_SESSION mais j'arrive pas a la recuper pour la placé en value de mon input sur ma fichedes.php, a moins que ça soit ds mon recherche_code.php qu'il est une erreur de récupération de la variable $tab_code dans $_SESSION['code'], bref je tourne en rond et n'avance pas dur...mais les jours si:-)

laplumaencre
Invité n'ayant pas de compte PHPfrance

07 août 2006, 14:20

je récapitule mon essais avec la $_SESSION :

ds recherche_code.php :
if ($_POST["copie_code"]) {
	session_start() ;
	$_SESSION['code']=$tab_code;
}

je recupere ds fichedes.php :
collectivité/Société :
<input name="client" size="15" maxlength="40" type="text" value="<?php session_start(); echo $_SESSION['code']; ?>">