POST anstelle GET um URL string zu lesen darf ich?

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

  • 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

    Kommentar


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

      Kommentar


      • #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?

        Kommentar


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

          Kommentar


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

            Kommentar


            • #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.
              Zuletzt geändert von kendal; 16.10.2005, 20:12.

              Kommentar


              • #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 |


                Kommentar


                • #9
                  in meinem projekt muss ich aber aus POST wie auch GET lesen können
                  so bietet sich doch [COLOR=deeppink]$_REQUEST[/COLOR] an?
                  Zuletzt geändert von kendal; 16.10.2005, 20:51.

                  Kommentar


                  • #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 |


                    Kommentar


                    • #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.

                      Kommentar


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

                        Kommentar


                        • #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 :-(

                          Kommentar


                          • #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...

                            Kommentar


                            • #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>

                              Kommentar

                              Lädt...
                              X