kostenloser Webspace werbefrei: lima-city


mit einem externenlink einer variable einen wert zuweisen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    w****e

    also ich m?chte folgendes machen.

    wenn jamand auf einen Link klickt soll sich eine andere website in einem Neuen Fenster ?fnnen.
    (soweit kein Problem)

    jetzt soll aber der gleiche Link einer variablen einen neuen Wert geben. und zwar auf der selben seite.

    also vor dem klick ist $a=0 und nach dem klick soll $a=1 sein.

    mfg
    web4me
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c*********c

    Soweit ich weiss, ist das nur so m?glich, dass beim Klicken auf den Link zuerst ein PHP-Script aufgerufen wird, welches die gew?nschten Operationen ausf?hrt und anschliessend auf die eigentliche Seite weiterleitet.


    Folgender Code k?nntest Du dazu verwenden:

    <?

    // Das was getan werden soll, wenn die Seite
    // aufgerufen wird.

    // Achte, dass zuvor keine Ausgaben
    // (echo/print/etc.) gemacht werden!

    header('Location: www.blubb.de');

    ?>
  4. liga-hannover

    liga-hannover hat kostenlosen Webspace.

    Eigentlich stimmt das so, bis auf das kleine Problem, das sich der Link in einem anderen Fenster ?ffnen sollte.
    Gehen tut das nur mit JS oder einen anderen Client-Skriptsprache. Ich nehme hier als Beispiel mal JS. Mit der Client-Skriptsprache machst du zwei Sachen bei Klick eines Benutzers auf einen Link:
    - Du ?ffnest den gew?nschten Link in einem neuen Fenster
    - Du l?dst die eigene Seite neu aber h?ngst GET-Variablen an die URL

    Hier mein Beispiel dazu:
    <?php
    function ThisFile()
    {
      $ret = $_SERVER['PHP_SELF'];
      $temp = strrchr($ret, "/");
      
      if ($temp != FALSE)
        $ret = substr($temp, 1);
    
      return $ret;
    }
    ?>
    <html>
      <head>
        <script type="text/javascript">
          function LinkCall($url)
          {
            // die andere Webseite in einem neuen Fenster oeffnen
            window.open($url, "_blank");
    
            // Benachrichtigung an das eigene Skript, dass ein Link
            // geklickt wurde
            window.location.href = "<?php echo ThisFile(); ?>?link=" + $url + "&clicked=1";
          }
        </script>
      </head>
      <body>
        <a href="javascript:void(0);" onClick="LinkCall('http://www.lima-city.de')">lima-city Free Webhoster</a><br>
        <a href="javascript:void(0);" onClick="LinkCall('http://liga-hannover.lima-city.de')">HTL Hannover Tischfussball Liga</a><br>
        <a href="javascript:void(0);" onClick="LinkCall('http://www.google.de')">Google</a><br>
        <br>
        <br>
    <?php
    if (isset($_GET['clicked']))
    {
      if (isset($_GET['link']))
        echo "Du hast den Link zu " . $_GET['link'] . " geklickt!";
      else
        echo "Du hast einen der Links geklickt, aber ich habe keine Ahnung welchen...";
    }
    ?>
      </body>
    </html>



    Da das ganze hier bisschen bl?d zu lesen oder zu kopieren ist, habe ich es als Textdatei bei mir auf dem Webspace abgelegt:
    http://0-checka.pyrokar.lima-city.de/thread44277.txt
    Und direkt ausprobieren kannst du es unter:
    http://0-checka.pyrokar.lima-city.de/thread44277.php

    Den ersten Teil des PHP-Codes, in dem ThisFile() definiert wird, kannst du weglassen, wenn du dann auch den PHP-Code aus dem JS-Bereich entfernst und stattdessen direkt den Dateinamen der PHP-Datei eintr?gst.
    Du k?nntest auch im PHP-Code jedem Link eine eigene ID geben (die du z.B. aus einer DB hast oder die direkt im PHP-Code festgelegt ist) und nur die ID des Links als GET-Variable ?bertragen. Es gibt also noch viele Verbesserungsm?glichkeiten, aber soll ja eh nur ein Beispiel sein.
  5. r*****r

    einen Link kann man so viel ainfacher in einem neuen Fenster ?ffnen:

    <a href="link" target="_blank">Text</a>

    und das mit der variablen k?nnte man ?ber sessions l?sen, also wie compactdisc schon sagte einfach eine weiterleitung, nur das dann eine sessionvariable ver?ndert wird:

    session_start();
    $_SESSION["a"] = 1;
    header("location: www.blubb.de");


    die Variable kann dann in jedem aneren Script so abgefragt werden: $_SESSION["a"] die Session muss allerings immer erst gestartet werden, ?ber folgende anweisung:
    session_start();

    das muss dann am anfang jeder seite stehen, als PHP-Code versteht sich nat?rlich.

    ein Tutorial zu Sessions findest du hier:
    http://tut.php-q.net/sessions.html
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!