Christoph: Class und $_GET

Hi,

hab gerade den versuch gemacht mit klassen zu arbeiten und bin am verzweifeln:: :)

Wie kriege ichs hin diese Variablen in eine klasse zu fassen?

$action = $_GET["action"];
$anmelden = $_GET["anmelden"];
$id = $_GET["id"];

Die sind doch eigentlich superglobal oder?
Das sollte doch heissen überall abrufbar oder net?

Wäre nett wenn ihr mir weiterhelft....

Gruss

Christoph

  1. Hi Christoph

    Die sind doch eigentlich superglobal oder?

    ja

    Das sollte doch heissen überall abrufbar oder net?

    ja

    was hast Du bis jetzt probiert (quellcode) und woran scheitert es?
    Was möchtest Du genau erreichen?

    class blablub {
      var $var1;
      var $var2;
      var $var3;

    // und was willst du jetzt, eine Methode, die den Variablen die Inhalte der Getvariablen übergibt?
      function uebergebe() {
        $var1 = $_GET["var1"]; ...
      }
    }
    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
    1. Hi

      das is mir schon peinlich den code hier zu zeigen....

      kannste ja mal reingucken da hab ich wohl alles falsch gemacht was man nur kann...

      am anfang die #Varablen holen die will ich alle in eine classe nehmen::::::

      Danke für die Hilfe....

      <?

      #Variblen holen
      $action = $_GET["action"];
      $anmelden = $_GET["anmelden"];
      $id = $_GET["id"];
      $clientid = $_GET["clientid"];
      $logid = $_GET["logid"];
      $pass = $_GET["pass"];
      $name = $_GET["name"];
      $vorname = $_GET["vorname"];
      $land = $_GET["land"];
      $strasse = $_GET["strasse"];
      $plz = $_GET["plz"];
      $stadt = $_GET["stadt"];
      $tele = $_GET["tele"];
      $email = $_GET["email"];
      $hp = $_GET["hp"];
      $zeit = $_GET["zeit"];
      $tag = $_GET["tag"];

      #Konfiguration(local)
      class daten {

      var $db='login';                               #Name Datenbank
       var $table='daten';                            #Name Tabelle
       var $pass='';                                  #Passwort
       var $user='';                                  #Benutzer Name

      }

      class login_daten extends daten {

      ###client suche && pass such
       function login($logid, $clientid, $pass, $name, $vorname, $land, $strasse, $plz, $stadt, $tele, $email, $hp, $zeit,      $tag) {

      if(isset($logid) && isset($pass)){

      mysql_connect("localhost","$user","$pass");
       mysql_select_db("$db");
       $result = mysql_query("SELECT * FROM $table WHERE clientid = $logid");
       while($row = mysql_fetch_array($result)){

      echo "<p><b>$row[clientid]</b> $row[name]<br><br>
        $row[vorname]<br>
        <b>$row[land]</b> $row[strasse]<br><br>
        $row[plz]<br>
        <b>$row[stadt]</b> $row[tele]<br><br>
        $row[email]<br><b>$row[hp]</b> $row[zeit]<br><br>
        $row[tag]<br></p>";
              }
       mysql_close();
       }
       }
      }

      function logformular() {

      echo "<div align="center">
      <form name="mailform" action="kdlogin.php" method="get">
      <table id="log" width="265" cellpadding="0" cellspacing="0" border="0">
      <tr>
      <td id="logi" align="left"><p>Kunden Nr:</p><input type="text" size="25" name="logid" maxlenght="40" value=""></td>
      </tr>
      <tr>
      <td id="logi" align="left"><p>Passwort:</p><input type="text" size="25" name="pass" maxlenght="40" value=""></td>
      </tr>
      <tr>
      <td id="logi" align="left" colspan="2"><input type="submit" name="anmelden" value="Anmelden" title="Senden"><input type="hidden" name="action" value="anmelden"></td>
      </tr>
      </table>
      </form>
      </div>";
      }

      #Aufruf
      logformular($logid, $clientid, $pass, $name, $vorname, $land, $strasse, $plz, $stadt, $tele, $email, $hp, $zeit, $tag);

      switch($action){
       case "anmelden":login($logid, $clientid, $pass, $name, $vorname, $land, $strasse, $plz, $stadt, $tele, $email, $hp, $zeit, $tag);break;

      }

      ?>

      1. Hi Christoph

        das is mir schon peinlich den code hier zu zeigen....

        warum? Jeder fängt mal an und die COdes erfahrener Programmierer sind auch nicht immer die schönsten *g*

        #Variblen holen
        $action = $_POST["action"];

        //warum POST siehe unten
        //das Ganze könntest Du auch in einer Methode machen

        if(isset($logid) && isset($pass)){

        // das kannst du weglassen, da es eh einer Fehlermeldung geben wird, wenn diese nicht gesetzt sind, da sie ja im Funktionsaufruf stehen

        <form name="mailform" action="kdlogin.php" method="get">

        // mach aus dem get mal post, muss ja nicht jeder sehen, was DU so alles übergibst und wie du es nennst und ausserdem ist es performanter

        switch($action){
         case "anmelden":login($logid, $clientid, $pass, $name, $vorname, $land, $strasse, $plz, $stadt, $tele, $email, $hp, $zeit, $tag);break;

        Du kannst login nicht einfach aufrufen, weil es eine Mehtode ist und Du nirgendwo ein Objekt definiert hast
        ergo:

        case "anmelden": {
            $neuerVorgang = new login_daten;
            $neuerVorgang->login(blablub);
        }

        ob diese ganzen Variablen mit übergeben musst, weiss ich nicht so direkt. Auf jeden Fall würde ich die Klassendefinitionen auslagern, der Übersciht halber.
        Ich würde aber sowieso vorschlagen es ohne Klassen zu machen, ich glaube nicht, dass diese nötig sind.

        alles in allem kann ich Dir nur halb helfen, vorallendingen bei den Klassen, aber wie gesagt, ich würde sie nicht verwenden.

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist