[Funktion] kein return?

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

  • [Funktion] kein return?

    Normalerweise frage ich hier nicht mehr, denn ich benutze sehr wohl die Suchfunktionen und hat mir auch sehr geholfen, doch jetzt stehe ich wirklich auf dem Schlauch:

    Ich habe von hier das schöne Usermanagement (geklaut ) und nun eingebunden, dazu noch ein tolles Formular erstellt, bei dem man sich auch registrieren kann, um überhaupt rein zu kommen. Was ich aber absolut nicht kapiere, bzw. nicht funktioniert ist, dass ich keine Meldung von der Funktion zurück bekomme, wie z.b.:

    in der signup.php

    PHP-Code:
    mkUser ($vorname_signup);
    echo 
    $errormessage
    in der usermanagement.php

    PHP-Code:
    if ($vorname_signup)
        {
            
    $errormessage "This Username exist - Please chose another one";
            return 
    $errormessage;
        }
        else
        {
    irgendwas nicht relevant


    Ich will jetzt nicht den Megacode einbauen, aber denke, dass die richtigen Hasen sich auskennen.
    Ich weiss nur leider nicht, wieso die Message nicht ausgegeben wird.
    Weiss jemand vielleicht bitte weiter?

    Danke im Voraus!

  • #2
    Re: [Funktion] kein return?

    Original geschrieben von vincmar
    PHP-Code:
    mkUser ($vorname_signup); 
    Du hast das, was die Funktion mkUser() ggf. zurückgibt, überhaupt nicht in Empfang genommen - damit ist es weg, futsch, verloren.

    So in etwa müsste das aussehen:
    PHP-Code:
    $blah mkUser(...);
    echo 
    $blah
    PHP-Code:
    echo $errormessage
    Die Variable $errormessage existiert an dieser Stelle überhaupt nicht.

    Beschäftige dich mit http://www.php.net/manual/de/languag...bles.scope.php
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hallo wahsaga

      ich habe mir das angesehen, danke, aber ...

      ich will ja [COLOR=red]KEIN echo[/COLOR] weil ich den text in der seite erst nachher ausgeben will, wo sie dann hingehört.

      auf die art:

      seite1.php:
      PHP-Code:
      <?
      require usermanagement.php;

      foo ();
      ?>

      Hier der HTML-Text.
      <?
      echo "html-text".$errormessage."html-text";
      ?>
      Und dann wieder HTML-Text.
      und dann die usermanagement.php:

      PHP-Code:
      <?
      function foo ();

      $errormessage = "ACHTUNG";

      return $errormessage;

      ?>
      verstehst du was ich meine? Oder stehe ich auf dem Schlauch?

      Kommentar


      • #4
        zweiteres

        schau dir den link an, den wahsaga dir gezeigt hat.

        Kommentar


        • #5
          Bin ich blöd?
          Ich kann nichts finden

          Kann mir nicht jemand auf die Sprünge helfen?

          ich habe jetzt auch dies hier versucht, aber es geht nicht:

          PHP-Code:
          <?
          require usermanagement.php;

          foo ($errormessage);
          ?>

          Hier der HTML-Text.
          <?
          echo "html-text".$errormessage."html-text";
          ?>
          Und dann wieder HTML-Text.
          PHP-Code:
          <?
          function foo ($errormessage);

          $errormessage = "ACHTUNG";

          return $errormessage;

          ?>
          Ich kann es echt nicht finden!
          Habt bitte Erbarmen!

          Kommentar


          • #6
            schau dir doch mal deine funktion foo() an. wo ist ihr anfang und wo ist ihr ende?

            außerdem solltest du das ergebnis dieser funktion einer variable zuweisen, die du außerhalb der funktion verwenden möchtest.

            Kommentar


            • #7
              LOL!
              Ich habe einfach
              PHP-Code:
              global $errormessage
              in der funktion gesetzt und jetzt funkt es.

              Danke an Alle!

              Kommentar


              • #8
                Das ist aber kein besonders guter Stil.

                Wenn du jetzt lokal, also in deinem Script die selbe Variable verwendest wird die andere überschrieben.

                Variablen global zu machen ist nicht wirklich der Hit.

                Kommentar


                • #9
                  Eine andere Lösung hab ich aber nicht gefunden.
                  Ich habe wirklich gesucht. Entweder ist mein Hirn leer, oder ich finde die Lösung nicht. Wenn mir jemand die Lösung geben könnte, wäre es für mich einfacher.

                  Ich weiss, dass global nicht die Lösung ist, aber in meinem Fall reicht es aus. Falls du mir aber dennoch sagen kannst was ich anders machen kann, wäre ich dir dankbar.

                  Kommentar


                  • #10
                    PHP-Code:

                    <? require usermanagement.php; 

                    $errormessage = foo ($errormessage);

                    ?> 

                    Hier der HTML-Text. 

                    <? echo "html-text".$errormessage."html-text"; ?>

                    Und dann wieder HTML-Text.

                    Kommentar


                    • #11
                      Das funktioniert?
                      Gut! Dann habe ich irgendwo einen Fehler anscheinend, denn bei mir funktioniert das so nicht.

                      trotzdem danke.

                      Kommentar

                      Lädt...
                      X