POST anstelle GET um URL string zu lesen darf ich?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • POST anstelle GET um URL string zu lesen darf ich?

    ich habe folgende URL:
    meineseite.php?seite=30

    nun kann ich diese ja folgendermasse benutzen:
    switch([COLOR=orangered]$GET[/COLOR]['seite']){
    case 30: include("seite_10.php"); break;
    ....

    nun war ich ganz überrascht dass folgendes auch funkt:
    switch([COLOR=orangered]$POST[/COLOR]['seite']){
    case 30: include("seite_10.php"); break;
    ....


    die abfrage mit [COLOR=orangered]$POST[/COLOR] würde mir zugute kommen da ich auf einigen seiten mit formularen arbeite. darf ich die [COLOR=orangered]$POST[/COLOR] variante einsetzen oder ist das eher ein zufall dass es wie oben funktioniert?

  • #2
    Du meinst, die POST-Variante funktioniert, obwohl die Var an die URL angehängt wird,

    oder hast du die daten auch entsprechende per Post gesendet?

    schau dir mal das $_REQUEST-Array genauer an. Da geht sogar beides

    Comment


    • #3
      Du meinst, die POST-Variante funktioniert, obwohl die Var an die URL angehängt wird,
      Ja genau!

      Comment


      • #4
        Naja, abgesehen davon, dass du oben $POST statt $_POST verwendest, sehe ich da keine erklärung für. Wie siehts mit deinem error_reporting aus? E_ALL ist eingestellt?

        Comment


        • #5
          sollte ich meine switch anweisung denn besser mit
          [COLOR=orangered]$_REQUEST[/COLOR]
          anstelle
          [COLOR=orangered]$GET[/COLOR]
          aufbauen?

          Comment


          • #6
            Ansichtssache. In jedem Fall aber MIT _Unterstrich!

            Comment


            • #7
              wäre folgende umsetzung denn korrekt oder eher unsauber:
              PHP Code:
              switch($_REQUEST['seite']){
              case 
              30: include("eineseite.php"); break;
              case 
              20: include("eineandereseite.php"); break; 

              ich möchte damit sowohl [COLOR=deeppink]POST[/COLOR] wie auch [COLOR=deeppink]GET[/COLOR] lesen können.
              Last edited by kendal; 16-10-2005, 20:12.

              Comment


              • #8
                wie tobi schon sagte, ist $_REQUEST eine ansichtssache ... ich persönlich nehme nur $_GET und $_POST (also getrennt) .....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Comment


                • #9
                  in meinem projekt muss ich aber aus POST wie auch GET lesen können
                  so bietet sich doch [COLOR=deeppink]$_REQUEST[/COLOR] an?
                  Last edited by kendal; 16-10-2005, 20:51.

                  Comment


                  • #10
                    wie gesagt ... ansichtssache ... wenn du weisst, wo welche daten drin sind, kannst/solltest du auch $_GET und $_POST nehmen. das ist sauberer. aber eben ansichtssache ....

                    du kannst ja würfeln, was du nimmst ...
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Comment


                    • #11
                      ich will aber nicht würfeln ;-)

                      ich habe eine seitenstruktur die über URL string navigiert wird. also $_ GET funktioniert hier bestens. nun habe ich aber auf einigen seiten formulare um datenbankeinträge zu machen.
                      hier benötige ich sowohl werte aus dem formular $_POST wie auch werte aus der URL $_GET.

                      Comment


                      • #12
                        Dann mach einfach an den entsprechenden Stellen $_GET bzw $_POST... wo is das problem?

                        Comment


                        • #13
                          URL string geht verloren wenn ich formular ausführe

                          ich baue ein kleines forum.

                          auf der indexseite habe ich folgende anweisung damit die jeweilige seite angezeigt wird (forum übersicht, einträge etc ...).
                          ich gebe den wert "[COLOR=seagreen]seite[/COLOR]" immer per URL string weiter.

                          PHP Code:
                          switch($_GET['seite']){
                          case 
                          10: include("forum/seite_10.php"); break;
                          case 
                          20: include("forum/seite_20.php"); break;
                          case 
                          30: include("forum/seite_30.php"); break;
                          case 
                          21: include("forum/seite_21.php"); break;
                          case 
                          31: include("forum/seite_31.php"); break;
                          default: include(
                          "forum/seite_10.php"); break;


                          nun mein problem:
                          auf der seite mit dem formular zum neueintrag verarbeite ich die formulardaten mit:
                          PHP Code:
                           if(isset($_POST['submit'])) 
                          hier verliere ich aber den URL string :-(

                          Comment


                          • #14
                            Schreib in das action-Attribut des Formulars ?seite=x oder setze es von Hand
                            PHP Code:
                            if(isset($_POST['submit']))
                              
                            $_GET['seite'] = 10
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Comment


                            • #15
                              Also so?
                              PHP Code:
                              <?php
                              if(isset($_POST['submit']))
                              {
                              $_GET['seite'] = 21;
                              $eintrag "INSERT INTO ...;
                              echo "
                              fertig";
                              }
                              ?>
                              <form name="
                              form1" method="post" action="<?php print $PHP_SELF?>">
                              <input name="formemail" type="text" id="formemail">
                              <input name="submit" type="submit" id="submit" value="Submit">
                              </form>

                              Comment

                              Working...
                              X