Variablen weitergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablen weitergeben

    Hi Zusammen,

    ich habe folgendes Problem.
    Ich habe ein Formular mit einen Sicherheitscode, der über ein Bild dargestellt wird, um Spam zu verhindern.
    Wenn alle Felder ausgefüllt sind, sollen alle Daten an die Datei verify.php übergeben werden.

    verify.php:
    session_start('mycode');
    if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $gbcode)) {

    header('Location: http://www.xxx.info/index.php?option...isting&cat_id=$cat_id&Itemid=$Itemid&mosmsg=Danke+f%FCr+Ihren+Beitrag.+Ihr+Eintrag+wird+baldm%F6glichst+von+einem+ Administrator+gepr%FCft+und+zum+Verzeichnis+hinzugef%FCgt%2C+sobald+er+genehmigt+wurde.');

    }else {

    echo "DER CODE IST FALSCH";?>

    <? } ?>

    Das klappt auch soweit.
    Wenn ich print_r($GLOBALS); in verify.php angebe werden alle Variablen angezeigt.

    Jedoch in der Datenbank kommen nur leere Einträge an?
    Bei meiner Weiterleitung gehen diese verloren, wie kann ich diese weitergeben??

    Thx
    tullski

  • #2
    erstens ist das hier ziemlicher schwachfug:
    PHP-Code:
    &mosmsg=.... 
    Jedoch in der Datenbank kommen nur leere Einträge an?
    wo erfolgt denn der einntrag in die db? wenn es die index.php ist, dann kein wunder, da die post-daten verloren gehen. tipp: schreib sie in die session hinein oder verarbeite sie in der verify.php

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Muss ich die Variablen bei dem Formular in die Session schreiben oder kann ich das auch in der verify.php machen?

      Kommentar


      • #4
        du hast zwei möglichkeiten:

        1. du trägst die werte in die db in der index.php ein
        dann mußt du sie in der verify.php in die session schreiben und an die index.php weiterleiten.

        2. du trägts die werte in der verify.php in die db ein, dann hast du zugriff auf die post-daten

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Danke Peter,

          für die schnelle Antwort.
          Ich schreibe die Vars über die Index.php in die DB.

          Wie bekomme ich die gesendeten Variablen in die Session
          session_start ();
          $code = array();
          ????

          und wenn ich diese in der Session gespeichert habe werden diese automatisch bei der Weiterleitung an die index.php mitgesendet?

          thx

          Kommentar


          • #6
            Wie bekomme ich die gesendeten Variablen in die Session
            genau so wie die anderen.
            werden diese automatisch bei der Weiterleitung an die index.php mitgesendet?
            schau dir mal das an:
            PHP-Code:
            $param session_name().'='.session_id(); 
            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Das mit dem Array hab ich gelöst.
              session_start ('code');
              $mycode = array();
              $mycode[0] =strip_tags($vorname);
              $mycode[1] =strip_tags($nachname);


              $param = session_name().'='.session_id();

              Aha - das sagt mir nix.
              Heisst das vielleicht alle Sessionvariablen werden in die Variable $param geschrieben werden?

              Grüße
              t.

              Kommentar


              • #8
                nein, das ist der parameter den du an den link zur index.php dranhängst.
                PHP-Code:
                ...index.php?$param 
                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Ich nochmal,

                  sorry ich blicks noch nicht vielleicht kann das jemand etwas ausführlicher erklären.

                  $param = session_name().'='.session_id();

                  index.php?$param

                  Auch wenn ich das drann häng gibt es einen leeren DB-Eintrag.

                  Wenn ich echo $param; ausgebe
                  erhalte ich nur eine SessionID?

                  Kommentar


                  • #10
                    file1.php
                    PHP-Code:
                    session_start();
                    $_SESSION['name'] = 'bla'
                    file2.php
                    PHP-Code:
                    session_start();
                    echo 
                    $_SESSION['name']; 

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Okay mein letzter Versuch.
                      Ich erklärs nochmal ausführlich.....

                      Ich habe 2 php Dateien.
                      Die erste generiert eine Zahl, die als Bild dargestellt wird.
                      Diese Zahl wird in einer Session Variable gespeichert.
                      Datei:img.php
                      session_start();
                      session_register("code");
                      $seccode = mt_rand(10000, 99999);
                      $_SESSION['code'] = $seccode;

                      Dieses Bild wird dann im Formular angezeigt(Spamschutz)
                      Sendet man das Formular ab, muss erst der Code validiert werden. Klappt das, werden Die Felder an die DB übergeben.
                      Datei:verify.php (wird vom Formular aufgerufen)
                      session_start();

                      $_SESSION['$vorname'] = $vorname;
                      $_SESSION['$nachname'] = $nachname;

                      if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $gbcode)) {
                      header('Location: http://www.xxx.info/index.php?option...isting&cat_id=$cat_id&Itemid=$Itemid');
                      exit;
                      }else {
                      echo "Der Code is falsch!";
                      }



                      Soweit so gut.
                      Leider bekomme ich nur leere Einträge.

                      Auch der Tipp von Kropff hat micht gefunkt.
                      $param = session_name().'='.session_id();


                      Wenn ich echo $param; ausgebe
                      erhalte ich nur eine SessionID.

                      Wo hängt`s?

                      Kommentar


                      • #12
                        Original geschrieben von tullski25
                        Wo hängt`s?
                        an deinem verständnis von register_globals, sessions, http, get, post...

                        Kommentar

                        Lädt...
                        X