login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Snippets > Eurobiljet checker


Reacties op het script Eurobiljet checker

Offline  nemesiskoen
Gepost op: 05 februari 2006 - 18:12
Gouden medaille

PHP expert




Als ik een fout nummer invul krijg ik een blank pagina. Bv. Z01112777215. Misschien even foutafhandeling?

Offline  Rens
Gepost op: 05 februari 2006 - 18:16
Gouden medaille

Crew algemeen




Ah, daar had ik nog niet aan gedacht.
Zal er meteen even naar kijken 

edit; Aangepast.
Er word nu een variabele gezet met de waarde "true" als er output word gegeven.
Dus als op regel 74 de expressie voldoet, word er op regel 76 een var $bOutput op true gezet.
Na de for loop word op regel 112 t/m regel 129 voor de foutafhandeling gezorgt als het nummer ongeldig is.

Offline  Maarten
Gepost op: 05 februari 2006 - 18:55
Erelid



Even een voorbeeld online gezet 

Overigens wel handig, heb het even ingebakken in het kassa-systeem van m'n werk, niet dat je bij ieder briefje dat gaat controleren (zou wat lang duren ), maar het is toch leuk 

Offline  timo
Gepost op: 05 februari 2006 - 20:21
PHP ver gevorderde



haalde ff briefje uit m'n zak en k krijg alleen maar de error dat het nummer niet correct is:s?

Offline  Rens
Gepost op: 05 februari 2006 - 20:23
Gouden medaille

Crew algemeen




Geef het nummer eens?
Haalde net ook briefje uit me portemonnee, en het werkte wel...

Offline  Ultimatum
Gepost op: 05 februari 2006 - 20:26
PHP expert



ik heb 2 briefjes en die werke allebij niet 
nummers:
N58001073987
P02854561222

Offline  Ontani
Gepost op: 05 februari 2006 - 20:40
Gouden medailleGouden medailleGouden medailleGouden medaille

-1




2 briefjes van 5 euro werken wel, die van 10 niet bij mij:

X13371624353

Offline  Rens
Gepost op: 05 februari 2006 - 20:43
Gouden medaille

Crew algemeen




Ik denk dat ik de oplossing heb gevonden:)
Nog even testen met een paar nummers van jullie die niet werken 

edit; Jeej, het werkt 
Had geen rekening gehouden met dat de lengte van de checksum per se 1 moest zijn.

Het voorbeeld werkt even niet, Murfy moet dan even de pagina aanpassen aangezien hij op Sitemasters.be hosting staan en ik daar niet bij kan:)

Offline  Bart
Gepost op: 05 februari 2006 - 22:13
PHP expert



Hijs nogal agressief tegen briefjes van 10:'( 
2x een briefje van 10 gedaan en allebei niet correct.

Offline  Ultimatum
Gepost op: 05 februari 2006 - 22:45
PHP expert



het werkt niet alleen als het een foutief nummer is zie ik een fout, maar boven die table staat een 3 

Offline  Rens
Gepost op: 05 februari 2006 - 22:51
Gouden medaille

Crew algemeen




Citaat:
[I][B]Rensjuh[/B] schreef op 05 Februari 2006 - 20:43[/I]

Het voorbeeld werkt even niet, Murfy moet dan even de pagina aanpassen aangezien hij op Sitemasters.be hosting staan en ik daar niet bij kan:)


Nu weet ik niet of hij het al aangepast heeft, maar als dit niet zo is, zou het daaraan kunnen liggen...

Offline  Ultimatum
Gepost op: 06 februari 2006 - 00:00
PHP expert



ik heb het op mijn eigen host getest en daar deed hij het niet, want de code was wel al aangepast want hij deed het wel goed enzo 

Offline  Richard
Gepost op: 06 februari 2006 - 12:14
Crew algemeen



misschien moet je je regex controle nog iets aanpassen, namelijk om te controleren of de rest wel nummers zijn:

  1. // let op: preg_match is sneller
  2. if(!preg_match ("^[a-zA-Z]", $_POST['sn']) || !ctype_digit (substr ($_POST['sn'], 1))

Offline  Rens
Gepost op: 06 februari 2006 - 16:07
Gouden medaille

Crew algemeen




Goed idee.
Zal het er meteen tussen plaatsen.
Ultimatum, geef je nummer eens?

Offline  Maarten
Gepost op: 07 februari 2006 - 19:24
Erelid



Voorbeeld bijgewerkt.

Offline  Rens
Gepost op: 07 februari 2006 - 19:26
Gouden medaille

Crew algemeen




Shit, een ) vergeten:$

edit; Moet toch eens wat meer met regex gaan doen.
Zag net opeens nog een foutje, door de regex.
Citaat:
Warning: preg_match(): No ending delimiter '^' found in /home/joel/domains/sitemasters.be/public_html/voorbeeld/eurocheck.php on line 20

Is inmiddels ook weer aangepast.

Offline  tomk
Gepost op: 08 februari 2006 - 13:57
ASP interesse



Aah hij werkt;-) Mijn 10€ komt uit deutchland:p

Offline  Addow
Gepost op: 10 februari 2006 - 19:39
Gouden medaille

PHP beginner




En mss ook nog een trim() op 't inputfield toevoegen, want als je bvb "S01112777215 " invoert, dan herkent ie de nummer ook niet.

Zo'n functie als dit kan altijd handig wezen!

Offline  Rens
Gepost op: 11 februari 2006 - 00:01
Gouden medaille

Crew algemeen




Dan moet je dat gewoon niet invoeren?^^
Maar ik zal nog een keer proberen om er een goede regex voor te maken.
Beginnend met een letter, en daarna 12 cijfers.
Zal hem meteen veranderen als ik de regex heb.

Offline  Richard
Gepost op: 16 februari 2006 - 16:30
Crew algemeen



~^[a-zA-Z][0-9]{12}$~

moeilijke regex hoor;)

Offline  xSc
Gepost op: 03 maart 2006 - 14:10
Onbekend



He, geinig script Leuk gedaan!

Offline  wes
Gepost op: 06 mei 2008 - 13:30
PHP interesse



het script werkt bij mij wel, alleen ik snap je uitleg niet.

Want als ik mijn briefje van 5 neem, en dan jouw uitleg doe:

serienummer: U26561574959
2+6+5+6+1+5+7+4+9+5+9 = 59
5+9 = 14

en er bestaat geen checksum van 14 ergens, maar als ik in jouw script dat serienummer invoer dat komt er opeens checksum 5 uit 

Dus hoe werkt het dan (ff nerd, maar wil het toch wel ff weten  )

Offline  Rens
Gepost op: 06 mei 2008 - 17:06
Gouden medaille

Crew algemeen




Omdat 1 + 4 ook nog 5 is 
Je moet net zolang doorgaan, tot je nog maar 1 getal over houd.

Offline  wes
Gepost op: 06 mei 2008 - 22:14
PHP interesse



oke, zo zit dat dus:p bedankt^^

Offline  coybot
Gepost op: 16 oktober 2008 - 18:22
Nieuw lid



leuk scripts ik heb hem maar een online gezet: http://vaginalscience.scienceontheweb.net/chek.php

Offline  BigBug
Gepost op: 17 november 2008 - 18:33
PHP expert



coybot schreef:
leuk scripts ik heb hem maar een online gezet: http://vaginalscience.scienceontheweb.net/chek.php
Hij was online.

Link outdated.


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.048s