Anfänger: PHP Code OK?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anfänger: PHP Code OK?

    Hallo Leute,

    ich will nun endlich PHP lernen und habe heute damit angefangen. Hab mir eine Tabelle erstellt und wollte wissen, ob das so ok ist, oder ob ich es lieber anders machen sollte. Wie gesagt ist echt nur Kinderkram, also nur wenig PHP, aber bin eben noch Anfänger. Hab das mit den runden der Zahlen aus dem Internet zusammengewürfelt und es klappt. Juhuuu.

    Ist das ok oder geht das mit dem Runden auch einfacher?
    Dateien
    • 11.txt

      (2,67 kB, 248 mal heruntergeladen, zuletzt: )
  • Hi,

    also zum Runden von Zahlen reicht auch round($zahl, 2(Kommastellen)); .
    Außerdem würde ich nicht echo dazu benutzten um HTML zu schreiben sondern einfach das PHP Skript schließen ( ?> ), HTML schreiben und die einzelnen Variablen oder Skriptteile von PHP dann einfach mit einbringen. Also so z. B. ->

    PHP-Quellcode

    1. <?php
    2. $zahl1 = 12.12392;
    3. round($zahl1, 2);
    4. ?>
    5. <html>
    6. <body>
    7. <p> Trallalaa meine Zahl ist die Nummer <?php echo $zahl1; ?>! Tralallaa</p>
    8. </body>
    9. </html>
  • Also am Anfang war ich auch am wundern, warum das nicht klappt...
    Aber die kleinsten sind meistens die schlimmsten :D
    -> echo...

    Quellcode

    1. <?php
    2. $y1 = 0.932;
    3. $y20 = 20;
    4. $y40 = 40;
    5. $y60 = 60;
    6. $y80 = 80;
    7. $y120 = 120;
    8. $y160 = 160;
    9. $y200 = 200;
    10. $y250 = 250;
    11. $y400 = 400;
    12. $y500 = 500;
    13. $y1000 = 1000;
    14. ?>
    15. Festplatten haben immer weniger Speicherplatz, als auf dem Etikett angegeben.<br>
    16. Mit dieser Liste kann genau bestimmt werden, wieviel Platz tats&auml;chlich zu verf&uuml;gung steht:
    17. <br><br>
    18. <table border="1">
    19. <tr>
    20. <td style="width: 100px; text-align: right; padding: 10px;">20 GB =</td>
    21. <td style="width: 100px; text-align: right; padding: 10px;">
    22. <?php echo str_replace(".",",",number_format(round($y20*$y1, 1),1)); ?> GB<br></td>
    23. <tr>
    24. <td style="text-align: right; padding: 10px;">40 GB =</td>
    25. <td style="text-align: right; padding: 10px;">
    26. <?php echo str_replace(".",",",number_format(round($y40*$y1, 1),1)); ?> GB<br></td>
    27. <tr>
    28. <td style="text-align: right; padding: 10px;">60 GB =</td>
    29. <td style="text-align: right; padding: 10px;">
    30. <?php echo str_replace(".",",",number_format(round($y60*$y1, 1),1)); ?> GB<br></td>
    31. <tr>
    32. <td style="text-align: right; padding: 10px;">80 GB =</td>
    33. <td style="text-align: right; padding: 10px;">
    34. <?php echo str_replace(".",",",number_format(round($y80*$y1, 1),1)); ?> GB<br></td>
    35. <tr>
    36. <td style="text-align: right; padding: 10px;">120 GB =</td>
    37. <td style="text-align: right; padding: 10px;">
    38. <?php echo str_replace(".",",",number_format(round($y120*$y1, 1),1)); ?> GB<br></td>
    39. <tr>
    40. <td style="text-align: right; padding: 10px;">160 GB =</td>
    41. <td style="text-align: right; padding: 10px;">
    42. <?php echo str_replace(".",",",number_format(round($y160*$y1, 1),1)); ?> GB<br></td>
    43. <tr>
    44. <td style="text-align: right; padding: 10px;">200 GB =</td>
    45. <td style="text-align: right; padding: 10px;">
    46. <?php echo str_replace(".",",",number_format(round($y200*$y1, 1),1)); ?> GB<br></td>
    47. <tr>
    48. <td style="text-align: right; padding: 10px;">250 GB =</td>
    49. <td style="text-align: right; padding: 10px;">
    50. <?php echo str_replace(".",",",number_format(round($y250*$y1, 1),1)); ?> GB<br></td>
    51. <tr>
    52. <td style="text-align: right; padding: 10px;">400 GB =</td>
    53. <td style="text-align: right; padding: 10px;">
    54. <?php echo str_replace(".",",",number_format(round($y400*$y1, 1),1)); ?> GB<br></td>
    55. <tr>
    56. <td style="text-align: right; padding: 10px;">500 GB =</td>
    57. <td style="text-align: right; padding: 10px;">
    58. <?php echo str_replace(".",",",number_format(round($y500*$y1, 1),1)); ?> GB<br></td>
    59. <tr>
    60. <td style="text-align: right; padding: 10px;">1000 GB =</td>
    61. <td style="text-align: right; padding: 10px;">
    62. <?php echo str_replace(".",",",number_format(round($y1000*$y1, 1),1)); ?> GB<br></td>
    Alles anzeigen
  • So ich habe mein Formular jetzt erweitert. Wird immer sinnloser! :)
    Mein Frage ist nun, wenn ich im oberen Eingabefeld was eingebe wird ein Text mit der Antwort ausgegeben. Gebe ich nun in dem unteren Kasten auch etwas ein gibt es dort auch eine Textausgabe. Das problem ist nun, dass die Eingabe im oberen Kasten verschwindet, wenn ich im Unteren auch etwas eingebe. Und anders herum auch. Wie könnte ich das machen, dass die Texte immer stehen bleiben? Bei Neuaufrufen der Seite sollten sie dann natürlich weg sein.

    Ich weiß, der Inhalt ist Qaurk, aber dient nur zu Lernzwecken. ;)
  • So wie du es formulierst, macht es aber doch Sinn alles in ein Formular zu packen, oder?
    Die Eingaben hängen schließlich alle zusammen.

    Alternativ kannst du die Eingabe in Sessions speichern. Willst du erreichen, dass die Daten nach einem Aktualisieren aber nicht weiter vorhanden sind, musst du Session Daten wieder löschen, falls $_POST nicht gesetzt ist.
  • Ich werde es einfach nochmal umbauen. Danke.

    So ich habe noch eine letzte Frage. Ich weiß ich nerve, aber PHP ist einfach zu cool. Was mann da alles machen kann!
    Also mein letztes Problem ist. Wenn ich F5 drücke, bleibt der Text immer noch da stehen, soll er aber nicht. Ich weiß ist im Grunde genau das Gegenteil was ich vorher wollte, aber ich will nur wissen wie es geht.

    Habe es schon so probiert, ohne Erfolg:

    Quellcode

    1. if ($eingabe2)
    2. {
    3. echo "Auf dem Label steht <b><font color=\"#ff3f30\">".$eingabe2." GB</font></b>,
    4. aber die Platte hat real nur <b><font color=\"#5fff50\">".$ergebnis2." GB</b></font> !!!";
    5. }
    6. else
    7. {
    8. echo "";
    9. }
  • Wenn du F5 drückst, dann fragt dich Firefox, ob du das Formular erneut abschicken willst.
    PHP kann nicht unterscheiden, ob es eben dank Aktualisierung oder per manueller zweiter Eingabe abgeschickt wurde.

    Du könntest dir natürlich ein verstecktes Formularfeld mit eindeutiger ID machen und serverseitig prüfen, ob die ID schonmal verwendet wurde. Aber NEEEEIIIINN.... greif nicht in Benutzerprozesse ein. Wenn der Benutzer das Formular erneut abschicken will, dann ist es eben so ;)