creeer code

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Flashfocus

flashfocus

10/01/2008 15:29:00
Quote Anchor link
Dit is een stukje script dat een bepaald nummer maakt. Nu komen de nummers er alsvolgt uit.

4c42a1a00b58 (12 cijfer en letter combinatie)

Graag zou ik de nummers alleen in cijfers willen hebben bijv.

123456789012 ( 12 alleen bestaande uit cijfers)

wat moet ik aanpassen in het stukje script hieronder?

function create_coupon_code($salt="secret", $length=SECURITY_CODE_LENGTH) {
$ccid = md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
srand((double)microtime()*1000000); // seed the random number generator
$random_start = @rand(0, (128-$length));
$good_result = 0;
while ($good_result == 0) {
$id1=substr($ccid, $random_start,$length);
$query = tep_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_code = '" . $id1 . "'");
if (tep_db_num_rows($query) == 0) $good_result = 1;
}
return $id1;
}
 
PHP hulp

PHP hulp

16/11/2024 10:42:43
 
Jurgen assaasas

Jurgen assaasas

10/01/2008 15:31:00
Quote Anchor link
combinatie van preg_match en dan iets met [0-9], zelf niet zoveel ervaring mee.
 
Henk PHP

Henk PHP

10/01/2008 15:38:00
Quote Anchor link
Maakt die md5 niet ook letters?
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Flashfocus

flashfocus

10/01/2008 15:40:00
Quote Anchor link
ja klopt het maakt ook letter, en dat wil ik juist niet.
Ik wil alleen cijfers.

Ps ik ben geen script schrijver. Misschien dat iemand de aanpassing kan maken in mijn script?
 
Michael

michael

10/01/2008 15:53:00
Quote Anchor link
je zou een array kunnen maken met 0 tot en met 9 erin. en een lus maken met een random functie die elke keer 1 array uitkiest en dat in een string zetten. Een makkelijk script dus :)
 

10/01/2008 15:58:00
Quote Anchor link
Dit ziet er meer uit als een of andere hash vervanger, dan een random number generator. Misschien kan je gebruik maken van mt_rand?
 
- SanThe -

- SanThe -

10/01/2008 16:23:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$getal
= rand(100000, 999999) . $getal = rand(100000, 999999);
echo $getal;
?>
 
Flashfocus

flashfocus

10/01/2008 16:54:00
Quote Anchor link
SanThe schreef op 10.01.2008 16:23:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$getal
= rand(100000, 999999) . $getal = rand(100000, 999999);
echo $getal;
?>


Hoi Santhe,

Hoe verwerk ik dit in mijn script? Bovenstaand script (1e)
 
- SanThe -

- SanThe -

10/01/2008 16:56:00
Quote Anchor link
Ik heb geen idee wat je daar aan het doen bent.
 
Flashfocus

flashfocus

10/01/2008 17:02:00
Quote Anchor link
SanThe schreef op 10.01.2008 16:56:
Ik heb geen idee wat je daar aan het doen bent.


Het stukje script maakt een 12 cijferige/letterige code voor een cadeaubon.
Ik wil een 12 cijferige code (ipv letters en cijfers).

de $id1 is erg belangrijk want deze wordt telkens opgevraagd. Bijvoorbeeld als ik een cadeaubon per email stuur. In het formulier wordt dus een $id1; opgevraagd (aangemaakt) die bovenstaande script maakt. klant krijgt cadeaubonnummer en kan deze verzilveren.

mis ik wat gegevens in het script? Want het script werkt wel maar geeft een cijfer en lettercode bijv 12d5f42s5ds5, deze zelf wordt gemaakt door het script. ik wil alleen cijfers bijv 125478912254
 
- SanThe -

- SanThe -

10/01/2008 17:10:00
Quote Anchor link
Bovenstaande functie doet niets anders dan $id1 returnen.

PS: Let wel: Mijn scriptje kan bij toeval meerdere keren hetzelfde getal genereren.
 
Frank -

Frank -

10/01/2008 17:20:00
Quote Anchor link
Wat is nu precies de bedoeling? Er wordt een random code aangemaakt en er wordt gekeken of deze random code in de database staat. Waarom zou deze code in de database staan? Het lijkt me toch sterk dat je een paar miljard codes in de database gaat opslaan, of niet dan?

Daarnaast kan een code meerdere keren worden gebruikt, er vindt nergens een update van de status plaats. Daarvoor heb je ook helemaal geen SELECT-query nodig.

