kostenloser Webspace werbefrei: lima-city


Für mich unerklärbare Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    live-with-gangsters

    Kostenloser Webspace von live-with-gangsters, auf Homepage erstellen warten

    live-with-gangsters hat kostenlosen Webspace.

    Ich habe mich heute hingesetzt und einen Passwort-Zufallsgenerator geschrieben. Leider funktioniert dieser nicht. Es kommt die Fahlermeldung, dass in Zeile 3 ein unerwarteter \';\' ist. Dort ist aber nur eine normale Wertzuweisung einer Variable. Könnt ihr mir sagen, woran das liegt, oder bin ich nur wieder mal blind?


    <?php
    if(issest($_POST[\'laenge\'] {
        $x = $_POST[\'laenge\'];
        $y = 1;
        while ($y <= $x) {
    
            $zahlbuchstabe = rand(1,3);
            $grosklein = rand(1,2);
            if($zahlbuchstabe==1) {
              $dazu = rand(0,9);
              } else {
              $dazu = rand(1,26);
              if $grosklein==1 {
                if $dazu==1 {
                $dazu = q;
                }
                if $dazu==2 {
                $dazu = w;
                }
                if $dazu==3 {
                $dazu = e;
                }
                if $dazu==4 {
                $dazu = r;
                }
                if $dazu==5 {
                $dazu = t;
                }
                if $dazu==6 {
                $dazu = z;
                }
                if $dazu==7 {
                $dazu = u;
                }
                if $dazu==8 {
                $dazu = i;
                }
                if $dazu==9 {
                $dazu = o;
                }
                if $dazu==10 {
                $dazu = p;
                }
                if $dazu==11 {
                $dazu = a;
                }
                if $dazu==12 {
                $dazu = s;
                }
                if $dazu==13 {
                $dazu = d;
                }
                if $dazu==14 {
                $dazu = f;
                }
                if $dazu==15 {
                $dazu = g;
                }
                if $dazu==16 {
                $dazu = h;
                }
                if $dazu==17 {
                $dazu = j;
                }
                if $dazu==18 {
                $dazu = k;
                }
                if $dazu==19 {
                $dazu = l;
                }
                if $dazu==20 {
                $dazu = y;
                }
                if $dazu==21 {
                $dazu = x;
                }
                if $dazu==22 {
                $dazu = c;
                }
                if $dazu==23 {
                $dazu = v;
                }
                if $dazu==24 {
                $dazu = b;
                }
                if $dazu==25 {
                $dazu = n;
                }
                if $dazu==26 {
                $dazu = m;
                }
    } else {
                if $dazu==1 {
                $dazu = Q;
                }
                if $dazu==2 {
                $dazu = W;
                }
                if $dazu==3 {
                $dazu = E;
                }
                if $dazu==4 {
                $dazu = R;
                }
                if $dazu==5 {
                $dazu = T;
                }
                if $dazu==6 {
                $dazu = Z;
                }
                if $dazu==7 {
                $dazu = U;
                }
                if $dazu==8 {
                $dazu = I;
                }
                if $dazu==9 {
                $dazu = O;
                }
                if $dazu==10 {
                $dazu = P;
                }
                if $dazu==11 {
                $dazu = A;
                }
                if $dazu==12 {
                $dazu = S;
                }
                if $dazu==13 {
                $dazu = D;
                }
                if $dazu==14 {
                $dazu = F;
                }
                if $dazu==15 {
                $dazu = G;
                }
                if $dazu==16 {
                $dazu = H;
                }
                if $dazu==17 {
                $dazu = J;
                }
                if $dazu==18 {
                $dazu = K;
                }
                if $dazu==19 {
                $dazu = L;
                }
                if $dazu==20 {
                $dazu = Y;
                }
                if $dazu==21 {
                $dazu = X;
                }
                if $dazu==22 {
                $dazu = C;
                }
                if $dazu==23 {
                $dazu = V;
                }
                if $dazu==24 {
                $dazu = B;
                }
                if $dazu==25 {
                $dazu = N;
                }
                if $dazu==26 {
                $dazu = M;
                }
    }
    
    }        
    
    
    
    $y++;
    
    
    
        }
    
            echo \"Das generierte Passwort lautet: \".$pass.\"<br />\\n\";
    
    }
    
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mach in Zeile 2 vor { noch 2 Klammern zu, also Zeile 2 sollte so aussehen:

    if(issest($_POST[\'laenge\'])) {
  4. Autor dieses Themas

    live-with-gangsters

    Kostenloser Webspace von live-with-gangsters, auf Homepage erstellen warten

    live-with-gangsters hat kostenlosen Webspace.

    Danke, ich habe nur eine Klammer vergessen. Aber im Forum wird ja nicht jede Code-Zeile korrekt angezeigt. Zum beispiel Zeile 183 in meinem Code, dabei habe ich ihn direkt reinkopiert.
  5. Ehm, das ganze kann man auch wesentlich kürzer schreiben.

    function pw ($pLenght = 8) {
      $chars = \'abcdefghijklmnopqrstuvwxyzABCDEFGIJKLMNOPQRSTUVWXYZ0123456789\';
      $pw = \'\';
      for ($i = 1; $i <= $pLenght; $i++) {
        $pw .= $chars[rand (0, strlen($chars))]; // bei einem sehr langen Passwort sollte \"strlen ($chars)\" für die Performance ausgelagert werden
      }
      return ($pw);
    }
  6. Autor dieses Themas

    live-with-gangsters

    Kostenloser Webspace von live-with-gangsters, auf Homepage erstellen warten

    live-with-gangsters hat kostenlosen Webspace.

    Ich hab jetzt alle Fehler verbessert (waren noch mehr) und den Code zu Ende geschrieben. Der Code lautet:

    <?php
    if(isset($_POST[\'laenge\'])) {
        $x = $_POST[\'laenge\'];
        $y = 1;
        while ($y <= $x) {
    
            $zahlbuchstabe = rand(1,3);
            $grosklein = rand(1,2);
            if($zahlbuchstabe==1) {
              $dazu = rand(0,9);
              } else {
              $dazu = rand(1,26);
              if ($grosklein==1) {
                if ($dazu==1) {
                $dazu = q;
                }
                if ($dazu==2) {
                $dazu = w;
                }
                if ($dazu==3) {
                $dazu = e;
                }
                if ($dazu==4) {
                $dazu = r;
                }
                if ($dazu==5) {
                $dazu = t;
                }
                if ($dazu==6) {
                $dazu = z;
                }
                if ($dazu==7) {
                $dazu = u;
                }
                if ($dazu==8) {
                $dazu = i;
                }
                if ($dazu==9) {
                $dazu = o;
                }
                if ($dazu==10) {
                $dazu = p;
                }
                if ($dazu==11) {
                $dazu = a;
                }
                if ($dazu==12) {
                $dazu = s;
                }
                if ($dazu==13) {
                $dazu = d;
                }
                if ($dazu==14) {
                $dazu = f;
                }
                if ($dazu==15) {
                $dazu = g;
                }
                if ($dazu==16) {
                $dazu = h;
                }
                if ($dazu==17) {
                $dazu = j;
                }
                if ($dazu==18) {
                $dazu = k;
                }
                if ($dazu==19) {
                $dazu = l;
                }
                if ($dazu==20) {
                $dazu = y;
                }
                if ($dazu==21) {
                $dazu = x;
                }
                if ($dazu==22) {
                $dazu = c;
                }
                if ($dazu==23) {
                $dazu = v;
                }
                if ($dazu==24) {
                $dazu = b;
                }
                if ($dazu==25) {
                $dazu = n;
                }
                if ($dazu==26) {
                $dazu = m;
                }
    } else {
                if ($dazu==1) {
                $dazu = Q;
                }
                if ($dazu==2) {
                $dazu = W;
                }
                if ($dazu==3) {
                $dazu = E;
                }
                if ($dazu==4) {
                $dazu = R;
                }
                if ($dazu==5) {
                $dazu = T;
                }
                if ($dazu==6) {
                $dazu = Z;
                }
                if ($dazu==7) {
                $dazu = U;
                }
                if ($dazu==8) {
                $dazu = I;
                }
                if ($dazu==9) {
                $dazu = O;
                }
                if ($dazu==10) {
                $dazu = P;
                }
                if ($dazu==11) {
                $dazu = A;
                }
                if ($dazu==12) {
                $dazu = S;
                }
                if ($dazu==13) {
                $dazu = D;
                }
                if ($dazu==14) {
                $dazu = F;
                }
                if ($dazu==15) {
                $dazu = G;
                }
                if ($dazu==16) {
                $dazu = H;
                }
                if ($dazu==17) {
                $dazu = J;
                }
                if ($dazu==18) {
                $dazu = K;
                }
                if ($dazu==19) {
                $dazu = L;
                }
                if ($dazu==20) {
                $dazu = Y;
                }
                if ($dazu==21) {
                $dazu = X;
                }
                if ($dazu==22) {
                $dazu = C;
                }
                if ($dazu==23) {
                $dazu = V;
                }
                if ($dazu==24) {
                $dazu = B;
                }
                if ($dazu==25) {
                $dazu = N;
                }
                if ($dazu==26) {
                $dazu = M;
                }
    }
    
    }        
    
    
    
    $y++;
    
    if(!isset($pass)) {
    $pass = $dazu;
    } else {
    $qw = $pass;
    $pass = $qw.$dazu;
    }
    
    
    
        }
    
            echo \"Das generierte Passwort lautet: \".$pass.\"<br />\\n\";
    
    }
    
    ?>


    Wie geasagt, hier im Forum wird der Code irgendwie nicht korrekt angezeigt. Wenn das jemand braucht, dann bitte per PN anschreiben.
  7. m******s

    imho viel zu kompliziert gemacht, nein danke ;) Mir fallen auf Anhieb mindestens zwei Wege ein, das ganz mit maximal 10 Zeilen sehr viel schöneren Codes zu bewerkstelligen ;)
  8. Ähm... Strings kommen in solche Gänsefüschen rein:

    $dazu = \"q\"; $dazu = \"w\"; // usw...

    Ryan

  9. ryanblack schrieb:
    Ähm... Strings kommen in solche Gänsefüschen rein:

    $dazu = \\\'q\\\'; $dazu = \\\'w\\\'; // usw...

    Ryan


    in dem Fall sinds sogar nur Chars => \'q\' ...

    Allerdings glaub ich ja fast, dass diese durchs Forum gefiltert wurden, oder?


    Beitrag geändert: 12.7.2008 18:20:50 von pointi
  10. Der Unterschied zwischen \' und \" ist in PHP anders als in C!!

    \" -> alle Variablen(alles was mit $) werden durch ihre Werte ersetzte, \\n, \\r & Co durch die entsprechen Anweisungen
    \' -> der String ist so wie er eingegeben wurde, Variablen werden nicht eingesetzt und \\n & Co. bleiben unverändert als \\n erhalten
  11. Autor dieses Themas

    live-with-gangsters

    Kostenloser Webspace von live-with-gangsters, auf Homepage erstellen warten

    live-with-gangsters hat kostenlosen Webspace.

    Nein, es wurde zwar einiges durchs Forum gefiltert (zum Beispiel standen alle if-Abfragen für die Buchstaben in Klammern), aber das nicht. Bei Zahlen braucht man das nicht. Nur bei einem Text. @ryanblach und co: http://tut.php-quake.net/zahlen.html
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!