Recuperer une variable et envoyer vers URL automatiquement

Recuperer une variable et envoyer vers URL automatiquement - PHP - Programmation

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

Reply

Marsh Posté le 01-10-2012 à 16:25:57   

Reply

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

Reply

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 ();  
 
 
 
?>

Reply

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);

Reply

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 ();  
 
 
 
?>

Reply

Marsh Posté le 01-10-2012 à 17:01:52    

Mike75016 a écrit :

voici la réponse  
 
 
 
 header('Location: '.$URL_CONTENT.');
 


Ca vient pas de ça ?


Message édité par egege le 01-10-2012 à 17:02:05
Reply

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)

Reply

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  
 

Reply

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 ();  
 
 
 
?>

Reply

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 ?
 
 

Reply

Marsh Posté le 01-10-2012 à 17:15:03   

Reply

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 ?

Reply

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...

Reply

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  
 

Reply

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 :)

Reply

Marsh Posté le 01-10-2012 à 17:28:34    

euh non ?

Reply

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

Reply

Marsh Posté le 01-10-2012 à 17:43:37    

je comprends pas (désole je suis lourd mais je débute)

Reply

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

Reply

Marsh Posté le 01-10-2012 à 18:01:22    

Merci bcp de ton aide..
 
J'ai réussi et j'ai compris....

Reply

Marsh Posté le 01-10-2012 à 18:03:45    

;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed