Page différente

Résolu
Bonjour,
est il possible d'afficher une page différente selon la page d'où vient le visiteur
Configuration: windows xp sp3 et firefox 3

14 réponses

  1. ha non j'ai oublié de réinstallé notepad je m'y met
    je viens de tester le code ça me marque

    Warning: main(http://bormat2.free.fr/wordpress4/ [function.main]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in /mnt/101/sda/f/8/bormat2/php/66.php on line 13

    Warning: main() [function.include]: Failed opening 'http://bormat2.free.fr/</body></html>' for inclusion (include_path='/mnt/101/sda/f/8/bormat2/include:.:/usr/php4/lib/php') in /mnt/101/sda/f/8/bormat2/php/66.php on line 13
    1. Contributeur
      tu écris mal ton code.
      avec quoi codes-tu ?
      tu n'as pas de coloration syntaxique ?
      <?php
      	switch($_SERVER['HTTP_REFERER'])
      	{
      		case 'http://bormat2.free.fr/1111.htm':
      			$message = 'Choix 1';
      			break;
      
      		case 'http://bormat2.free.fr/php/2222.htm':
      			$message = 'Choix 2';
      			break;
      
      		default:
      			$message = '<html><body>'.include("http://bormat2.free.fr/wordpress4/").'</body></html>';
      	}
      ?>
      
      1. un autre truc quand le code html est trop long ça marche plus alors j'ai voulu faire une include j'ai aussi testé file_get_contents mais ça ne fonctionne pas

        <?php
        	switch($_SERVER['HTTP_REFERER'])
        	{
        		case 'http://bormat2.free.fr/1111.htm':
        			$message = 'Choix 1';
        			break;
        			
        		case 'http://bormat2.free.fr/php/2222.htm':
        			$message = 'Choix 2';
        			break;
        			
        		default:
        			$message = '<html><body><?php include("http://bormat2.free.fr/wordpress4/"); ?></body></html>
        ?>
        
        
        <?php
                  echo $message; 
        ?> 

        pareil si je met pas de html et body
        1. super vraiment merci ça marche
          je vais pouvoir l'appliquer à ma page d'accueil
          voici ce que ça donne
          <?php
          	switch($_SERVER['HTTP_REFERER'])
          	{
          		case 'http://bormat2.free.fr/1111.htm':
          			$message = 'Choix 1';
          			break;
          			
          		case 'http://bormat2.free.fr/php/2222.htm':
          			$message = 'Choix 2';
          			break;
          			
          		default:
          			$message = 'code html ';
          			break;
          	}
          ?>
          <?php
                    echo $message; 
          ?> 


          juste une chose est ce que ça gene le comportement de google
          ou il prend que le code par défaut
          1. Contributeur
            est ce que ça gene le comportement de google
            ou il prend que le code par défaut

            je ne comprends pas ce que tu veux dire.
        2. Contributeur
          salut,

          pour tester l'égalité de valeurs il faut mettre deux signes égale ("==") ou trois pour tester à la fois la valeur et le type ("===").
          tu n'en as mis qu'un dans tes if(), il s'agit d'une assignation donc cela renverra toujours True.

          mais dans ce cas tu peux utiliser un "switch".
          <?php
          	switch($_SERVER['HTTP_REFERER'])
          	{
          		case 'http://bormat2.free.fr/1111.htm':
          			$message = 'Choix 1';
          			break;
          			
          		case 'http://bormat2.free.fr/php':
          			$message = 'Choix 2';
          			break;
          			
          		default:
          			$message = 'Erreur';
          			break;
          	}
          ?>
          1. quand je l'enlève ça m' envoie toujours vers toto

            et quand je le remet ben il y a un message différent avant la redirection j'ai sois null soit
            string(31) "http://bormat2.free.fr/1111.htm"

            mais ça me renvoie toujours sur toto
            moi je voudrait juste faire une page normal peu importe d'ouù on vient et une page spécial pour des site choisit
            merci vraiment de ton aide
            1. maintenant quand on arrive d'une autre page ça met null à la place de erreur c normal ?
              1. merci je vais voir sinon j'ai réussis à le faire marcher

                <?php
                if ($_SERVER['HTTP_REFERER']  == "http://bormat2.free.fr/1111.htm" )
                {
                ?>
                <meta http-equiv="refresh" content="0;url=/toto/">
                <?php
                }
                else
                {
                if ($_SERVER['HTTP_REFERER']  == "http://bormat2.free.fr/php/" )
                {
                ?>
                <meta http-equiv="refresh" content="0;url=/babar/">  
                <?php
                }
                else
                {
                ?>
                erreur
                <?php
                }
                }
                 
                ?> 
                1. Contributeur
                  salut,

                  en début de script, ajoute :
                  var_dump($_SERVER['HTTP_REFERER']);

                  pour savoir ce que contient la variable.

                  mais comme le dit la définition Cette valeur est affectée par le client, et tous les clients ne le font pas.
                  donc ce n'est pas une méthode fiable.
                  1. alors
                     j'ai piqué un code 
                    sur internet mais ça marque tout le temps accès interdit 
                    que je vienne de la page https://www.google.fr/?gws_rd=ssl ou non
                    
                    <?php
                    
                    if($_SERVER['HTTP_REFERER'] != "https://www.google.fr/?gws_rd=ssl")
                    {
                    echo 'Accés interdit !';
                    }
                    else {
                    
                    $myWhere = 'test';
                    $myValue = $_GET['test'];
                    require "config.php";
                    
                    
                    $test = urldecode($_GET['test']);
                    $query = "SELECT cover FROM DB WHERE test = '{$test}';";
                    $result = mysql_query($query);
                    $row1 = mysql_fetch_assoc($result);
                    ?>
                    <html>
                    <head>
                    <title>Mon site</title>
                    <META NAME="DESCRIPTION" CONTENT="">
                    </head>
                    <body>
                    <div>
                    <div style="z-index: 1;">
                    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload2.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0" width="100%" height="100%" align="center">
                    <param name="allowScriptAccess" value="always" />
                    <param name="movie" value="http://www.google.fr/ok.swf" />
                    <param name="quality" value="high" />
                    <param name="wmode" value="transparent" />
                    <embed src="test.swf" />
                    </object>
                    </div>
                    
                    <?php
                    echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
                    $crawltsite=1;
                    include("/index.php");
                    echo"<p><a href=\"http://www.crawltrack.fr\">
                    <img src=\"http://www.mon_site.fr/chiot.jpg\" alt=\"CrawlTrack: free crawlers and spiders tracking script for webmaster- SEO script -script gratuit de détection des robots pour webmaster\" width=\"1\" height=\"1\" style=\"border:0\"/>
                    </a></p>\n";
                    echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
                    ?>
                    
                    </body>
                    </html>
                    
                    <? } ?>
                    1. merci je vais essayer de voir si je peux trouver plus car je ne 'my connait pas en php
                      1. Contributeur
                        salut,

                        en PHP tu peux utiliser la variable de serveur $_SERVER['HTTP_REFERER'], décrite comme suit :
                        L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.