Unverständlicher PHP fehler...

Es gibt 38 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Unverständlicher PHP fehler...

    Hallo,

    Ich habe mir eben einen kleinen Fehlercode Script gebastelt, der aber seltsamerweise nicht funktioniert.
    Es wird auch weder ein Bild, noch ein Fehler ausgegeben.

    Source

    PHP-Quellcode

    1. <?php
    2. Header("Content-Type: image/png");
    3. $zufall = rand(1,100);
    4. switch ($zufall) {
    5. case 1:
    6. $string = '204 No Content';
    7. case 2:
    8. $string = '300 Multiple Choice';
    9. case 3:
    10. $string = '301 Moved Permanently';
    11. case 4:
    12. $string = '302 Found';
    13. case 5:
    14. $string = '303 See Other';
    15. case 6:
    16. $string = '305 Use Proxy';
    17. case 7:
    18. $string = '400 Bad Request';
    19. case 8:
    20. $string = '401 Unauthorized';
    21. case 9:
    22. $string = '402 Payment Required';
    23. case 10:
    24. $string = '403 Forbidden';
    25. case 11:
    26. $string = '406 Not Acceptable';
    27. case 12:
    28. $string = '409 Conflict';
    29. case 13:
    30. $string = '410 Gone';
    31. case 14:
    32. $string = '418 I'm a Teapot';
    33. case 15:
    34. $string = '501 Not Implemented';
    35. }
    36. $width = 400;
    37. $height = 15;
    38. $img = ImageCreate($width, $height);
    39. $black = ImageColorAllocate($img, 0, 0, 0);
    40. $white = ImageColorAllocate($img, 255, 255, 255);
    41. ImageFill($img, 0, 0, $white);
    42. ImageString($img, 2, 2, 2, $string, $black);
    43. ImagePNG($img);
    44. ImageDestroy($img)
    45. ?>


    Was könnte da denn falsch sein?
    Mir fällt jetzt nur auf, das schon das Syntaxhighlighting spackt, vielleicht liegts an dem " ' " in case 14?
    mfg
    Jetzt schnell und einfach das Zehnfingersystem mit Scribble 3 erlernen. Mehr Informationen und Download gibts hier. Redundancy2 - leichtgewichtige freie Cloudsoftware. Folge mir auf GitHub

    SeriTools schrieb:

    AFAIK muss man das in der letzten Zeile nicht machen
    Hab ich mir schon gedacht. Kann aber nicht schaden. ;)

    Warum eigentlich der Ganze Switch-Block? Lade die Strings doch alle in ein Array und gebe daraus ein Zufallselement aus.
    Von meinem iPhone gesendet
    Öhm.
    Ich hab lange nichts mehr mit PHP gemacht, aber muss bei einer switch()-Anweisung nicht am Ende von einem case ein break, damit nicht das nächste case auch ausgeführt wird?
    EDIT:

    Ok, fehler ist weg.
    Dafür hab ich einen neuen:
    �PNG IHDR��6�PLTE����ٟ�QIDAT(�c�O2`NZ~߯L������%Q�����{-H�r����%��I�r��IZ޽��:I�}o?�Z���� I)���!T�7�M+�IEND�B`�


    Und der Quelltext:

    PHP-Quellcode

    1. <?php
    2. Header("Content-Type: image/png");
    3. $zufall = rand(1,15);
    4. switch ($zufall) {
    5. case 1:
    6. $string = '204 No Content';
    7. break;
    8. case 2:
    9. $string = '300 Multiple Choice';
    10. break;
    11. case 3:
    12. $string = '301 Moved Permanently';
    13. break;
    14. case 4:
    15. $string = '302 Found';
    16. break;
    17. case 5:
    18. $string = '303 See Other';
    19. break;
    20. case 6:
    21. $string = '305 Use Proxy';
    22. break;
    23. case 7:
    24. $string = '400 Bad Request';
    25. break;
    26. case 8:
    27. $string = '401 Unauthorized';
    28. break;
    29. case 9:
    30. $string = '402 Payment Required';
    31. break;
    32. case 10:
    33. $string = '403 Forbidden';
    34. break;
    35. case 11:
    36. $string = '406 Not Acceptable';
    37. break;
    38. case 12:
    39. $string = '409 Conflict';
    40. break;
    41. case 13:
    42. $string = '410 Gone';
    43. break;
    44. case 14:
    45. $string = '418 I\'m a Teapot';
    46. break;
    47. case 15:
    48. $string = '501 Not Implemented';
    49. break;
    50. }
    51. $width = 400;
    52. $height = 15;
    53. $img = ImageCreate($width, $height);
    54. $black = ImageColorAllocate($img, 0, 0, 0);
    55. $white = ImageColorAllocate($img, 255, 255, 255);
    56. ImageFill($img, 0, 0, $white);
    57. ImageString($img, 2, 2, 2, $string, $black);
    58. ImagePNG($img);
    59. ImageDestroy($img)
    60. ?>

    PHP-Quellcode

    1. <?php
    2. $kram = explode('\n\r',file_get_contents('zeug.txt'));
    3. if (count($kram) > 0) {
    4. Header("Content-Type: image/png");
    5. $randomMuell = $kram[rand(0,count($kram)-1)];
    6. $width = 400;
    7. $height = 15;
    8. $img = ImageCreate($width, $height);
    9. $black = ImageColorAllocate($img, 0, 0, 0);
    10. $white = ImageColorAllocate($img, 255, 255, 255);
    11. ImageFill($img, 0, 0, $white);
    12. ImageString($img, 2, 2, 2, $randomMuell, $black);
    13. ImagePNG($img);
    14. ImageDestroy($img);
    15. } Else {echo 'Wat.\n\r';}
    16. ?>
    Von meinem iPhone gesendet
    Nun da kann jemand kein PHP und weiß es trotzdem besser ^^ manchen will einfach nicht geholfen werden =)

    Wer braucht schon guten, verständlichen, aufgeräumten, übersichtlichen Code wenn man auch so schönen Gurkencode über 1000 Zeilen schreiben kann?
    @Dodo
    Wie willst du eine Grafische Statistik ohne If Abfragen realisieren?


    Also jedenfalls liegt das Problem bei der Bildausgabe. Wenn ich den Text mit echo ausgebe, dann funktioniert es.

    Code:
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. $zufall = mt_rand(1, 15);
    3. if ($zufall == 1)
    4. {
    5. $string = '204 No Content';
    6. }
    7. if ($zufall == 2)
    8. {
    9. $string = '300 Multiple Choice';
    10. }
    11. if ($zufall == 3)
    12. {
    13. $string = '301 Moved Permanently';
    14. }
    15. if ($zufall == 4)
    16. {
    17. $string = '302 Found';
    18. }
    19. if ($zufall == 5)
    20. {
    21. $string = '303 See Other';
    22. }
    23. if ($zufall == 6)
    24. {
    25. $string = '305 Use Proxy';
    26. }
    27. if ($zufall == 7)
    28. {
    29. $string = '400 Bad Request';
    30. }
    31. if ($zufall == 8)
    32. {
    33. $string = '401 Unauthorized';
    34. }
    35. if ($zufall == 9)
    36. {
    37. $string = '402 Payment Required';
    38. }
    39. if ($zufall == 10)
    40. {
    41. $string = '403 Forbidden';
    42. }
    43. if ($zufall == 11)
    44. {
    45. $string = '406 Not Acceptable';
    46. }
    47. if ($zufall == 12)
    48. {
    49. $string = '409 Conflict';
    50. }
    51. if ($zufall == 13)
    52. {
    53. $string = '410 Gone';
    54. }
    55. if ($zufall == 14)
    56. {
    57. $string = '418 I\'m a Teapot';
    58. }
    59. if ($zufall == 15)
    60. {
    61. $string = '501 Not Implemented';
    62. }
    63. ‪‪    Header("Content-Type: image/png");‬‬
    64.     $width = 400; ‬‬
    65.     $height = 15;‬‬
    66. $img = ImageCreate($width, $height);‬‬
    67. $black = ImageColorAllocate($img, 0, 0, 0);‬‬
    68. $white = ImageColorAllocate($img, 255, 255, 255);‬‬
    69. ImageFill($img, 0, 0, $white);‬‬
    70. ImageString($img, 2, 2, 2, $string, $black); ‬‬
    71. ImagePNG($img);‬‬
    72. ImageDestroy($img);‬‬
    73. ?>