History.back() et parametres

Fermé
toyork - 12 mars 2004 à 19:25
 rizfort - 28 sept. 2007 à 16:40
Salut.
Pour une page web, j'aimerai faire un lien vers la page precedente.
Pour cela j'utilise javascript :
<a href="javascript:history.back()">lien</a>
Mais le probleme, c'est que je veux associer des parametres à l'url comme "url?name=value"
J'ai essayé :
<a href="javascript:history.back()?name=value">lien</a>
mais ca marche pas.

Si qqun peut m'aider, ca serai super sympa
Merci

4 réponses

l'history.back a un interêt certain si des pages differentes peuvent se connecter à la page info.php contenant le retour history.back.
Dans mon exemple : dans la page boutique.php il ya un listing d'articles si le client clique sur une icone article il ouvre une page info.php

Dans le page info.php s'il y une image, il est inutile d'utiliser history.back puisque le retour se fait systématiqement à la page boutique.php
La page de retour est connu donc pas d'history.back.

La page boutique.php peut poster des variables : une variables refimages et autres, ces variables devant être retransmises par la page info.php pour retrouver la même position dans le listing de la page boutique.php lorsque nous l'avons quitté.

pas besoin de history.back donc agir ainsi suffit

<tr>
<td width="437" height="410" align="center" valign="middle">
<a href="../boutique.php?lareq=<?php echo $lareq; ?>"><img src="Imagehtm/<?php echo $refimage.".jpg";?>" alt="Retour Boutique" width="230" height="400" border="0"></a>
</td>

dans l'exemple : $Lareq contient un requete Mysql et $refimage contient le nom de l'image selectionnée dans le listing bouitqie.php
Nous sommes obliger d'envoyer $lareq à info.php pour que info.php puisse la renvoyer à boutique.php sinon son contenu serait perdu
du fait de changer de page. (boutique.php et info.php ouvrent obligatoirement une page)

Le retour avec transfert de variables est garanti. Pour ce cas History.back aucun interêt.
history.back a de l'intérêt lorques la page qui se connecte à info.php sont différentes et inconnuent.
1
quant à renvoyer des variables avec history.back, je suis comme toi je n'ai pas trouvé mais ce n'est pas faute d'avoir cherché
si tu es dans le cas précédent le href indiqué est fait sur l'image ce trouvant dans page info.php de l'exemple du message précedent.
Si tu débutes, ce manque d'information aurait pu nuire à la compréhension générale de la solution.
0
si tu travaille en php
une variable serveur existe :

dans la page qui reçoit l'activation tu utilises

echo "<br>je suis server_referer_____ : ".$_SERVER["HTTP_REFERER"];

$_SERVER["HTTP_REFERER"] contient l'url de la page d'envoie.

dans jenvois.php le client clique sur un boutons dans la page jerecois.php

$_SERVER["HTTP_REFERER"] contient http://taratata/jenvois.php

au lieu d'utiliser history.back

tr>
<td width="437" height="410" align="center" valign="middle">
<a href="../<?php echo $_SERVER["HTTP_REFERER"]?lareq=$lareq; ?>"><img src="Imagehtm/<?php echo $refimage.".jpg";?>" alt="Retour Boutique" width="230" height="400" border="0"></a>
</td>
la syntaxe n'est pas verifié mais un truc dans le genre pour retour à l'envoyeur
ça avance à petit pas mais ça avance!
0
Dans le dernier message la syntaxe données n'est pas la bonne donc je balance la totale
En programmation php et html
un fichier emetteur envoivar.php un fichier recepteur historibac.php qui contient une image à créer un clic sur l'image renvoie la réponse
à un internaute inconnu mais client pour convenir de l'exploitation des variables.
le fichier envoivar.php contient la technique des feuilles de style pouvant mettre en forme les imput

