Problem mit PHP code :/

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hey, ich habe einen PHP Code geschrieben, der alle Teiler einer Zahl, die man eingibt anzeigen soll.
    Leider lädt die Seite ewig, wenn ich den Teiler berechnen will.
    Hier erstmal der Code:



    Also mit Teiler meine ich, die Zahlen durch die eine Zahl ohne Rest geteilt werden kann. ein Beispiel:
    Zahl: 12
    Ergebnisse:


    2
    3
    4
    6



    In dem Code verhindere ich, dass 1 angezeigt wird, da jede Zahl durch 1 teilbar ist.


    Die Fehlermeldung nach einiger Zeit:


    Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\Php\Teilerliste\teiler.php on line 24

  • Überleg mal, was passiert, wenn du 12 eingibts und das Formular abschickst:
    In der Schleife wird zuerst überprüft, ob 2 kleiner als 12 ist. Weil das Stimmt, wird in $r 12/2 = 6 gespeichert. Weiter passiert nichts, da $r == 0 FALSE ist. Jetzt beginnt die Schleife aber wieder von vorne. Also bleibt in ner Endlos-Schleife und wird vom Server nach 60 Sekunden durch die max_execution_time beendet.


    btw: Wenn du das echt brauchst, empfehl ich ma die Modulo-Division per %

  • Müsste ich also nur das


    PHP
    <?phpif(isset($_POST['zahl'])) {  $teiler = 2;  $zahl = $_POST['zahl'];  while($teiler < $zahl) {        $r = round($zahl / $teiler);        if($r == 0) {          echo "$teiler <br />\n";          $teiler = $teiler + 1;        }  }}?>


    In das



    Ändern?

  • aja xD man kann der wert ja auch mit ++ erhöhen x,x
    schande über mich


    ich glaube du hast ne klammer vergessen


  • Nein, muss nciht unbedingt, kann aber. Hättest aber einfach testen können.


    E:/ Ich hab aber eine zuviel gemacht: