Diskutiere schon wieder eine PHP Frage im Web-Programmierung Forum

  1. ThaHammer

    ThaHammer Thread Starter Mitglied

    Beiträge:
    3.282
    Zustimmungen:
    13
    Mitglied 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 Mitglied

    Beiträge:
    2.163
    Zustimmungen:
    5
    Mitglied 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 Mitglied

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

    versuchen
     
  4. wegus

    wegus Mitglied

    Beiträge:
    15.916
    Zustimmungen:
    2.476
    Mitglied 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!
     
  5. ThaHammer

    ThaHammer Thread Starter Mitglied

    Beiträge:
    3.282
    Zustimmungen:
    13
    Mitglied 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 Mitglied

    Beiträge:
    2.163
    Zustimmungen:
    5
    Mitglied 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 Mitglied

    Beiträge:
    989
    Zustimmungen:
    0
    Mitglied 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 Frage Forum Datum
Eine Frage an erfahrene Web-Entwickler bzgl. Job-Suche Web-Programmierung 27.12.2013
jQuery: Maus drauf--> div weg, Maus wieder weg-->div wieder da Web-Programmierung 30.04.2013
Plesk Admin Passwort nachträglich wieder ändern ... Web-Programmierung 30.08.2011
PDF aus WebApp öffnen - wie komme ich wieder zurück Web-Programmierung 25.01.2011
Backup-SQL-Dateien wieder in die DB hochladen Web-Programmierung 01.04.2009
Mal wieder ein regulärer Ausdruck in PHP Web-Programmierung 17.07.2008
apache spinnt - xampp & dann wieder gut? Web-Programmierung 14.04.2008
PDF-Dateien in DB schreiben und wieder auslesen Web-Programmierung 10.11.2007
1und1 MySQL: Datenbank sichern und wieder einspielen? Fehler! Web-Programmierung 30.10.2007
Bildgalerie springt immer wieder nach oben Web-Programmierung 11.08.2006

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.