[PHP] Zeichenkette generieren

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Phil333, 27. Februar 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. Februar 2009
    Zeichenkette generieren

    Guten Tag an alle!

    Ich hab hier ein script geschrieben, das mir eine 6stellige zeichenkette generiert.
    Diese dient als Gutscheincode.
    Anschließend wird der Code mit anderen Werten in eine Datenbank gespeichert.
    Es versteht sich von selbst, das jeder Code nur einmal vorkommen darf.

    folgendes script hab ich:
    PHP:
    $zeichen  "23456789ABCDEFGHJKLMNPQRSTUVWXYZ" ;
      
    mt_srand ( (double)  microtime () *  1000000 );
      for (
    $i = 1 ; $i <= 6 ; $i ++)
      {
        
    $Code [] .=  $zeichen [ mt_rand ( 0 ,( strlen ( $zeichen )- 1 ))];
      }
      
    $Code  join ( '' ,@ $Code );
    ich hab nun 9 gutscheine erstellt.
    Dabei gibt es 3 Gutscheine die einen Code haben, den es eigentlich schon gab.

    Wie mach ich das besser?
     
  2. 27. Februar 2009
    AW: Zeichenkette generieren

    PHP:
    <? php
     $length 
    7 ;
     
    $gutschein  substr ( md5 ( uniqid ()), 0 , $length );
    ?>
    Code:
    $ php -r 'for($i=0;$i<10;$i++) print substr(md5(uniqid()),0,10)."\n";'
    f421bf90cf
    72455b6914
    6c5e6cedce
    51a4e79423
    3cc571aa7c
    0539b37fa1
    e75d1786f3
    85f0954369
    4cc6271b21
    73b05a5471
    
    hf.
     
  3. 27. Februar 2009
    AW: Zeichenkette generieren

    Let me google that for you erstes suchergebnis!
     
  4. 27. Februar 2009
    AW: Zeichenkette generieren

    @naca7: Hahaha ^^ geile sache - werd ich mir merken.

    Die sach ist ja nicht die, das ich nicht gegoogled hab.
    Ich möchte nur bestimmte Zeichen erlauben, wegen O und 0, I und 1 etc.
    daher $zeichen = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ";

    außerdem will ich kein script eifach so kopieren sondern verstehen was an meinem schlecht ist damit ich was lerne.

    Danke.
     
  5. 27. Februar 2009
    AW: Zeichenkette generieren

    PHP:
    $pool  'abcdefghijklmnopqrstuvx' ;
    $arr  str_split ( $pool );
    $length  10 ;
    $out = '' ;
    for(
    $i = 0 ; $i < $length ; $i ++) {
     
    $out  .=  $arr [ array_rand ( $arr )];
    }
    print 
    $out ;
    proof:

    $ php -r '$pool="abcdfASDASDuwh"; $arr = str_split($pool); $out=""; for($i=0;$i<10;$i++) { $out .= $arr[array_rand($arr)]; } print $out."\n";'
    aASSAdduAu
    SASuDAubcS
    wSdwfcDhdS
    bAASDwcfSS

    je mehr Zeichen im Pool desto "zufälliger" wird das ganze.
     
  6. 27. Februar 2009
    AW: Zeichenkette generieren

    Kannst natürlich auch die Codes aus der DB auslesen lassen, prüfen ob der generierte Code = einem alten Code ist...
    Wenn ja denn neuen Code und das ganze nochma, wenn nit den neuen Code in DB und ausgeben..
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.