Imho is de hele aanpak verkeerd/omslachtig, dit kan veel beter.
 
Flashfocus

flashfocus

10/01/2008 17:23:00
Quote Anchor link
pgFrank schreef op 10.01.2008 17:20:
Wat is nu precies de bedoeling? Er wordt een random code aangemaakt en er wordt gekeken of deze random code in de database staat. Waarom zou deze code in de database staan? Het lijkt me toch sterk dat je een paar miljard codes in de database gaat opslaan, of niet dan?

Daarnaast kan een code meerdere keren worden gebruikt, er vindt nergens een update van de status plaats. Daarvoor heb je ook helemaal geen SELECT-query nodig.

Imho is de hele aanpak verkeerd/omslachtig, dit kan veel beter.


hoi pg frank dit is de complete script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
DEFINE('FILENAME_GV_QUEUE', 'gv_queue.php');
DEFINE('FILENAME_GV_MAIL', 'gv_mail.php');
DEFINE('FILENAME_GV_SENT', 'gv_sent.php');
define('FILENAME_COUPON_ADMIN', 'coupon_admin.php');

define('TABLE_COUPON_GV_QUEUE', 'coupon_gv_queue');
define('TABLE_COUPON_GV_CUSTOMER', 'coupon_gv_customer');
define('TABLE_COUPON_EMAIL_TRACK', 'coupon_email_track');
define('TABLE_COUPON_REDEEM_TRACK', 'coupon_redeem_track');
define('TABLE_COUPONS', 'coupons');
define('TABLE_COUPONS_DESCRIPTION', 'coupons_description');

// Below are some defines which affect the way the discount coupon/gift voucher system work
// Be careful when editing them.
//
// Set the length of the redeem code, the longer the more secure


define('SECURITY_CODE_LENGTH', '12');

////
// Create a Coupon Code. length may be between 1 and 16 Characters
// $salt needs some thought.


  function create_coupon_code($salt="secret", $length=SECURITY_CODE_LENGTH) {
    $ccid = md5(uniqid("","salt"));
    $ccid .= md5(uniqid("","salt"));
    $ccid .= md5(uniqid("","salt"));
    $ccid .= md5(uniqid("","salt"));
    srand((double)microtime()*1000000); // seed the random number generator
    $random_start = @rand(0, (128-$length));
    $good_result = 0;
    while ($good_result == 0) {
      $id1=substr($ccid, $random_start,$length);        
      $query = tep_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_code = '" . $id1 . "'");    
      if (tep_db_num_rows($query) == 0) $good_result = 1;
    }

    return $id1;
  }


////
// Update the Customers GV account

  function tep_gv_account_update($customer_id, $gv_id) {
    $customer_gv_query = tep_db_query("select amount from " . TABLE_COUPON_GV_CUSTOMER . " where customer_id = '" . $customer_id . "'");
    $coupon_gv_query = tep_db_query("select coupon_amount from " . TABLE_COUPONS . " where coupon_id = '" . $gv_id . "'");
    $coupon_gv = tep_db_fetch_array($coupon_gv_query);
    if (tep_db_num_rows($customer_gv_query) > 0) {
      $customer_gv = tep_db_fetch_array($customer_gv_query);
      $new_gv_amount = $customer_gv['amount'] + $coupon_gv['coupon_amount'];
 $gv_query = tep_db_query("update " . TABLE_COUPON_GV_CUSTOMER . " set amount = '" . $new_gv_amount . "' where customer_id = '" . $customer_id . "'");
    }
else {
      $gv_query = tep_db_query("insert into " . TABLE_COUPON_GV_CUSTOMER . " (customer_id, amount) values ('" . $customer_id . "', '" . $coupon_gv['coupon_amount'] . "')");
    }
  }

