PHP Problem mit einer If.Schleife

Dieses Thema im Forum "Webentwicklung" wurde erstellt von btm, 5. November 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 5. November 2007
    so das hier ist der code:

    Code:
    <html>
     <head>
     <title>Codierung</title>
     </head>
     <body>
     <form action="codierung.php" method="post">
     <input type="text" name="zahl">
     <input type="submit" name="submit" value="codierung">
     </form>
     </body>
    </html>
    
    Code:
    <?php
    echo dechex($zahl);
    ?> 
    
    Und zwar muss die hexzahl immer 8 ziffern lang sein also sollte iein script die zahl mit 0ern auffüllen. damit das ganze einfach immer 8stellen lang ist.


    Mfg Basler

    für jede hilfreiche antwort gibt es eine bw :)
     

  2. Anzeige
  3. #2 5. November 2007
    AW: PHP Problem mit einer If.Schleife

    denke das is hier falsch im webtechnick bereich kann man dir glaube besser helfen

    pls moven
     
  4. #3 5. November 2007
    AW: PHP Problem mit einer If.Schleife

    Code:
    <?
    for ($i = 1; $i <= (8 - strlen($_POST['zahl'])); $i++)
    {
     $zahl .= 0;
    }
    ?>
    Ka, ob das geht, hab nämlich Apache grade net an^^
     
  5. #4 5. November 2007
    AW: PHP Problem mit einer If.Schleife

    würd eher sagen sowas wie:

    PHP:
    $zahl  $_POST [ 'zahl' ];
    while(
    sizeof ( $zahl ) <  8 )
    $zahl  "0" . $zahl ;

    //irgendeine art von rückgabe
     
  6. #5 5. November 2007
    AW: PHP Problem mit einer If.Schleife

    sizeof wird nicht funktionieren, ist nen alias für count. und count() kannst nur die anzahl von elementen und attributen in einem array auslesen. korrektur bitte, falls ich was falsches gesagt hab ;)

    richtig wäre in meinen Augen:

    PHP:
    $zahl  $_POST [ 'zahl' ];
    while(
    strlen ( $zahl ) <=  8 $zahl  .=  "0" ;
    Erklärung:
    WHILE - Solange die Länge der Zahl kleiner gleich 8 ist, wird an die Zahl eine 0 angehängt. Nachteil ist aber, dass du nicht genau weißt ob es sich z.B. um 16 oder 160 handeln würde.

    Deswegen entweder mit Buchstaben füllen oder:

    PHP:
    $zahl  $_POST [ 'zahl' ];
    while(
    strlen ( $zahl ) <=  8 $nullen  .=  "0" ;
    $deinezahl  $nullen . $zahl ;
     
  7. #6 5. November 2007
    AW: PHP Problem mit einer If.Schleife

    PHP:

    // 1. Versuch

    // Umwandlung in String

    $eingabe  = (string)  htmlspecialchars ( dechex ( $_POST [ 'zahl' ])); 

    //Pruefe ob der Button gedrueckt wurde

    if (isset( $_POST [ 'submit' ]))
    {

       
    // Wenn Die Zahl (Eingabe) schon eine Laenge von 8 hat, dann soll er diese ausgeben
       
       
    if ( strlen ( $eingabe ) ==  8 )

       {
          echo 
    $eingabe . "<br>\n" ;
       
       }  else  {
          
          
    // Falls die Zahl nicht gleich 8 ist fuegt er noch 0en an
          
          
    for ( $i = i ; $i  9 - strlen ( $eingabe ); $i ++)

          {
          
             
    // Hier das einfuegen der 0en
             
             
    $eingabe  .=  0
             
             
    // Falls die Laenge nun 8 betraegt, so gebe nur diese aus und nicht noch die anderen Schritte der for Schleife

             
    if ( strlen ( $eingabe ) ==  8
          
             {
             
             echo 
    strrev ( $eingabe ). "<br>\n" ;
             
             }
           
          }   
       
       }

    }





    // 2. Versuch:

    // Wieder in string umwandeln und in hex

    $zahl  = (string)  htmlspecialchars ( dechex ( $_POST [ 'zahl' ]));

    // Falls Button gedrueckt wurde dann die Schleife anwenden, sonst nichts, da es eine Endlosschleife mit sich ziehen wuerde

    if (isset( $_POST [ 'submit' ])) {

       
    // Bis die Zahl eine Laenge von 8 hat 0en einfuegen
       
       
    while( strlen ( $zahl ) <  8 ) {
          
          
    $zahl  "0" . $zahl ;
       
       }

    // Einfach Ausgabe der fertigen Zahl

    echo  $zahl ;

    }
    1. Versuch: Download offline!
    2. Versuch: Download offline!

    Sind länger als die anderen und teils abgekupfert, aber wozu das Rad neu erfinden und dazu noch 2mal? ;)
    Bin aber noch nich so gescheit in PHP.

    Zu beachten ist noch, dass dechex() "nur" einen mavimalen Wert von 2147483647 verarbeiten kann, also "7fffffff".

    Ist schon richtig was du sagst, sizeof() bzw. count() gibt nur die Anzahl der Elemente/Attribute wieder.
     
  8. #7 7. November 2007
    AW: PHP Problem mit einer If.Schleife

    thx für alle antworten es geht jetzt :)

    bw's sind raus :)

    'closed'
     

  9. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP Problem Schleife
  1. Antworten:
    3
    Aufrufe:
    1.766
  2. Antworten:
    2
    Aufrufe:
    734
  3. PHP Insert Problem: Array

    leex , 17. September 2013 , im Forum: Webentwicklung
    Antworten:
    7
    Aufrufe:
    784
  4. Antworten:
    6
    Aufrufe:
    382
  5. Antworten:
    5
    Aufrufe:
    416
  • Annonce

  • Annonce