schon wieder eine PHP Frage

Diskutiere mit über: schon wieder eine PHP Frage im Web-Programmierung Forum

  1. ThaHammer

    ThaHammer Thread Starter MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    Registriert seit:
    01.06.2004
    Diesesnette, kleine Skript ärgert mich!
    Der Link mit a href geht nicht wirklich, er übergibt mal wieder nichts.
    Warum geht das mit dem href nicht?

    <?php
    include ("header.php"); // öffnet eine HMTL Seite mit ein paar Vorgaben
    $button="leer"; // Vorbelegung
    echo "<center>"; ?> // wurde nur zum Testen als HTML angelegt!
    <p><a href="<?php echo "Link-test.php?button=aendern"; ?>">&Auml;ndern</a> - <a href="Link-test.php?button=reset">Reset</a>
    <?php

    echo sizeof($button); // Nur zur Überprüfung!

    if(is_string($button)) // auch nur zum Testen ob richtig übergeben wurde!
    {
    echo "<p>String &uuml;bergeben $button ";
    if($button=="reset")
    {
    echo "<p>Ich mache einen Reset";
    $button ="leer234";
    }
    elseif ($button=="aendern")
    {
    echo "<p>aendern"; // Einfach erst einmal eine Ausgabe, egal was!
    $button ="leer56757";
    }
    elseif($empty($button))
    {
    echo "<p>Fehler!";
    $button ="4353454leer";
    }
    }
    else
    {
    echo "Fehler kein String &uuml;bergeben!";
    }

    echo "</center>";
    include("foot.php"); // schließt nur die HTML Seite korrekt
    ?>
     
  2. Hilarious

    Hilarious MacUser Mitglied

    Beiträge:
    2.195
    Zustimmungen:
    5
    Registriert seit:
    25.11.2004
    Vermutlich ist bei Deiner PHP-Installation die Konfigurationsoption "register_globals" abgeschaltet (das empfohlene Verhalten seit den ersten PHP-4-Versionen). Dies sollte auch besser so bleiben ;)

    Um nun herauszufinden, welcher Parameter per HTTP-GET übermittelt wurde, müsstest Du die superglobale Variable $_GET abfragen. Hierbei handelt es sich um ein assoziatives Array, welches mit dem Feldschlüssel des GET-Parameters belegt wird. In Deinem Fall müsste in $_GET ['button'] der Wert entweder 'aendern' oder 'reset' stehen.

    Welche Werte in $_GET (oder anderen Variablen) zu finden sind, erhältst Du mit einem einfachen Variablendump:

    <? echo "<pre>\n", print_r ($_GET), "</pre>\n"; ?>

    Viel Erfolg!
     
  3. MacADochNit

    MacADochNit MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    Registriert seit:
    11.11.2004
    echo "<p><a hre... ...Reset</a>";

    versuchen
     
  4. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.029
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    @thahammer: bitte verwende doch die PHP-Code-Tags des Forums

    php
    .
    .
    .
    /php


    nat. jeweils in eckigen Klammern!
    dies erhöht die Lesbarkeit enorm und erleichtert es den Anderen Deinen PHP-Code zu lesen!
     
    Zuletzt bearbeitet: 25.03.2005
  5. ThaHammer

    ThaHammer Thread Starter MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    Registriert seit:
    01.06.2004
    So? ich komme noch nicht ganz damit zurecht, übe aber fleisig! :-D

    Ja, ich habe Gestern noch die festen Treads hier gelesen und bin auch über das mit $_GET gestolpert. ich habe es ausprobiert, jetzt geht es!
    Wie gehe ich denn mit dem Problem grundsätzlich um?

    Formulardaten abfragen ist jetzt kein Problem, aber wie die Daten abfragen die ich per href übergebe? Genauso?
    Jetzt habe ich soviele Bücher und Dokumente zu PHP, aber genau dieses Thema wieder stark vernachlässigt!
     
  6. Hilarious

    Hilarious MacUser Mitglied

    Beiträge:
    2.195
    Zustimmungen:
    5
    Registriert seit:
    25.11.2004
    Hi ThaHammer,

    für Deine Frage müsstest Du Dich ein wenig mit dem Hypertext Transfer Prokotoll (HTTP) auseinandersetzen. Um zum Beispiel macuser.de aufzurufen, sendet Dein Browser einen HTTP-Request an den Server. Dies kann zum Beispiel so aussehen:
    Code:
    GET / HTTP/1.1
    Host: www.macuser.de
    ...
    
    Darauf antwortet der Server lakonisch:
    Code:
    HTTP/1.x 200 OK
    ...
    
    Klickt der Benutzer in Deinem Beispiel auf einen Link an den zusätzlich noch Parameter angehängt werden, werden diese an den GET-Befehl vom Browser angehängt:

    Code:
    GET /Link-test.php?button=aendern HTTP/1.1
    Host: beiThaHammer.Daheim
    
    Das, was am Fragezeichen hängt, können ja auch mehrere Parameter sein und diese finden von PHP nennt aufgebrezelt Platz im assoziativen Array $_GET. Wenn Du ein Formular verwendest, welches als Methode POST verwendet, findest Du die Formularparameter im Array $_POST. Es gibt noch weitere...

    Lass Dir einfach mal per get_defined_vars () alles ausgeben, was Dein PHP-Parser alles so weiß...
     
  7. Katana

    Katana MacUser Mitglied

    Beiträge:
    989
    Zustimmungen:
    0
    Registriert seit:
    30.08.2004
    wenn du das assoziative array $_REQUEST benutzt, findest du darin sowohl via GET als auch via POST übergebene daten ...
     
Die Seite wird geladen...
Ähnliche Themen - schon wieder eine Forum Datum
jQuery: Maus drauf--> div weg, Maus wieder weg-->div wieder da Web-Programmierung 30.04.2013
PDF aus WebApp öffnen - wie komme ich wieder zurück Web-Programmierung 25.01.2011
Mal wieder ein regulärer Ausdruck in PHP Web-Programmierung 17.07.2008
apache spinnt - xampp & dann wieder gut? Web-Programmierung 14.04.2008
1und1 MySQL: Datenbank sichern und wieder einspielen? Fehler! Web-Programmierung 30.10.2007

Diese Seite empfehlen

Benutzerdefinierte Suche