Recuperer une variable et envoyer vers URL automatiquement - PHP - Programmation
Marsh Posté le 01-10-2012 à 16:29:06
En php (à privilégier), c'est la fonction header : http://php.net/manual/fr/function.header.php
Sinon en javascript : http://www.destrucsaweb.com/ressou [...] oto_44.php
Marsh Posté le 01-10-2012 à 16:48:58
j'ai pas compris
voici le code de la page
<?php
// On recuper l ID_CODE
$ID_CODE = $_GET["id_code"];
// On se connecte a la base
include('../sql/mysql_connect.php');
// On prépare la requête
$sql= "SELECT * FROM CONTENT
join RULE
WHERE RULE.ID_CODE = '$ID_CODE'
AND RULE.ID_CONTENT = CONTENT.ID_CONTENT
";
// On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//on organise $req en tableau associatif $data['champ']
//en scannant chaque enregistrement récupéré
//On libère la mémoire mobilisée pour cette requête dans sql
//$data de PHP lui est toujours accessible !
mysql_free_result ($req);
echo 'EN ATTENTE DE REDIRECTION AUTOMATIQUE EN FONCTION DE URL_CONTENT';
//On ferme sql
mysql_close ();
?>
Marsh Posté le 01-10-2012 à 16:56:22
Ta requête récupère ton ID_CONTENT non ?
il suffit de rajouter avant le code html :
header('Location: http://www.example.com/'.$id_content);
Marsh Posté le 01-10-2012 à 17:00:13
voici la réponse
Parse error: syntax error, unexpected T_STRING in /homez.541/mimwiw/www/qrcode/redirect/url.php on line 56
en mettant le code suivant
<?php
// On recuper l ID_CODE
$ID_CODE = $_GET["id_code"];
// On se connecte a la base
include('../sql/mysql_connect.php');
// On prépare la requête
$sql= "SELECT * FROM CONTENT
join RULE
WHERE RULE.ID_CODE = '$ID_CODE'
AND RULE.ID_CONTENT = CONTENT.ID_CONTENT
";
// On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//on organise $req en tableau associatif $data['champ']
//en scannant chaque enregistrement récupéré
//On libère la mémoire mobilisée pour cette requête dans sql
//$data de PHP lui est toujours accessible !
mysql_free_result ($req);
header('Location: '.$URL_CONTENT.');
//On ferme sql
mysql_close ();
?>
Marsh Posté le 01-10-2012 à 17:01:52
Mike75016 a écrit : voici la réponse |
Ca vient pas de ça ?
Marsh Posté le 01-10-2012 à 17:06:21
effectivement en supprimant .' il n'y a plus d'erreur mais la page reste blanche alors que la donnée dans le champs est www.lci.fr (par exemple)
Marsh Posté le 01-10-2012 à 17:07:51
Tu n'as aucun code html avant la redirection ? Même un espace avant ta balise <?php
Marsh Posté le 01-10-2012 à 17:12:23
voici le code complet de la page avec rien, aucun espace avant le <?php
<?php
// On recupere l ID_CODE
$ID_CODE = $_GET["id_code"];
// On se connecte a la base
include('../sql/mysql_connect.php');
// On prépare la requête
$sql= "SELECT * FROM CONTENT
join RULE
WHERE RULE.ID_CODE = '$ID_CODE'
AND RULE.ID_CONTENT = CONTENT.ID_CONTENT
";
// On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//on organise $req en tableau associatif $data['champ']
//en scannant chaque enregistrement récupéré
//On libère la mémoire mobilisée pour cette requête dans sql
//$data de PHP lui est toujours accessible !
mysql_free_result ($req);
header('Location: '.$URL_CONTENT);
//On ferme sql
mysql_close ();
?>
Marsh Posté le 01-10-2012 à 17:15:03
Dans ton mysql_connect.php, il n'y a pas d'espace non plus ? Ou du code html ?
Marsh Posté le 01-10-2012 à 17:17:23
non absolument rien.
le mysql_connect.php fonctionne parfaitement sur d'autres pages avec la fontion header.
Peux etre est ce parce que le champs URL_CONTENT est de type http://www.lci.fr ?
Marsh Posté le 01-10-2012 à 17:21:14
Non ca devrait fonctionner... Si tu le mets directement ca change rien ?
header('Location: http://www.lci.fr/');
A part un espace, je vois pas ce que ca peut être...
Marsh Posté le 01-10-2012 à 17:23:11
si je mais directement ca marche
Mais apparament, je ne récupérer pas la variable URL_CONTENT
Marsh Posté le 01-10-2012 à 17:26:12
J'avais même pas fait gaffe ! Oui tu fais ta requête mais tu extrais pas ton résultat... Ca peut pas marcher...
Tu sais ce qu'il te reste à faire
Marsh Posté le 01-10-2012 à 17:38:32
Ta variable $req contient tes résultats, il faut les extraire avec la fonction mysql_result par exemple :
http://php.net/manual/fr/function.mysql-result.php
Marsh Posté le 01-10-2012 à 17:51:56
Si tu débute, il vaut mieux que tu commences par bien comprendre le principe d'une requête et de l'extraction de ses résultats.
Déjà mysql_query n'est plus utiliser, il vaut mieux privilégier une autre méthode. Regarde cette page :
http://www.php.net/manual/fr/mysql [...] oosing.php
Tu y voit les 3 principales méthodes pour récupérer les données de ta base SQL.
La logique est toujours la même :
1. je me connecte à la bas
2. je fais ma requete
3. J'extrais les résultats
4. Je les affiche
Marsh Posté le 01-10-2012 à 16:25:57
Voila
J'ai une page qui récupére un ID_CODE puis ensuite ça cherche dans une table l' ID_CONTENT qui lui ait associé par jointure
Je souhaite qu'ensuite automatiquement le visiteur soit redirigé vers la page
www.redirection.com/ID_CONTENT
Avec vous une solution ?
Merci