+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 15 von 20

Thema: $_GET funktioniert nicht... *heul* :-)

  1. #1
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154

    $_GET funktioniert nicht... *heul* :-)

    folgendes Programm sei gegeben:

    Code:
    php
       setcookie("dummy","dummy");
       include("includes/begin.php");
       $js = $_GET['js'];
       if(!isset($js))
       {
       ?>
         <META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php?js=no?link=alles_ueber_mich">
         <script language="Javascript">
         <!--
         self.location.href="index.php?js=yes?link=alles_ueber_mich";
         //-->
         </script>
       <?php
       }
       else
       echo("\n");
    ?>
    <title>Welcome on AJsWeb</title>
    </head>
    <body>
       <div id="logobox"><img src="img/Logo.gif" width="352" height="100" border="0" alt=""></div>
       <div id="titlebox">Oder die etwas ausführlichere Antwort auf die Frage nach dem Leben, dem Universum und Allem</div>
    <?php
       $host= "localhost";
       $user= "andisweb";
       $passwort= "bfwhd";
       $dbname="andisweb";
       $verbindung = mysql_connect($host, $user, $passwort) or die("verbindung fehlgeschlagen");
       if(!mysql_select_db($dbname,$verbindung))
         die("datenbank konnte nicht ausgewählt werden");
     
    ********************* hier funktioniert der Code nicht
      $link= $_GET['link'];
       if (!isset($link))
       {
         echo("link ist nicht gesetzt");
         die();
       }
    **********************
       else
         echo("link ist gesetzt");
       $sql = "SELECT title, inhaltstext FROM inhalt WHERE link=".$link;
       $ergebnis = mysql_query($sql, $verbindung);
       if(!$ergebnis)
         die("kein ergebnis aus datenabnkabfrage");
       $zeile = mysql_fetch_row($ergebnis);
       $title = $zeile[0];
       $inhaltstext= $zeile[1];
       mysql_close($verbindung);
       echo ("<div id=\"leftbox\"><h1>$title</h1><br>$inhaltstext</div>")
    ?>
      </body>
    </html>
    Ich habe mal markiert, wo der Fehler liegen muss.

    Das Problem ist, er gibt aus, der Link wuerde in der URL nicht uebergeben.
    (der Link ist nicht gesetzt).

    Obwohl er beim Aufruf definitiv in der URL steht.

    Woran kann das liegen?

    Bye,

    Andreas Joos

  2. #2
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.806
    Edit: Wer lesen kann, ist klar im Vorteil.. Bitte vergesst, was ich vorher geschrieben habe

    Hier mal ein Versuch:

    Ich denke, der Fehler liegt hier:

    $js = $_GET['js'];
    if(!isset($js)) {}

    Du setzt hier immer JS, auch wenn die Variable leer ist (weil $_GET['js'] nicht gesetzt ist). Deswegen wird der Gesamte Teil ab dort nicht ausgeführt.
    Wenn link nur über den refresh übergeben wird, dann kann dieser Wert nicht gesetzt sein..
    Geändert von Adromir (09.02.2005 um 18:24 Uhr)

  3. #3
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Wie sieht denn der Link aus?

    Zeig ihn doch mal..........

    So long,

    skipperjan
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  4. #4
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    OK,

    das kann nicht klappen. Deine Syntax ist ziemlich schräg:
    PHP-Code:
    <?php
       setcookie
    ("dummy","dummy");
       include(
    "includes/begin.php");
       
    $js $_GET['js'];
       if(!isset(
    $js))
       {
         echo 
    '<META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php?js=no?link=alles_ueber_mich">
         <script language="Javascript">
         <!--
         self.location.href="index.php?js=yes?link=alles_ueber_mich";
         //-->
         </script>'
    ;
       }
       else echo 
    "\n";
    ?>
    <title>Welcome on AJsWeb</title>
    </head>
    <body>
       <div id="logobox"><img src="img/Logo.gif" width="352" height="100" border="0" alt=""></div>
       <div id="titlebox">Oder die etwas ausführlichere Antwort auf die Frage nach dem Leben, dem Universum und Allem</div>
    <?php
       $host
    "localhost";
       
    $user"andisweb";
       
    $passwort"bfwhd";
       
    $dbname="andisweb";
       
    $verbindung mysql_connect($host$user$passwort) or die("verbindung fehlgeschlagen");
       if(!
    mysql_select_db($dbname,$verbindung))
         die(
    "datenbank konnte nicht ausgewählt werden");
     
    ********************* 
    hier funktioniert der Code nicht
      $link
    $_GET['link'];
       if (!isset(
    $link))
       {
         echo(
    "link ist nicht gesetzt");
         die();
       }
    **********************
       else
         echo(
    "link ist gesetzt");
       
    $sql "SELECT title, inhaltstext FROM inhalt WHERE link=".$link;
       
    $ergebnis mysql_query($sql$verbindung);
       if(!
    $ergebnis)
         die(
    "kein ergebnis aus datenabnkabfrage");
       
    $zeile mysql_fetch_row($ergebnis);
       
    $title $zeile[0];
       
    $inhaltstext$zeile[1];
       
    mysql_close($verbindung);
       echo (
    "<div id=\"leftbox\"><h1>$title</h1><br>$inhaltstext</div>")
    ?>
      </body>
    </html>
    Wenn js nicht gesetzt ist, willst du etwas ausgeben, dann wäre ein echo schön. Vielleicht klappt es jetzt ja.

    So long,

    skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  5. #5
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154
    Zitat Zitat von Adromir
    Edit:
    Ich denke, der Fehler liegt hier:

    $js = $_GET['js'];
    if(!isset($js)) {}

    Du setzt hier immer JS, auch wenn die Variable leer ist (weil $_GET['js'] nicht gesetzt ist).
    $js wird doch gar nicht erst gesetzt, wenn die Index-Seite ohne Parameter
    aufgerufen wird. Oder hab ich dich jetzt falsch verstanden?
    Wenn Javascript dann nicht aktiv ist, wird die Weiche angesprochen.
    Und dann wird beidesmal die URL mit unterschiedlichen Parametern gesetzt.

    Deswegen wird der Gesamte Teil ab dort nicht ausgeführt.
    Wenn link nur über den refresh übergeben wird, dann kann dieser Wert nicht gesetzt sein..
    nein, der Link steht in der URL, ob ich Javascript aktiv habe oder ausgeschalten. Meine Weiche funktioniert also.

    Und bis zum

    $link = $_GET laeufts dann ja...
    und das funktioniert doch nicht

    Bye, Andreas Joos

  6. #6
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Oh Mann,

    du solltest deinen Code ein wenig säubern:

    <META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php?js=no?link=alles_ueber_mich">

    Die Parameter werden durch & getrennt und nicht durch die Frage-Zeichen, davon nur eines, so wird dein js nie ankommen es wird immer der letzte search Query nach dem letzten ? beachtet, da sind aber noch mehr einfach Fehler drin, da hilft nur putzen,

    so long,

    skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  7. #7
    TP-Insider skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE skipperjan ist ein richtiges Arbeitstier - DANKE Avatar von skipperjan
    Registriert seit
    Jan 2005
    Ort
    Düsseldorf
    Beiträge
    981
    Warum eigentlich

    echo ("was auch immer");

    Wozu die Klammern?

    usw usw,

    so long,

    skip
    Chenaski - Klamotten designed by Pete
    USE - nicht immer nur mit Stars and Stripes rumlaufen!

    Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....

  8. #8
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154
    Zitat Zitat von skipperjan
    OK, das kann nicht klappen. Deine Syntax ist ziemlich schräg:
    Alter Assembler-Programmierer ;-)
    Aber warum sollte der Code nicht klappen?

    Code:
       else echo "\n";
    [/QUOTE]
    Wenn js nicht gesetzt ist, willst du etwas ausgeben
    dann wäre ein echo schön. Vielleicht klappt es jetzt ja.
    [/QUOTE]

    Das else nach dem if mit der Ausgabe war ein Ueberbleibsel aus Versuchen.
    Ich will das ergebnis spaeter in einer Session-Variablen speichern und erst spaeter verwerten.

    Wo liegt also der Fehler...

    Bye, Andreas Joos

  9. #9
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154
    Zitat Zitat von skipperjan
    Oh Mann,
    du solltest deinen Code ein wenig säubern:
    <META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php?js=no?link=alles_ueber_mich">
    Die Parameter werden durch & getrennt und nicht durch die Frage-Zeichen, davon nur eines, so wird dein js nie ankommen es wird immer der letzte search Query nach dem letzten ? beachtet, da sind aber noch mehr einfach Fehler drin, da hilft nur putzen,
    Oh... da wird der Fehler liegen, an den Fragezeichen...

    Danke fuer den Hinweis.

    Bye, Andreas Joos

  10. #10
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Aber wie meine Vorredner schon sagten, das hier ist Quark:

    $js = $_GET['js'];
    if(!isset($js))

    Selbst wenn $_GET['js'] nicht via URL übergeben wurde oder leer ist, Du erstellst so *immer* eine Variable mit dem Namen $js ... daher ist das isset() Unsinn.

    Das hier ist logisch:
    if(!isset($_GET['js']))
    { ....

    Den Unsinn hast Du hier nochmal:
    $link=
    if (!isset($link))

    Wieso schreibst Du nicht gleich

    if (!isset($_GET['link'])) ?
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  11. #11
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.806
    oder anstatt !isset($link) nimmst du !empty($link)

  12. #12
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154
    Zitat Zitat von Adagio
    Aber wie meine Vorredner schon sagten, das hier ist Quark:

    $js = $_GET['js'];
    if(!isset($js))

    Selbst wenn $_GET['js'] nicht via URL übergeben wurde oder leer ist, Du erstellst so *immer* eine Variable mit dem Namen $js ... daher ist das isset() Unsinn.
    Stimmt doch gar nicht. Wenn leere Variablen gibt es unter PHP nicht. Oder täusche ich mich jetzt ganz und gar? Wenn keine Variable in der URL übergeben wird, gibt es auch keine Variable $js, was folgendes Script belegen sollte:

    Code:
    <?php
       $test=$_GET['variable'];
       if(!isset($test))
         echo ("es gibt keine test-variable");
       else
         echo ("wieder erwarten gibt es die variable test");
    ?>
    Das hier ist logisch:
    if(!isset($_GET['js']))
    { ....

    Den Unsinn hast Du hier nochmal:
    $link=
    if (!isset($link))

    Wieso schreibst Du nicht gleich

    if (!isset($_GET['link'])) ?
    Ich persönlich finde es übersichtlicher die Variable zuerst zu definieren.
    ausserdem will ich die variablen nochmal verwenden.

    Mfg

    Andreas Joos

  13. #13
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.806
    Bei Variabeln gibt es in PHP verschiedene "Zustände":
    1. Nicht gesetzt.. Das ist eine Variabel die du nirgends definiert hast.
    2. Gesetzt und Leer. Das ist zb. eine Variabel die du Flogendermaßen gesetzt hast:
    $variabel=""
    3.Gesetzt und Gefüllt..
    $variabel="Diese Variabel hat einen Wert"

    isset() Prüft, ob diese Variabel irgendwo im Script schon mal gesetzt wurde. Es ist dabei egal, welchen Inhalt sie hat, oder ob sie leer gesetzt wurde.

    empty() prüft, ob eine Variable, die gesetzt wurde, einen Inhalt hat, oder leer ist.
    Wäre deine Annahme richtig, daß leere Variabeln in PHP nicht vorhanden sind, wäre diese Funktion doch völlig überflüssig, oder?

  14. #14
    TP-Senior Gryfie ist auf einem guten Weg Avatar von Gryfie
    Registriert seit
    Aug 2004
    Beiträge
    154
    Zitat Zitat von Adromir

    isset() Prüft, ob diese Variabel irgendwo im Script schon mal gesetzt wurde. Es ist dabei egal, welchen Inhalt sie hat, oder ob sie leer gesetzt wurde.

    empty() prüft, ob eine Variable, die gesetzt wurde, einen Inhalt hat, oder leer ist.
    Wäre deine Annahme richtig, daß leere Variabeln in PHP nicht vorhanden sind, wäre diese Funktion doch völlig überflüssig, oder?
    Warum funktioniert dann das Test-Script dass ich gepostet habe, genau so,
    wie ich es mir denke?

    Mfg

    Andreas Joos

  15. #15
    TP-Specialist Dennis The Menace bringt sich richtig ein Dennis The Menace bringt sich richtig ein Avatar von Dennis The Menace
    Registriert seit
    Nov 2004
    Ort
    Ich komme aus dem Zauberwald
    Beiträge
    2.035
    PHP-Code:
    $test=$_GET['variable'];
       if(!isset(
    $test)) 
    weil du $test eine variable zuweißt (egal, ob die $_get existiert, oder nicht), du setzt damit die variable $test. Daher wird sie immer gesetztz sein

    Dein Code sieht im Moment so aus:
    PHP-Code:
    $zahl 1;
    if( 
    $zahl != 
    Eine Bedingung, die nie erfüllt sein wird...
    Zwei Dinge sind Unbestreitbar:
    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
    • Die Erde ist eine Scheibe!
    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Ähnliche Themen

  1. FF funktioniert, IE nicht - JS+CSS Menü Pull-Down
    Von FriederSchueler im Forum Webdesign allgemein
    Antworten: 4
    Letzter Beitrag: 19.12.2004, 12:19
  2. [VB] tabulator senden funktioniert nicht
    Von ToDoWaldi im Forum Traum-Dynamik
    Antworten: 3
    Letzter Beitrag: 09.12.2004, 14:20
  3. Der Herr Bush
    Von TobiasKa im Forum Einfach so ...
    Antworten: 15
    Letzter Beitrag: 07.12.2004, 20:26
  4. Script funktioniert ohne Zutun urplötzlich nicht mehr
    Von blueGirl im Forum Traum-Dynamik
    Antworten: 12
    Letzter Beitrag: 01.12.2003, 09:32
  5. Antworten: 9
    Letzter Beitrag: 22.11.2003, 19:06

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51