|
|
|
|
Bonjour,
Je ne connais pas grand chose en js mais j'ai besoin de rediriger sur une nouvelle page pour récupérer la resolution (obtenue grâce a js) en php. Le problème est que dans le document.location.href, je n'arrive pas à passer une variable créée juste avant avec js dans l'adresse, pour ensuite la récupérer avec un $_GET...
J'espère avoir été assez claire, et voici le bout de script concerné (j'arrive à récupérer la variable screen.width avec $_GET['width'] mais pas ancre avec $_GET['ancre']...)
<script type="text/javascript">
<!-- debut
function resolution() {
var ancre = 'club' ;
document.location.href="accueil.php?width="+screen.width+"&ancre="+ancre;
}
// fin -->
</script>
</head>
<?php
if(!isset($_GET['width']) and !isset($_GET['height']))
{
echo '<body onload="resolution();">';
}
else
{
$largeur=$_GET['width'];
if(isset($_GET['ancre']))
{
$ancre=$_GET['ancre'];
echo $ancre;
}
else
{
echo '<p>erreur</p>';
}
echo '<body>';
}Configuration: Windows Vista Firefox 2.0.0.14
http://localhost/bda/accueil.php?width=1280&ancre=club
|
<script type="text/javascript">
|
Oui en effet tu as raison. Dans ce cas-là le problème doit venir d'autre part mais je vois pas du tout de où...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Le fabuleux</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="codebis.css" /> <script type="text/javascript"> <!-- debut function resolution() { var ancre = 'club' ; document.location.href="accueil.php?width="+screen.width+"&ancre="+ancre; } // fin --> </script> </head> <?php if(!isset($_GET['width']) and !isset($_GET['height'])) { echo '<body onload="resolution();">'; echo '<p>erreur</p>'; } else { $largeur=$_GET['width']; if(isset($_GET['ancre'])) { $ancre=$_GET['ancre']; echo $ancre; } else { echo '<p>erreur</p>'; } echo '<body>'; } include("en_tete.php"); include("menugauche.php"); include("menudroite.php"); ?> <div id="chemin"><a href="accueil.php">Accueil</a></div> <div id="transparence"> <h1>Accueil</h1><br/> <?php echo $largeur; echo $ancre; mysql_connect("localhost", "root", ""); mysql_select_db("test"); // On récupère les 5 dernières news $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5'); while ($donnees = mysql_fetch_array($retour)) { ?> <div class="news"> <h2> <?php echo $donnees['titre']; ?> </h2> <em class="petit">le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em> <p> <?php // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />) $contenu = nl2br(stripslashes($donnees['contenu'].'<br/>'.'<hr/>')); echo $contenu; ?> </p> </div> <?php } // Fin de la boucle des news ?> <span id="club"><img align="center" id="palette" src="palette2x1280.png"></span> <p id="remonter"><a href="accueil.php#chemin">Remonter</a></p> </div> <?php include("pied_de_page.php"); ?> </body> </html> |
<script type="text/javascript">
<!-- debut
function resolution() {
var ancre = 'club' ;
document.location.href="accueil.php?width="+screen.width+"&ancre="+ancre;
}
// fin -->
</script>
hello as tu essayé cette fonction : encodeURIComponent(chaîne) Encode l'URI de telle façon que tous les caractères spéciaux sont transformés en séquences de signes ASCII. Les caractères avec accents en français par exemple (ou avec Umlaut en allemand), les caractères spéciaux ainsi que les espaces, les parenthèses accolades... sont donc codés. A la diférence de la fonction encodeURI, encodeURIComponent encode aussi ces caractères : , / ? : @ & = + $ donc tu remplaces document.location.href= par chaineurl="accueil.php?width="+screen.width+"&ancre=+ancre; Ensuite tu fais chaineurl=encodeURIComponent(chaineurl); voila j'espère que cela t'aidera A bientot Tim Oups petit edit car j'avais commencé cet aprem et j'ai pas vu l'évolution enfin |