ci-dessous envoivar.php
<?php
if (!isset($_GET["reponse"])){
$reponse="";
}else{

$reponse=$_GET["reponse"];
}
?>
<html>
<head>
<title>envoyer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
input#t1 {
background-color : #B9B9FF;
color : #CC0000;
}
input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: 13px;
font-weight: bold;
font-variant: small-caps;
text-transform: lowercase;
color: #CC0000;
}
</style>
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center"></div>
<div align="center">
<table width="716" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFCC99">
<!--DWLayoutTable-->
<tr>
<td width="102" height="37"></td>
<td width="114"></td>
<td width="9"></td>
<td width="112"></td>
<td width="107"></td>
<td width="39"></td>
<td width="178"> </td>
<td width="55"></td>
</tr>
<tr>
<td height="15"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td rowspan="3" align="center" valign="middle">Si t'as pas tapé tasse<br>
je le saurais</td>
<td></td>
</tr>
<form name="form1" method="post" action="historibac.php">
<tr>
<td height="22"></td>
<td align="right" valign="middle" bgcolor="#CCCCCC"><font color="#CC0000" face="Verdana, Arial, Helvetica, sans-serif"><strong>tapez
tasse </strong></font></td>
<td colspan="3" valign="middle"> <strong>
<!--il est possible d'effacer dans le style CSS LES LIGNES 2, 3, 4, 5 (retrait du background) mais je les laisse car
c'est deux techniques distinctes pour arriver au même resultat le style est rattaché à l'input grace
à id="t1" avec ce principe seul l'input t1 sera affecté du style
le deuxiéme style input affecte tous les inputs de la page input du bas n'a pas de background-->
<input name="question" id="t1" type="text" value="<?php echo $reponse; ?>">
</strong></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="14"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="15"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="24"></td>
<td></td>
<td> </td>
<td align="center" valign="middle"> <input type="submit" name="roulodeprintemp" value="Envoyer">
</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="66"></td>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</form>
</table>
</div>
</body>
</html>
******************************fin envoivar.php*************************************
fichier historibac.php

<?php
if (!isset($_POST["question"])){
$question="";
}else{
$question=$_POST["question"];
}
//echo "<br>je suis question posée_____ :".$question."<br>";
//l'url du client est inconnue mais plus maintenant grace à bibi
echo "<br>hélas la réponse se colle en extrémité a chaque clic___ : ".$_SERVER["HTTP_REFERER"];

//obligé de nettoyer l'extrémité de l'url en retirant la partie réponse qui se colle apres lepoint d'inerrogation
$urlretour=$_SERVER["HTTP_REFERER"];
$trouve = "?";
//explode eclate en deux chaînes de caractéres à gauche et à droite du ?
$urlprov=explode($trouve,$urlretour);
echo "<br>moi variable tableau la partie gauche de l'explode _____ : ".$urlprov[0];
//prendre que la partie avant le ?
$urlretourdef=$urlprov[0];
echo "<br>moi variable, pas tableau urlretourdef dont on a retiré la réponse collée en bout____ : ".$urlretourdef;
if ($question<>"tasse"){
$reponse="t'as pas tapé tasse ?";
}else{
$reponse="c'est ta meuf";
}
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="507" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="30" height="24"> </td>
<td width="52"> </td>
<td width="142"> </td>
<td width="72"> </td>
<td width="131"> </td>
<td width="52"> </td>
<td width="28"> </td>
</tr>
<tr>
<td height="20"> </td>
<td> </td>
<td rowspan="2" valign="top">
<!--<a href="envoivar.php?reponse=a thé"><img src="images/som.jpg" width="141" height="110" border="0"></a>-->
<a href="<?php echo $urlretourdef.'?reponse='.$reponse; ?>"><img src="images/som.jpg" width="141" height="110" border="0"></a>
</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="109"> </td>
<td> </td>
<td> </td>
<td colspan="2" valign="top"><p align="center"><strong>Cliquer sur l'image</strong></p>
<p align="justify"> pour renvoyer une réponse a l'internaute client
mais dont l'url était inconnu.</p></td>
<td> </td>
</tr>
<tr>
<td height="55"> </td>
<td> </td>
<td> </td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="38"> </td>
<td colspan="4" align="center" valign="top">Pour que cela fonctionne il faut
que la page de l'internaute et la notre soient capables exploiter la variable
reponse et question</td>
<td> </td>
<td></td>
</tr>
<tr>
<td height="19"> </td>
<td> </td>
<td> </td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="25"></td>
<td colspan="4" align="center" valign="top">un petit coût de style sur
l'input ça dérange pas trop ???</td>
<td></td>
<td></td>
</tr>
<tr>
<td height="15"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
******************fin historibac.php*****************************
0