////
// Output a day/month/year dropdown selector

  function tep_draw_date_selector($prefix, $date='') {
    $month_array = array();
    $month_array[1] =_JANUARY;
    $month_array[2] =_FEBRUARY;
    $month_array[3] =_MARCH;
    $month_array[4] =_APRIL;
    $month_array[5] =_MAY;
    $month_array[6] =_JUNE;
    $month_array[7] =_JULY;
    $month_array[8] =_AUGUST;
    $month_array[9] =_SEPTEMBER;
    $month_array[10] =_OCTOBER;
    $month_array[11] =_NOVEMBER;
    $month_array[12] =_DECEMBER;
    $usedate = getdate($date);
    $day = $usedate['mday'];
    $month = $usedate['mon'];
    $year = $usedate['year'];        
    $date_selector = '<select name="'. $prefix .'_day">';
    for ($i=1;$i<32;$i++){
      $date_selector .= '<option value="' . $i . '"';
      if ($i==$day) $date_selector .= 'selected';
      $date_selector .= '>' . $i . '</option>';
    }

    $date_selector .= '</select>';
    $date_selector .= '<select name="'. $prefix .'_month">';
    for ($i=1;$i<13;$i++){
      $date_selector .= '<option value="' . $i . '"';
      if ($i==$month) $date_selector .= 'selected';      
      $date_selector .= '>' . $month_array[$i] . '</option>';
    }

    $date_selector .= '</select>';
    $date_selector .= '<select name="'. $prefix .'_year">';
    for ($i=2001;$i<2019;$i++){
      $date_selector .= '<option value="' . $i . '"';
      if ($i==$year) $date_selector .= 'selected';
      $date_selector .= '>' . $i . '</option>';
    }

    $date_selector .= '</select>';
    return $date_selector;
  }

?>


in een ander stukje script staat

if ($HTTP_POST_VARS['email_to']) {
$id1 = create_coupon_code($HTTP_POST_VARS['email_to']);
$message = tep_db_prepare_input($HTTP_POST_VARS['message']);
$message .= "\n\n" . TEXT_GV_WORTH . $currencies->format($HTTP_POST_VARS['amount']) . "\n\n";
$message .= TEXT_TO_REDEEM;
$message .= TEXT_WHICH_IS . $id1 . TEXT_IN_CASE . "\n\n";
$message .= HTTP_SERVER . DIR_WS_CATALOG . 'gv_redeem.php' . '?gv_no='.$id1 . "\n\n";
$message .= TEXT_OR_VISIT . HTTP_SERVER . DIR_WS_CATALOG . TEXT_ENTER_CODE;

dus de code dient te worden gemailt.
 
Frank -

Frank -

10/01/2008 17:28:00
Quote Anchor link
$HTTP_POST_VARS ? Waar heb je dit script opgegraven? Gebruik $_POST en $_SERVER, dat wordt al sinds jaar en dag gebruikt.

Bovenstaande code ga ik uiteraard niet uitspitten, maar het staat wel vol fouten. Ga de error_reporting maar eens aanzetten en op het hoogste niveau zetten.
 
Flashfocus

flashfocus

10/01/2008 17:30:00
Quote Anchor link
ik weet het nog beter

op :
http://creloadedpub.creforge.com/docs/d2/d24/admin_2includes_2add__ccgvdc__application__top_8php-source.html

staat gehele script waar het over gaat.

als je klik op:

Go to the documentation of this file.

boven in de scrip. Zie je alle bestandje die aan de script verbonden zijn. Deze kan je ook inkijken.

Aan de hand van deze gegevens. Wie kan mij vertellen hoe en waar ik wat moet aanpassen om de nummers die gecreert worden te krijken in cijfer ipv letters en cijfers.

Ik weet niet erg veel van php vandaar dat ik misschien wat omslachtig overkom
 
Flashfocus

flashfocus

10/01/2008 17:30:00
Quote Anchor link
script is van oscommerce contri
 
Frank -

Frank -

10/01/2008 17:32:00
Quote Anchor link
flashfocus schreef op 10.01.2008 17:30:
script is van oscommerce contri
Ah, dat verklaart een hoop, dat sluit helemaal aan bij de berichten die ik heb meegekregen: Zeer slechte en omslachtige code.
 
- SanThe -

- SanThe -

10/01/2008 17:33:00
Quote Anchor link
Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
 
Flashfocus

flashfocus

10/01/2008 17:37:00
Quote Anchor link
sorry santhe was niet mijn bedoeling
 

10/01/2008 23:24:00
Quote Anchor link
flashfocus schreef op 10.01.2008 17:30:

Jah, maar zie eens wanneer die pagina is gemaakt:
Quote:
Generated on Fri Mar 17 15:47:38 2006

Dat is al bijna 2 jaar terug....

Quote:
Aan de hand van deze gegevens. Wie kan mij vertellen hoe en waar ik wat moet aanpassen om de nummers die gecreert worden te krijken in cijfer ipv letters en cijfers.

Jah, niet hé, dat script is gewoon bedoelt voor een alfa-numerieke string uit te poepen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.