Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche fertiges Script oder Programmierer gegen Bezahlung: Zufallsgenerator

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche fertiges Script oder Programmierer gegen Bezahlung: Zufallsgenerator

    Die Website ist bereits fertig. Es geht nur um ein Script für einen Button. Zahlung auch in BTC möglich.

    Aufgabe:
    Es geht um Zugang zu Veranstaltungen nur für Personen die zu einer bestimmten Whats App Gruppe gehörten ohne diese zu identifizieren. Diese müssen nur einen gültigen Code besitzen. Auf der Website ist alo ein Button Zugangscode anfordern. Dann soll ein Code nach dem Muster FJGLH-GFUGI-HUOIG-BIBVL erstellt werden. Das minus bleibt immer. Die Großbuchstaben müssen zufällig sein. mit Klick auf den Button muss der Code angezeigt und in der Datenbank gespeichert werden. Eine Userzuordnung ist überflüssig. Auch sollte die Programmierung so erfolgen das ich später einfach die ersten also älteren Codes aus der Datenbank löschen kann ohne die Funktion zu beeinträchtigen.


  • #2

    Hi ManuelKO,

    einen Zugangscode nach deiner Vorgabe (XXXXX-XXXXX-XXXXX-XXXXX) zu generieren, ist nicht das Problem.

    Dazu gibts Beispiele ohne Ende, die man eventuell etwas anpassen muss.


    Was mich etwas irritiert ist, dass ohne eine User-Zuordnung praktisch jeder den Button x-mal anklicken kann,

    und jedesmal ein Eintrag in die DB erfolgt. Denn ohne User-Zuordnung kann man auch nicht kontrollieren,

    wer bereits einen Zugangscode hat. So gesehen kann jeder X Zugangscodes für sich anfordern.

    Aber gut, das hast du so entschieden.


    Das folgende Script generiert den Zugangscode. Das Script selber wird durch Klick auf den Button

    im nachfolgendem Script ausgelöst.

    Datei "__get_random_code_script.php", Generierung des Zugangscodes

    PHP-Code:
    <?php
    /*
    * Die Funktion generiert einen Zufallsstring
    *
    * Quelle (%): https://sklueh.de/2013/09/zufaelligen-string-mit-php-erzeugen/
    */
    function getRandomString($iLength 10$sCharacters null){ 
     if(
    $sCharacters == null)
     
    $aCharacters array_merge(range('A''Z'), range('a''z'), range(0,9));
     else
     
    $aCharacters str_split($sCharacters);
     for (
    $sRandomString ''$i 0$i $iLength$i++)
      
    $sRandomString.= $aCharacters[array_rand($aCharacters)];
     return 
    $sRandomString;
    }
    /*
    * Der Zugangscode
    */
    $zugangscode "";
    /*
    * Zugangscode besteht aus $el Elementen getrennt durch ein Trennzeichen $t
    * Jedes Element hat $b Buchstaben
    */
    $el 4;
    $b 5;
    $t '-';
    /*
    * Zugangscode generieren
    */
    for($i=0;$i<$el;$i++){
     
    $zugangscode.= getRandomString($bimplode(''range('A''Z')));
     
    $zugangscode.=$t;
    }
    /*
    * Das letzte angehangene Trennzeichen entfernen
    */
    $zugangscode substr($zugangscode,0,-1);
    /*
    *** Dein Code: Zugangscode in DB eintragen
    */
    echo $zugangscode;
    ?>
    Script: Buttonfunktionalität in Website, um Zugangscode an zu fordern

    PHP-Code:
    <!DOCTYPE HTML>
    <
    html>
    <
    head>
    <
    title>Untitled</title>
    <
    script
      src
    ="https://code.jquery.com/jquery-3.3.1.min.js"
      
    integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
      
    crossorigin="anonymous">
    </script>
    <script
      src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
      integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
      crossorigin="anonymous">
    </script>
    <script type="text/javascript">
    <!--
    $(function(){
     $('#get_code').click(function(){
      $.ajax({
      url: '__get_random_code_script.php',
      method: 'POST',
      success: function(data){printCode(data);}
     });
     });
     function printCode(data){
      $('#zugangscode').html(data);
     }
    });
    // -->
    </script>
    </head>
    <body>
    <button id="get_code">Zugangscode anfordern</button>
    <p id="zugangscode"></p>
    </body>
    </html> 
    Gruß
    Günni

    Kommentar


    • #3
      Hallo Günni, lange nichts gelesen von Dir..
      Ich wollte dem TE nur das pasten:
      https://www.php.de/forum/webentwickl...3%BCrfen/page2

      Kommentar


      • #4
        Zitat von Günni Beitrag anzeigen
        Was mich etwas irritiert ist, dass ohne eine User-Zuordnung praktisch jeder den Button x-mal anklicken kann,
        Danke. Das ist nicht das Problem. Die Leute können so oft klicken wie sie wollen. Wichtig ist nur, DASS die irgendeinen gültigen Code besitzen. Der Code sagt soviel aus wie: "Ich bin einer aus der Whats App Gruppe, ich weiß über die Veranstaltung Bescheid. Bin nicht zufällig vorbei gekommen."

        Kommentar


        • #5
          Aber wie krieg ich das bei dem Beispiel in die Datenbank?

          Kommentar


          • #6
            Zitat von ManuelKO Beitrag anzeigen
            Aber wie krieg ich das bei dem Beispiel in die Datenbank?
            Heißt also, es funktioniert, wie du erwartest?

            Im oberen Script gibt es einen Kommentar:

            Code:
            /*
            *** Dein Code: Zugangscode in DB eintragen
            */
            Da z.B. stellst du die Serververbindung zur Datenbank her, und trägst den Zugangscode in die Tabelle ein.

            Wenn du Hilfe brauchst, müsste man schon wissen, welches DB-System du verwendest, bzw. welches System stellt dein Provider zur Verfügung, wie sieht die Tabellenstruktur aus etc.

            Hast du überhaupt Erfahrung/Kenntnisse in Sachen PHP/Datenbank?

            Gruß
            Günni

            Kommentar


            • #7
              Zitat von ManuelKO Beitrag anzeigen
              Aber wie krieg ich das bei dem Beispiel in die Datenbank?
              PHP-Code:
              //Das ist fuer die config: (kannst du zB in eine config.php einfuegen und über include(); einbinden. ???-Werte ersetzen
              error_reporting(E_ALL); $PDO_HOST "LOCALHOST"$PDO_USER "USERNAME???"$PDO_PASS "PASSWORT???"$PDO_DATABASE ="DATENBANK???";  

              // Verbindung zur Datenbank via PDO aufbauen - Kommt ganz oben ins Skript
              try {    
                 
              $conn = new PDO("mysql:host=$PDO_HOST;dbname=$PDO_DATABASE"$PDO_USER$PDO_PASS);  
                 
              $conn->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
                  }
              catch(
              PDOException $e)    
                 {    
                 echo 
              "Connection to Database failed! " $e->getMessage();    
                 exit;  
                 }

              //Hier wird der Zugangscode dann in die Datenbank mit dem namen "codes" und der Spalte "Code" eingetragen. - Unten wo echo $zugangscode steht einfügen!
              $statement $conn->prepare("INSERT INTO codes(Code) VALUES (?)");    
              $statement->execute(array($zugangscode)); 

              Kommentar


              • #8
                "SET NAMES" sollte nicht verwendet werden.

                http://php.net/manual/de/mysqlinfo.concepts.charset.php

                Kommentar

                Lädt...
                X