Problem. Liegt es an der BOOLEAN Variable??

  • Hey Leute :P


    Will eine Funktion schreiben, bei der man die Fakultät berechnen kann. (Bitte keine Tipps zum lösen für das berechnen; möchte das selber knacken ;) )
    Entweder buggt das Formular oder die BOOLEAN Variable.


    Achso was nicht geht? :D
    Wenn ich ein komma eingebe und SUBMIT'en tue, dann kommt nicht die ERROR Meldung :(


    PHP
    1. <span class="syntaxhtml"><span class="syntaxdefault"><?php<br />error_reporting</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">E_ERROR </span><span class="syntaxkeyword">|</span><span class="syntaxdefault"> E_WARNING </span><span class="syntaxkeyword">|</span><span class="syntaxdefault"> E_PARSE</span><span class="syntaxkeyword">);<br /><br /><br /><br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"."</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> OR strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">","</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        else<br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> FALSE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Fakultät berechnen</title><br />    <meta charset="UTF-8" /><br /><br />    <style type="text/css"><br /><br />          form<br />          {<br />              font-size: 15px;<br />              line-height: 20px;<br />          }<br /><br />          fieldset<br />          {<br />              padding: 5px;<br />              width: 300px;<br />          }<br /><br />          label<br />          {<br />              width: 220px;<br />              float: left;<br />              margin: 15px;<br />          }<br /><br />          input<br />          {<br />              width: 100px;<br />              float: right;<br />          }<br /><br />              input[type=submit]<br />              {<br />                  display: block;<br />                  clear: both;<br />                  float: none;<br />                  margin: 0 auto;<br />                  width: 80px;<br />              }<br />    </style><br /><br /></head><br /><body><br /><br />    <form method="get" action="index.php"><br />        <fieldset><br />            <legend>Fakult&auml;t berechnen</legend><br /><br />            <label>Zahl:<input type="text" maxlength="5" name="zahl" id="zahl" /></label><br /><br />            <input type="submit" name="button" id="button" value="Absenden" /><br /><br />                <span class="syntaxdefault"><?php<br />                    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$WARNUNG </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                        echo $zahl</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"<br />"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"Nur NAT&Uuml;RLICHE Zahlen. (KEINE gebrochenen, negativen Zahlen...)"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">                ?><br /></span><br />        </fieldset><br />    </form><br /><br /></body><br /></html></span>
  • Ich weiß ja nicht was du da machst mit dem (bool)..
    Was spricht gegen das hier?

    PHP
    1. <span class="syntaxhtml"><span class="syntaxdefault"><?php<br />error_reporting</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">E_ALL</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">$warnung </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;<br /><br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $zahl </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'zahl'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">        if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"."</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> OR strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">","</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $warnung </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Fakultät berechnen</title><br />    <meta charset="UTF-8" /><br /><br />    <style type="text/css"><br /><br />          form<br />          {<br />              font-size: 15px;<br />              line-height: 20px;<br />          }<br /><br />          fieldset<br />          {<br />              padding: 5px;<br />              width: 300px;<br />          }<br /><br />          label<br />          {<br />              width: 220px;<br />              float: left;<br />              margin: 15px;<br />          }<br /><br />          input<br />          {<br />              width: 100px;<br />              float: right;<br />          }<br /><br />              input[type=submit]<br />              {<br />                  display: block;<br />                  clear: both;<br />                  float: none;<br />                  margin: 0 auto;<br />                  width: 80px;<br />              }<br />    </style><br /><br /></head><br /><body><br /><br />    <form method="get" action="skript-phil.php"><br />        <fieldset><br />            <legend>Fakult&auml;t berechnen</legend><br /><br />            <label>Zahl:<input type="text" maxlength="5" name="zahl" id="zahl" /></label><br /><br />            <input type="submit" name="button" id="button" value="Absenden" /><br /><br />                <span class="syntaxdefault"><?php<br />                    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$warnung </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                        echo $zahl</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"<br />"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"Nur NAT&Uuml;RLICHE Zahlen. (KEINE gebrochenen, negativen Zahlen...)"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">                ?><br /></span><br />        </fieldset><br />    </form><br /><br /></body><br /></html></span>
  • PS: ich habe mal eine array eingebaut; hoffe es ist nicht schlimm


    PHP
    1. <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br />    $zeichen </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"."</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">","</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"+"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"-"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"/"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $zahl </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'zahl'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">       if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $zeichen</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        else<br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> FALSE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Fakultät berechnen</title><br />    <meta charset="UTF-8" /><br /><br />    <style type="text/css"><br /><br />          ***<br />              }<br />    </style><br /><br /></head><br /><body><br /><br />    <form method="get" action="index.php"><br />        <fieldset><br />            <legend>Fakult&auml;t berechnen</legend><br /><br />            <label>Zahl:<input type="text" maxlength="5" name="zahl" id="zahl" /></label><br /><br />            <input type="submit" name="button" id="button" value="Absenden" /><br /><br />                <span class="syntaxdefault"><?php<br />                    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$WARNUNG </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                        echo $zahl</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"<br />"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"Nur NAT&Uuml;RLICHE Zahlen eigeben. (KEINE gebrochenen, negativen Zahlen und keine Rechenzeichen...)"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">                ?><br /></span><br />        </fieldset><br />    </form><br /><br /></body><br /></html><br /></span>



    Ich glaube es liegt an diesen Zeilen! :(


    PHP
    1. <span class="syntaxdefault"><br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $zeichen</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        else<br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> FALSE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span>
  • &quot;drPHIP132&quot; schrieb:
    PHP
    1. <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br />    $zeichen </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"."</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">","</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"+"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"-"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"/"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">       </span><span class="syntaxkeyword">[...]<br /></span><span class="syntaxdefault">?><br /></span></span>


    Kann es sein, dass du das Array "$_" mit dem Index 'button' aufrufst, das gar nicht existert?
    Lass mal ale Fehler ausgeben..


    Hoffe, ich konnte helfen,
    webmaster3000

  • Mal von der Button Geschichte abgesehen:
    Also erst einmal, strpos erwartet als 1. Parameter den String in dem es suchen soll und als 2. Parameter einen String, der in dem 1.Parameter gesucht werden soll.
    Wenn der 2. Parameter kein String ist wird er in einen Integer umgewandelt. Und ein Array kann nicht in einen Integer umgewandelt werden (o. es kommt NULL heraus).
    Dann sollte man vllt einen Striktenvergleich anstellen (=== bzw. !==), so ist man hier immer auf der Sicheren Seite, hat mehr Kontrolle und ich finde es einfacher zu verstehen :P
    Allein schon weil strpos einen Integer oder false zurück gibt, was manchmal sehr tricky ist. (Was ich damit sagen will: Deine If-Anweisung ist falsch herum)

  • Bin fertig. Ist meine erste Funktion in php (sowas meine ich)



    es geht leider nicht. [berechnung ist der fehler]
    hier der code


    PHP
    1. <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br />    $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> FALSE</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $zahl </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'zahl'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(string)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(int)</span><span class="syntaxdefault"> $zahl</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $zahl </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl </span><span class="syntaxkeyword">>=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">            </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                $WARNUNG </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">function berechnung</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">)<br />{<br /></span><span class="syntaxdefault">    while </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl </span><span class="syntaxkeyword"><=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $ergebniss </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $zahl </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ergebniss</span><span class="syntaxkeyword">);<br />}<br /><br /><br /><br /><br /><br /><br /><br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Fakultät berechnen</title><br />    <meta charset="UTF-8" /><br /><br />    <style type="text/css"><br />***<br />        </style><br /><br /></head><br /><body><br /><br />    <form method="get" action="index.php"><br />        <fieldset><br />            <legend>Fakult&auml;t berechnen</legend><br /><br />            <label>Zahl:<input type="text" maxlength="5" name="zahl" id="zahl" /></label><br /><br />            <input type="submit" name="button" id="button" value="Absenden" /><br /><br />                <span class="syntaxdefault"><?php<br />                    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$WARNUNG </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                        echo </span><span class="syntaxstring">"<span>Nur NAT&Uuml;RLICHE Zahlen.!</span>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">                    berechnung </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                    echo $ergebniss</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                ?><br /></span><br />        </fieldset><br />    </form><br /><br /></body><br /></html><br /></span>
  • Der Sinn dieser

    &quot;drPHIP132&quot; schrieb:
    PHP
    1. <span class="syntaxdefault"><br /></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(string)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(int)</span><span class="syntaxdefault"> $zahl</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $zahl </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span>

    und dieser

    &quot;drPHIP132&quot; schrieb:
    PHP
    1. <span class="syntaxdefault"></span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ergebniss</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"></span>


    Zeilen erschließt sich mir nicht.


    Bei ersterer willst du vielleicht den Datentyp überprüfen?
    Das macht man mit is_string(), is_integer() usw.


    Beim Zweiten willst du viellecht das Ergebnis mit return zurückgeben?


    Hoffe, ich konnte helfen,
    webmaster3000

  • &quot;webmaster3000&quot; schrieb:

    Das macht man mit is_string(), is_integer() usw.

    Bei Get und Post-Werte würde ich da nicht drauf vertrauen :wink:


    @Phip: Hast du deine Funktion mal ausprobiert?
    1. wird nichts zurück gegeben
    2. Hast du eine Endlos-Schleife produziert^^ Nirgends wird $zahl dauerhaft um 1 verringert, sondern immer nur Temporär.
    3. Ist das keine Funktion zum Errechnen der Fakultät :/

  • Ich glaube der Denkansatz bei der Funktion ist bei dir ein bisschen falsch - du musst ja nicht immer die Zahl mit sich selber multiplizieren, sondern das Zwischenergebnis mit der Zahl (ganz abgesehen davon, dass bei dir irgendwas wie $zahl--; fehlte). Folgende Funktion tut - mal probieren nachzuvollziehen am besten :)


    PHP
    1. <span class="syntaxdefault">function fakultaet</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">     $zwischenergebnis </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">      while </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl </span><span class="syntaxkeyword">></span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">          $zwischenergebnis </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $zwischenergebnis </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> $zahl</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">          $zahl</span><span class="syntaxkeyword">--;<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">      return </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zwischenergebnis</span><span class="syntaxkeyword">);<br />}</span><span class="syntaxdefault"> </span>
  • &quot;Sarkkan&quot; schrieb:

    Bei Get und Post-Werte würde ich da nicht drauf vertrauen :wink:


    @Phip: Hast du deine Funktion mal ausprobiert?


    joa

    &quot;Sarkkan&quot; schrieb:

    1. wird nichts zurück gegeben


    wiegesagt meine erste funktion :(

    &quot;Sarkkan&quot; schrieb:

    2. Hast du eine Endlos-Schleife produziert^^


    Oh das doof

    &quot;Sarkkan&quot; schrieb:

    3. Ist das keine Funktion zum Errechnen der Fakultät :/


    doch? o.O :!::!::?::?:


    Fakultät (beispiel):


    5! = 5*4*3*2*1


    5=n;
    n = n*(n-1) //das wird wiederhohlt bis n==1


    ???

  • Siehe das was Laura geschrieben hat^^
    Du machst folgendes (wenn wir davon ausgehen, dass die Zahl sich verrinergt):
    Ergebnis = 5 * 4
    Ergebnis = 4 * 3
    Ergebnis = 3 * 2
    ...


    Fakultät wäre wie Laura geschrieben hat
    Ergebnis = Ergebnis * 5
    Ergebnis = Ergebnis * 4
    ....


    PS: Zurück gegeben wird mit return:

    PHP
    1. <span class="syntaxdefault"></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">getBack</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">){<br /> return </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">;<br />} </span><span class="syntaxdefault"></span>