Logische Operatoren in der Funktion

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

  • Logische Operatoren in der Funktion

    Salutti

    Hey könntest du dir bitte mal diesen Code anschauen, ich bin Ratlos

    Die Variabeln werden in der URL übergeben, das funktioniert, allerdings mache ich irgendetwas falsch [Bin übrigens Newbie], denn nur schon wenn ich gar keine Variable übergebe gibt diese Funktion meine eigene (else 404 - ganz unten) Fehlermeldung zurück anstatt "index.php" zurückzugeben (in der IF-Anweisung zu oberst, ist definiert, wenn keine dieser Variabeln gesetzt wurde, soll er "index.php" zurückgeben. Denke der Fehler ist ganz simpel, aber ich habe keine Erfahrung.
    Vielen Dank für deine Hilfe!

    PHP-Code:
    function ebene1()
        {
        global 
    $a$an$b$bn$c$cn;
    if(!isset(
    $a) && !isset($an) && !isset($b) && !isset($bn) && !isset($c) && !isset($cn)) {return "index.php";}
    elseif(!isset(
    $a) && isset($an) && !isset($b) && !isset($bn) && !isset($c) && !isset($cn)) {return $an.".php";}
    elseif(isset(
    $a) && isset($an) && !isset($b) && !isset($bn) && !isset($c) && !isset($cn)) {return $a."/".$an.".php";}
    elseif(isset(
    $a) && !isset($an) && !isset($b) && isset($bn) && !isset($c) && !isset($cn)) {return $a."/".$an.".php";}
    else {return 
    "error404.php";}
        } 
    Buhuuu

  • #2
    dann schau doch mal, ob in den variablen nich doch etwas drin ist - oder hast du das schon getestet?

    Kommentar


    • #3
      bzw geh die runde durch mit if(isset($a)) die("\$a is set to $a");
      Zuletzt geändert von penizillin; 10.12.2004, 23:35.

      Kommentar


      • #4
        Hab das ganze aus der eigentlichen Page heraus genommen, zum testen. Die Variabeln können bei einem Neuaufruf der Seite ja nicht schon gesetzt sein (hoffe ich ;-)

        Kommentar


        • #5
          Hmmm, hab deinen Vorschlag noch ausprobiert mir Resultat:

          $an is set to start

          Naaja... Irgendwo werden da Variabeln eingeschmuggelt, vielen Dank!, hätte ich mir jetzt wirklich nicht vorstellen können...

          Kommentar


          • #6
            wenn du sie mit global deklarierst kommt es darauf an, wo sie außerhalb der funktion gesetzt werden.

            was ist mit den register_globals?

            Kommentar


            • #7
              "register_globals" kenne ich nicht ;-) Werde mich bei gelegenheit aber informieren - Bin Anfänger, und zu faul um Bücher auswendig zu lernen, da gibts nur eins --> Draufloscoden ;-)

              Vielen Dank für die Hilfe!

              Kommentar


              • #8
                Trotzdem ...

                ... coole Funktion ... meinen Glückwunsch ... !

                Bücher lesen ist eh scheisse ... hier: http://www.thephpwtf.com/
                'ne gute Seite ... die wird Dir sicher weiterhelfen ... !

                @all: Hatten wir schon ... weiss ich ... aber zu Ihm passt die Seite ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  Original geschrieben von sailcomp
                  "register_globals" kenne ich nicht ;-) Werde mich bei gelegenheit aber informieren - Bin Anfänger, und zu faul um Bücher auswendig zu lernen, da gibts nur eins --> Draufloscoden ;-)

                  Vielen Dank für die Hilfe!
                  da gibts bei uns auch nur eins -> dich und deine Posting einfach ignorieren

                  Kommentar


                  • #10
                    Entschuldigung, wollte euch hier nicht gegen mich aufhetzen. Habe es in der schnelle etwas falsch beschrieben, aber schlussendlich kommt es auf das raus, dass ich einfach zu blöd bin um eine Programmiersprache aus einem Buch zu lesen.

                    Natürlich habe ich schon Bücher gelesen, dummerweise bleibt mir aber nicht viel hängen, learning by doing funktioniert. Natürlich nicht sehr schnell, aber meiner Meinung nach besser als gar nicht, denn mir gefällt diese Scriptsprache und ich möchte sie gerne lernen.

                    Abgesehen davon, kann ich es mir nicht leisten mich aufs PHP schreiben zu konzentrieren, denn ich gehe daneben zur Schule und zur Arbeit. Habe also mehr als genug Anderes um die Ohren.

                    Muss ich mich nun neu registrieren, mit anderer IP und so, um "die Wahrheit" zu verschweigen, oder könnt ihr mich verstehen

                    Habe übrigens hier neben mir 2 Bücher über PHP, eins über MySQL selber, und eines über das einrichten eines Webservers (Apache ...). Es bringt nichts diese hier zu nennen, denn so blöd, dass ich keinen Titel bei Amazon finden würde bin ich nun auch wieder nicht.

                    Glaube den Thread hier kann man langsam schliessen. Naja, ein paar Antworten würden mich zwar schon interessieren.

                    Schöne Zeit
                    Sailcomp

                    Kommentar


                    • #11
                      Original geschrieben von sailcomp
                      Natürlich habe ich schon Bücher gelesen, dummerweise bleibt mir aber nicht viel hängen, learning by doing funktioniert. Natürlich nicht sehr schnell, aber meiner Meinung nach besser als gar nicht, denn mir gefällt diese Scriptsprache und ich möchte sie gerne lernen.

                      Abgesehen davon, kann ich es mir nicht leisten mich aufs PHP schreiben zu konzentrieren, denn ich gehe daneben zur Schule und zur Arbeit. Habe also mehr als genug Anderes um die Ohren.
                      Lernen kann man was nur wenn man daran arbeitet, was in Übungen, Wissen suchen und aneignen ausartet.

                      Jeder konzentriert sich nicht nur rein aufs coden....
                      Nur man kann sich seine Zeit einteilen.....

                      Bei dem Stichwort Draufloscoder sag ich nur eins:
                      Wenn dein Server mal gehackt wurde dann war der Hacker wohl nur ein Scriptkiddie....Kann ja gleich für einen Dieb den Safe öffnen und gehen

                      Dein Codestyle ist unter der Gürtellinie, wo ich nach 5 Std. immer noch soviel weiss wie vor 2 Sekunden.
                      Damit wirst du früher oder später nach 2000 Codezeilen auch so denken
                      [color=blue]MfG Payne_of_Death[/color]

                      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                      [color=red]Merke:[/color]
                      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                      Murphy`s Importanst LAWS
                      Jede Lösung bringt nur neue Probleme
                      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                      Kommentar


                      • #12
                        Thanks für die ausführliche Antwort.

                        Genau, du sagst es, wenn man daran arbeitet und genau das tue ich
                        Am schreiben eigener skripts lerne ich, das Wissen suche ich mir zusammen, immer das was ich gerade benötige um einen Schritt weiter zu kommen.

                        Natürlich konzentriert sich nicht jeder rein aufs coden, aber um mal reinzukommen sollte man ganz bestimmt mehr Zeit investieren als ich es im Moment tue. Das hängt damit zusammen, dass ich eigentlich wichtigeres zutun habe, was ich aber weniger gern mache.

                        Heikle Situation. Übrigens kann ich mir tatsächlich die Zeit nicht gut einteilen (wenn ich das besser könnte wäre ich bestimmt schon weiter), aber ich denke mal, dass hat hier nichts verloren...

                        "Draufloscoder" ist ein sehr negativer Ausdruck. Wenn mir den Jemand anhängen würde, wäre ich garnicht einverstanden, aber da ich meinen momentanen Programmierstiel selber so genannt habe, tja... Hoffen wir, dass es nicht so schlimm ist wie es tönt. Wenn ich eine "sichere" Applikation möchte, dann würde das etwas anders klingen :-) Jedoch geht es mir bei meinen momentanen Skripts ums lernen.

                        Mir ist schon klaar, dass aus diesem Code Niemand schlau wird, aber ich möchte ja nicht, dass ihr den gesammten Code durchackern müsst um einen Fehler zu finden (sofern ihr das überhaupt möchtet), sondern schnell den Fehler seht um weiter zu helfen. Naja, mir würde das jedenfalls denke ich so gehen. [Die Variabeln haben extra so kurze nichtssagende Namen, sie werden in der URL übergeben.]

                        Hoffe, der Codstyle ist nicht so unter der Gürtellinie, dass man das was ich da geschrieben habe, viel geschickter (einfacher) machen könnte. Wenn das so wäre, dann würde mich das natürlich sehr interessieren, denn wesshalb sollte ich schlechten Code schreiben wollen. Kann es zumindest im Moment einfach nicht besser.

                        Sorry, aber ich bin am lernen.

                        Kommentar


                        • #13
                          wenn nun alle Klarheiten () beseitigt ist , kannst du dich deinem Script widmen.
                          Tipp:
                          - global ist Sch**ße, bitte nie verwenden
                          - Wenn du sagst, daß es sich um Var. in der URL sind, dann sind sie im Superglobals untergebracht, schau dir dazu $_GET an.
                          - deine If-Anweisungen ist verwirrend. Versuche die Navigation so zu gestalten, dass du abhängige Bedingungen aufbauen kannst. Etwa so:

                          + b kann nur existieren, wenn a schon existiert, d.h. wenn a nicht existiert, brauchst du nicht b zu prüfen.
                          + c kann nur existieren, wenn b schon existiert, d.h. wenn a nicht existiert, brauchst du nicht b und c zu prüfen, oder wenn a existiert, b aber nicht, dann brauchst du c nicht zu prüfen.
                          ...
                          usw.

                          aber nicht quer durch die Bank, daß jede einzelne Var. unabhängig voneinander existieren kann, das ist nicht der sinnvollster Weg

                          Kommentar

                          Lädt...
                          X