abonnement Unibet Coolblue Bitvavo
  zondag 3 januari 2010 @ 00:19:11 #201
62215 qu63
..de tijd drinkt..
pi_76344495
Thanks, error's zijn weg! (Heb overal de &$ vervangen door $)

Helaas werkt mn sync-profiel op mn telefoon nog niet, maar dat is geen php/sql-vraag
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  maandag 4 januari 2010 @ 08:19:36 #202
25889 Sitethief
Fulltime Flapdrol
pi_76388611
1
2
3
4
5
6
7
8
9
10
<?php
        
        
public function validateTel(&$inputValidateTel){
            
$this->stripSingle($inputValidateTel);
            if (
preg_match("/[0-9]/",$inputValidateTel)){
                return 
true;
            }
            return 
false;
        }
?>


Deze functie geeft altijd een false weer, ook al zit er een cijfer in....
Hij werkt ook niet als ik
1
2
3
<?php
(preg_match("/^[0-9]/",$inputValidateTel))
?>

gebruik en de true en false omdraai.

Wat doe ik fout?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 08:51:40 #203
12221 Tijn
Powered by MS Paint
pi_76388884
Waarom gebruik je niet gewoon is_numeric()?
pi_76388942
quote:
Op maandag 4 januari 2010 08:51 schreef Tijn het volgende:
Waarom gebruik je niet gewoon is_numeric()?
Of eventueel ctype_digit?
pi_76389218
wat doet $this->StripSingle ?
  maandag 4 januari 2010 @ 09:30:15 #206
25889 Sitethief
Fulltime Flapdrol
pi_76389396
Als ik ctype_digit gebruik dan krijg ik False terug, terwijl ik "0" als waarde meegeef.
Het nadeel van deze functions is dat ik er bijv later geen telefoonnummer mee kan valideren, terwijl dat met preg_match wel kan.

1
2
3
4
5
6
7
<?php
public function validateTel(&$inputValidateTel){
            
$this->stripSingle($inputValidateTel);
            
ctype_digit($inputValidateTel);            
            return;
}
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 09:32:52 #207
25889 Sitethief
Fulltime Flapdrol
pi_76389436
ik kan natuurlijk voor telefoonnummers numbers_only() gebruiken om de streepjes etch eruit te halen.
Edit: ik zie net dat dat een zelfgebouwde function is... die toch weer teruggrijpt op preg_match.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 09:40:44 #208
25889 Sitethief
Fulltime Flapdrol
pi_76389581
quote:
Op maandag 4 januari 2010 09:18 schreef Xcalibur het volgende:
wat doet $this->StripSingle ?
1
2
3
4
5
6
7
8
9
10
<?php
public function stripSingle(&$inputStripSingle){
            if(
$inputStripSingle !== ""){
                
$inputStripSingle trim($inputStripSingle);
                
$inputStripSingle stripslashes($inputStripSingle);
                
$inputStripSingle htmlentities($inputStripSingleENT_QUOTES);
            }
            return;
        }
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 11:16:37 #209
25889 Sitethief
Fulltime Flapdrol
pi_76391993
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
        
/*
         *    Telephone number validate function
         *    @param string with text
         *  @return bool
         *  @return string with validated & stripped digits
         */
        
public function validateTel(&$inputValidateTel) {
            
//Strip
            
$this->stripSingle($inputValidateTel);
            
//Strip everything but digits
            
preg_replace('/[^0-9]/''',$inputValidateTel);
            
//Check if string contains only digits, if not return false
            
if(ctype_digit($inputValidateTel)) {
                return 
true;
            }
            return 
false;
        }
?>


Dit werkt overigens ook niet, de string word niet gestript van niet nummerieke karakters.....

[ Bericht 4% gewijzigd door Sitethief op 04-01-2010 13:08:33 (nieuwe code) ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 12:40:16 #210
152303 hamkaastosti
ook bekend als hamkaastosti
pi_76394692
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
quote:
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_76395511
quote:
Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
  maandag 4 januari 2010 @ 13:11:33 #212
25889 Sitethief
Fulltime Flapdrol
pi_76395737
quote:
Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
quote:
Op maandag 4 januari 2010 13:04 schreef Light het volgende:

[..]

Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 13:20:59 #213
63192 ursel
"Het Is Hier Fantastisch!
pi_76396039
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

[..]

Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
[..]

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Jij misschien, maar je gebruikers zullen het op alle mogelijke manieren proberen...
  maandag 4 januari 2010 @ 13:24:41 #214
12221 Tijn
Powered by MS Paint
pi_76396161
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

[..]

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Ik denk dat meer mensen +31 invoeren dan 0031.
pi_76396258
quote:
Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
  maandag 4 januari 2010 @ 13:33:21 #216
25889 Sitethief
Fulltime Flapdrol
pi_76396454
En dan geef ik ze een foutmelding waarin nóg eens duidelijk uitgelegd staat hoe het moet. naast dat dat bij de invoer al stond natuurlijk.

Het is namelijk niet de bedoeling dat gebruikers van alles en nog wat in de database gaan gooien wat er dna later weer uitgefilterd kan worden.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 13:37:02 #217
25889 Sitethief
Fulltime Flapdrol
pi_76396587
quote:
Op maandag 4 januari 2010 13:24 schreef Tijn het volgende:

[..]

Ik denk dat meer mensen +31 invoeren dan 0031.
Ik heb het nooit gebruikt . Maar ja, wie ben ik?
quote:
Op maandag 4 januari 2010 13:27 schreef Light het volgende:

[..]

Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
Ik kan dus net zo goed die + in mijn database zetten.
Maar goed, de functie werkt nu al niet......


edit:

Als ik in de RegEx tester
1/[^0-9+-]/

gebruik om
1+31-64%2430826

Te strippen, dan werkt het. Ik krijg dan:
1+31-642430826

Maar in mijn code niet.

[ Bericht 11% gewijzigd door Sitethief op 04-01-2010 13:47:40 ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 15:12:25 #218
25889 Sitethief
Fulltime Flapdrol
pi_76399712
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
        
/*
         *    Telephone number validate function
         *    @param string with text
         *  @return bool
         *  @return string with validated & stripped digits
         */
        
public function validateTel(&$inputValidateTel) {
            
//Strip
            
$this->stripSingle($inputValidateTel);
            
//Strip everything but digits, + and -
            
$inputValidateTel preg_replace('/[^0-9\+\-]/''',$inputValidateTel);
            
//Check if string contains only digits, + and -, if not return false
            
return true;
        }
?>

Zo werkt ie. Het zat em in de $inputValidateTel = preg_replace('/[^0-9\+\-]/', '',$inputValidateTel);
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 15:15:04 #219
12221 Tijn
Powered by MS Paint
pi_76399796
Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
  maandag 4 januari 2010 @ 15:43:51 #220
25889 Sitethief
Fulltime Flapdrol
pi_76400855
quote:
Op maandag 4 januari 2010 15:15 schreef Tijn het volgende:
Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
Klopt
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_76404878
Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

Bv.
$array = array(1, 3, 7);
$var = 1;
  maandag 4 januari 2010 @ 17:28:12 #222
75592 GlowMouse
l'état, c'est moi
pi_76404916
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:29:04 #223
254493 Trollface.
gr rob fruithof, groningencity
pi_76404945
quote:
Op maandag 4 januari 2010 17:27 schreef Tegan het volgende:
Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

Bv.
$array = array(1, 3, 7);
$var = 1;
1
2
3
4
5
<?php
if(in_array($var$array)) {
  
/* doe iets... */
}
?>

★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
pi_76405010
Thanks, met Google kwam ik alleen dingen tegen die checken of een var een array is of niet .
  maandag 4 januari 2010 @ 17:31:25 #225
75592 GlowMouse
l'état, c'est moi
pi_76405038
de functienaam daarvoor verschilt ook maar een letter
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:35:07 #226
75592 GlowMouse
l'état, c'est moi
pi_76405196
Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:38:06 #227
25889 Sitethief
Fulltime Flapdrol
pi_76405330
quote:
Op maandag 4 januari 2010 17:35 schreef GlowMouse het volgende:
Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 4 januari 2010 @ 17:44:28 #228
75592 GlowMouse
l'état, c'est moi
pi_76405599
quote:
Op maandag 4 januari 2010 17:38 schreef Sitethief het volgende:

[..]

Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
Als je wat ervaring hebt, kun je de voorbeelden wel waarderen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 4 januari 2010 @ 17:46:27 #229
254493 Trollface.
gr rob fruithof, groningencity
pi_76405670
quote:
Op maandag 4 januari 2010 17:44 schreef GlowMouse het volgende:

[..]

Als je wat ervaring hebt, kun je de voorbeelden wel waarderen.
Agreed, die voorbeelden kunnen soms erg fijn zijn.
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  dinsdag 5 januari 2010 @ 11:22:06 #230
25889 Sitethief
Fulltime Flapdrol
pi_76430860
Hoe kun je simpel in multidimensionale arrays zoeken?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 5 januari 2010 @ 12:02:42 #231
75592 GlowMouse
l'état, c'est moi
pi_76432401
http://nl.php.net/manual/en/function.array-search.php

de comments zijn ook bruikbaar, al staat er soms wat heel erg doms tussen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 5 januari 2010 @ 12:31:41 #232
254493 Trollface.
gr rob fruithof, groningencity
pi_76433353
quote:
Op dinsdag 5 januari 2010 11:22 schreef Sitethief het volgende:
Hoe kun je simpel in multidimensionale arrays zoeken?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function array_twodimensional_search($needle$haystack) {

    if(!
is_array($haystack)) {
        return 
null;
    }

    foreach(
$haystack as $key => $array) {
        if(!
is_array($array)) {
            continue;
        }

        
$arrkey array_search($needle$array);
        if(
$arrkey !== false) {
            return array(
$key$arrkey);
        }
    }
    return 
null;
}
?>

Voorbeeld:
1
2
3
4
<?php
$multi_array 
= array('test' => array(531), 'test2' => array(642), 'bla' => 5);
print_r(array_twodimensional_search(5$multi_array));
?>

Output:
1
2
3
4
5
Array
(
    [0] => test
    [1] => 0
)


Zoiets? $return[0] is de key in de eerste array, $return[1] in de tweede.
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  dinsdag 5 januari 2010 @ 14:32:57 #233
25889 Sitethief
Fulltime Flapdrol
pi_76437749
Wat vinden jullie beter. Het checken van een wachtwoord bij het inloggen dmv WHERE statement in een query, of door een SELECT query te doen en dan het wachtwoord de controleren in die array.

De query methode is sneller en korter, maar levert gevaar op omdat je een query runt. De array methode is veiliger, maar langzamer en langer. Ook is het minder veilig om wachtwoorden heen en weer te sturen tussen classes waarin je de array afcheckt.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 5 januari 2010 @ 14:43:06 #234
12221 Tijn
Powered by MS Paint
pi_76438172
quote:
Op dinsdag 5 januari 2010 14:32 schreef Sitethief het volgende:
Wat vinden jullie beter. Het checken van een wachtwoord bij het inloggen dmv WHERE statement in een query, of door een SELECT query te doen en dan het wachtwoord de controleren in die array.

De query methode is sneller en korter, maar levert gevaar op omdat je een query runt. De array methode is veiliger, maar langzamer en langer. Ook is het minder veilig om wachtwoorden heen en weer te sturen tussen classes waarin je de array afcheckt.
Ik zou zorgen dat je queries zoveel mogelijk outputten wat je hebben wil. Als je wil controleren of een password met een username matcht, kan dat prima met een SELECT en een WHERE. Dan hoef je niet later door je resultaten te gaan zitten graven, maar heb je gelijk wat je hebben wil.

Qua veiligheid maakt het toch niet zoveel uit hoe je het aanpakt? Wel moet je natuurlijk zorgen dat je je passwords encrypt en dat je de inputstrings escaped voordat je ze in de query plakt om injecties te voorkomen.
  dinsdag 5 januari 2010 @ 14:45:16 #235
75592 GlowMouse
l'état, c'est moi
pi_76438265
Als je password een hash is waarvan de salt nog onbekend is op het moment dat je de query uitvoert, en je hashmethode geen MySQL-functie is, zou ik toch voor de check in php gaan.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 6 januari 2010 @ 10:48:36 #236
25889 Sitethief
Fulltime Flapdrol
pi_76472886
http://pastebin.com/f212e15f4

Deze code werkt, maar zou het nog beter/anders kunnen en waarom? Ik ben net begonnen met leren over cookies en sessions.

Edit: de Secure class: http://pastebin.com/f327ce69e

[ Bericht 11% gewijzigd door Sitethief op 06-01-2010 11:50:50 ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 6 januari 2010 @ 16:45:17 #237
254493 Trollface.
gr rob fruithof, groningencity
pi_76487923
quote:
Op woensdag 6 januari 2010 10:48 schreef Sitethief het volgende:
http://pastebin.com/f212e15f4

Deze code werkt, maar zou het nog beter/anders kunnen en waarom? Ik ben net begonnen met leren over cookies en sessions.

Edit: de Secure class: http://pastebin.com/f327ce69e
Ik zou de databaseconfig in een apart bestand zetten.
Ook zou ik als ik jou was een duidelijke scheiding gebruiken tussen de PHP-code die dingen aanroept en HTML-code met PHP-code ertussen die de opgehaalde gegevens d.m.v. een foreach o.i.d. weergeeft.

Ongeveer dit dus (erg simpel geschreven, persoonlijk gebruik ik liever frameworks en classes, maar dit werkt als voorbeeld goed ):
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
<?php
require('cfg/main.php');
require('cfg/database.php');
connect_naar_database(DB_HOST, DB_USER, DB_PASS, DB_NAME);

$bla = get_iets();
$bla2 = get_iets_anders();

//---------------SCHEIDING-----------------------------------//
?>
<html>
<head>
<title>Bla</title>
</head>

<body>
<?php foreach($bla as $singlebla): ?>
<?=$singlebla->naam?>
<?php endforeach; ?>
<br />
<hr />
<br />
<?php foreach($bla2 as $anotherbla): ?>
<?=$anotherbla->description?>
<?php endforeach; ?>
</body>
</html>
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
pi_76527699
Ik ben bezig met het schrijven van een kleine wrapperklasse om fgetcsv heen om makkelijk met csv bestanden om te gaan. Nou moet de fgetcsv functie o.a. weten wat het veldscheidingsteken is, of er aanhalingstekens e.d. om de waarden heenzitten en met welk karakter er ge-escaped wordt.
Is er ook een manier om dat handig zelf te analyseren? Het wordt gebruikt in een open webapplicatie waarbij helemaal niet zeker is in welke CSV-indeling mensen dingen gaan uploaden.
  donderdag 7 januari 2010 @ 23:02:44 #239
37634 wobbel
Da WoBBeL King
pi_76544607
Ben op dit moment bezig met een simpel factuur systeem in PHP, alleen nu wil ik ook herhalende/reperterende facturen.

Hoe kan ik dat het beste doen?
pi_76545233
Voor herhalende / automatische handelingen, zou ik om te beginnen eens kijken naar cronjobs. En of je daar überhaupt de mogelijkheid voor hebt natuurlijk.

[ Bericht 14% gewijzigd door Tuvai.net op 07-01-2010 23:22:14 ]
  vrijdag 8 januari 2010 @ 00:33:17 #241
37634 wobbel
Da WoBBeL King
pi_76548294
quote:
Op donderdag 7 januari 2010 23:15 schreef Tuvai.net het volgende:
Voor herhalende / automatische handelingen, zou ik om te beginnen eens kijken naar cronjobs. En of je daar überhaupt de mogelijkheid voor hebt natuurlijk.
Ja, heb volledige shell toegang als root dus dat is niet het probleem

Maar hoe doe ik dat met MySQL en PHP? Hoe zorg ik ervoor dat er wekelijks of maandelijks een factuur wordt gegenereerd voor onbepaalde of bepaalde periode
pi_76551805
Een cronjob maken die 1x per week of 1x per maand draait
En die dus de facturen maakt...
pi_76551892
quote:
Op donderdag 7 januari 2010 16:40 schreef Intrepidity het volgende:
Ik ben bezig met het schrijven van een kleine wrapperklasse om fgetcsv heen om makkelijk met csv bestanden om te gaan. Nou moet de fgetcsv functie o.a. weten wat het veldscheidingsteken is, of er aanhalingstekens e.d. om de waarden heenzitten en met welk karakter er ge-escaped wordt.
Is er ook een manier om dat handig zelf te analyseren? Het wordt gebruikt in een open webapplicatie waarbij helemaal niet zeker is in welke CSV-indeling mensen dingen gaan uploaden.
Ik heb ook zoiets gemaakt, daarbij zet ik de instellingen op de default waarde en geef ik een preview van het bestand na het inlezen. Als het niet goed is kan je de defaultinstellingen wijzigen en het nog een keer proberen...

Om het veldscheidingsteken automatisch te bepalen zou je moeten tellen hoevaak een komma of puntkomma op een regel voorkomt, en of dat op iedere regel is? Wordt wel een gedoe denk ik...
pi_76558585
quote:
Op vrijdag 8 januari 2010 08:37 schreef Xcalibur het volgende:
Een cronjob maken die 1x per week of 1x per maand draait
En die dus de facturen maakt...
Inderdaad niet meer van een kwestie van je code in een cronjob zetten die om de zoveel tijd draait. Vrijwel hetzelfde als wat je in Windows doet met executables en geplande taken / scheduled tasks.
pi_76560131
Een vraag van een hobby-websitemaker:

Ik heb een homepage gemaakt in HTML en geupload naar mijn domein, werkt goed.
Ondertussen heb ik een andere site gemaakt met wordpress.com, werkt ook goed, ben eigenlijk wel enthousisast over wordpress.

Nu zie ik op mijn provider-site dat ik mijn pack kan upgraden zodat ik mijn homepage onder wordpress.org kan gaan draaien (met database SQL ed, heb ik nog niet eerder mee gewerkt overigens). Wordpress.org biedt meer mogelijkheden dan wordpress.com, klopt dat?

Voordeel is dat ik dan én via wordpress werk, en mijn domeinnaam kan houden. Nadeel, ik moet een duurder pack gaan betalen, terwijl mijndomein.wordpress.com gratis is. Ik kan ook mijn domein door laten linken naar de wordpress.com pagina, maar in dat geval denk ik erover om mijn domeinnaam op te geven en alleen maar de wordpress.com te nemen.

Wat is wijsheid?
  vrijdag 8 januari 2010 @ 13:13:37 #246
12221 Tijn
Powered by MS Paint
pi_76560226
Doorlinken van domeinen is troep waar je niet aan wil beginnen.

Ik zou die upgrade doen. Zo duur kan het toch niet zijn? En als het wel duur is, zoek je een provider die minder duur is, want er zijn onwijs veel hosts te vinden die PHP en MySQL aanbieden natuurlijk.
pi_76560323
Als je bij je hostingboer met dingen als .htaccess files en dergelijke aan de gang kunt kun je gewoon prima een URL als blog.mijnwebsite.nl laten rewriten naar mijnblog.wordpress.com zonder dat de gebruiker dit in zijn adresbalk ziet.
pi_76563725
Het abonnement loopt nog twee maanden, ik upgrade het nu en daarna zie ik wel of het me bevalt. Als ik er niet uitkom met de SQL database, meld ik me weer hier!
pi_76616296
Weet iemand hoe ik de laatste zaterdag van iedere maand kan achterhalen? zonder al te veel scripting te schijven?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_76617311
quote:
Op zaterdag 9 januari 2010 23:08 schreef Chandler het volgende:
Weet iemand hoe ik de laatste zaterdag van iedere maand kan achterhalen? zonder al te veel scripting te schijven?
Met date('w') kun je achterhalen op welke dag van de week een datum valt. En met mktime() kun je een timestamp maken. Handig om te weten is dat de nulde dag van de maand eigenlijk de laatste dag van de voorgaande maand is. Met een beetje puzzelen zou het dan wel moeten lukken. Veel meer dan 10 regels code hoeft het niet te worden.

Ik wil mijn versie wel posten, later Mag je eerst nog even zelf stoeien.
pi_76617688
Dat truucje van de 0e dag kun je inderdaad toepassen, maar met date('n') kun je ook achterhalen hoeveel dagen er in de huidige maand zitten (=laatste dag van de maand)
  zaterdag 9 januari 2010 @ 23:53:34 #252
12221 Tijn
Powered by MS Paint
pi_76617783
Zoiets?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function lastSaturday($month$year)
{
    
// number of days in each month
    
$days_in_month = array(1=>312831303130313130313031);
    
// fix for leap year
    
if(date('L'mktime(0,0,0,$month,1,$year)) > 0$days_in_month[2] = 29;

    
// go through days of the month, starting at the end
    
for($day $days_in_month[$month]; $day 1$day--)
    {
        
// check if day is saturday
        
if(date('l'mktime(0,0,0,$month,$day,$year)) == 'Saturday')
        {
            
// yay *O*
            
return $day;
        }
    }
    
    
// boo ;(
    
return false;
}
?>
pi_76617808
Wat gebruiken jullie eigenlijk om PDFs on the fly te genereren? Ik gebruik nu al heel lange tijd FPDF ( http://www.fpdf.org ) maar ik ben er elke keer érg lang mee bezig om dynamische documenten te maken, die gedeeltelijk uit variabele content en gedeeltelijk uit vaste content bestaan. Nou is PDF scripts maken sowieso al niet mijn meest favoriete bezigheid, maar in .NET gaat het me een stuk sneller af met de iText / iSharp of dbAutoTrack libraries.

Welke raden jullie aan?
  zaterdag 9 januari 2010 @ 23:55:54 #254
12221 Tijn
Powered by MS Paint
pi_76617844
quote:
Op zaterdag 9 januari 2010 23:50 schreef Intrepidity het volgende:
Dat truucje van de 0e dag kun je inderdaad toepassen, maar met date('n') kun je ook achterhalen hoeveel dagen er in de huidige maand zitten (=laatste dag van de maand)
Ik denk dat je date('t') bedoelt. Dat is inderdaad wel handig en maakt het stukje in mijn code waarin ik dat opzoek overbodig
pi_76617867
Die array met dagen per maand is niet nodig:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function lastSaturday($month$year)
{
    
$days_in_month date('t'mktime(000$month1$year));

    
// go through days of the month, starting at the end
    
for($day $days_in_month$day 1$day--)
    {
        
// check if day is saturday
        
if(date('l'mktime(0,0,0,$month,$day,$year)) == 'Saturday')
        {
            
// yay
            
return $day;
        }
    }
    
    
// boo 
    
return false;
}
?>


Edit: Whoops, t was idd date('t')
  zaterdag 9 januari 2010 @ 23:58:11 #256
75592 GlowMouse
l'état, c'est moi
pi_76617926
op basis van date('t') en date('w') moet het in veel minder regels kunnen
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 10 januari 2010 @ 00:01:19 #257
12221 Tijn
Powered by MS Paint
pi_76618032
quote:
Op zaterdag 9 januari 2010 23:58 schreef GlowMouse het volgende:
op basis van date('t') en date('w') moet het in veel minder regels kunnen
Hoe zou date('w') het korter maken dan wat hierboven staat?

Het zijn trouwens maar 4 effectieve regels, de rest is er om het leesbaarder te maken, maar zou eventueel ook weg kunnen.
pi_76618053
quote:
Op zondag 10 januari 2010 00:01 schreef Tijn het volgende:

[..]

Hoe zou date('w') het korter maken dan wat hierboven staat?
Omdat je op basis van het dagnummer van de laatste dag in een keer het juiste aantal dagen er vanaf kunt trekken Dan heb je ook geen for-lus meer nodig.
  zondag 10 januari 2010 @ 00:05:01 #259
12221 Tijn
Powered by MS Paint
pi_76618153
quote:
Op zondag 10 januari 2010 00:02 schreef Intrepidity het volgende:

[..]

Omdat je op basis van het dagnummer van de laatste dag in een keer het juiste aantal dagen er vanaf kunt trekken Dan heb je ook geen for-lus meer nodig.
Oh zo. Ja, dan zou je het met een simpel sommetje kunnen oplossen.

Slim hoor
  zondag 10 januari 2010 @ 00:07:17 #260
75592 GlowMouse
l'état, c'est moi
pi_76618227
je krijgt dan zoiets
1
2
3
4
5
6
7
<?php
function lastSaturday($month$year) {
  
$daysInMonth date('t'mktime(0,0,0,$month,1,$year));
  
$lastday date('w'mktime(0,0,0,$month,$daysInMonth,$year));
  return 
$daysInMonth - (($lastday+1)%7);
}
?>


[ Bericht 4% gewijzigd door GlowMouse op 10-01-2010 00:20:48 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_76618365
Ik ben nog even verder gaan puzzelen en heb nu een oplossing die Chandler-proof is

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
<?php
/**
 * @param <int> $weekday Dag van de week (0 .. 6 - Zondag .. Zaterdag)
 * @param <int> $month
 * @param <int> $year
 * @return <int> timestamp van de laatste ...dag van de maand
 */
function lastDayOfMonth($weekday$month null$year null) {
    if(
is_null($year)) {
        
$year date('Y');
    }
    if(
is_null($month)) {
        
$month date('m') + 1;
    } else {
        
$month++;
    }
    
$dayOfMonth 0;

    
$dayOfWeek date('w'mktime(000$month$dayOfMonth$year));
    
$dayOfMonth $weekday $dayOfWeek;
    if(
$dayOfMonth 0) {
        
//Verkeerde maand
        
$dayOfMonth -= 7;
    }
    return 
mktime(000$month$dayOfMonth$year);
}
?>


Werkt voor alle dagen van de week, gewoon met een parameter.
  zondag 10 januari 2010 @ 00:14:22 #262
12221 Tijn
Powered by MS Paint
pi_76618446
quote:
Op zondag 10 januari 2010 00:07 schreef GlowMouse het volgende:
je krijgt dan zoiets
[ code verwijderd ]
Hier komt alleen niet het goede antwoord uit
pi_76618549
quote:
Op zondag 10 januari 2010 00:11 schreef Light het volgende:
Ik ben nog even verder gaan puzzelen en heb nu een oplossing die Chandler-proof is
[ code verwijderd ]

Werkt voor alle dagen van de week, gewoon met een parameter.
Mooi, en netjes met params.

Ik prefereer leesbare, geïndente code over code die zo klein en compact mogelijk moet (tenzij het van belang is voor een merkbare performancewinst natuurlijk) zijn. Dat akelige Perl tijdperk waarin we zo absurd gelimiteerd waren zijn we inmiddels wel voorbij.

[ Bericht 5% gewijzigd door Tuvai.net op 10-01-2010 00:22:55 ]
pi_76618618
Achja, ieder z'n eigen ding he Ik kan er bijvoorbeeld niet tegen om de curly braces naast een klasse/functienaam te zetten Braces staan bij mij altijd op een volgende regel
En inderdaad, alles zo compact mogelijk maken heeft nauwelijks zin meer. PHP compileert en optimaliseert zijn code netjes tegenwoordig.
  zondag 10 januari 2010 @ 00:21:02 #265
75592 GlowMouse
l'état, c'est moi
pi_76618675
quote:
Op zondag 10 januari 2010 00:14 schreef Tijn het volgende:

[..]

Hier komt alleen niet het goede antwoord uit
nu wel
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_76618904
Zo heb ik een keer een leraar voor algoritmiek gehad die in een luie bui het huiswerk zo'n beetje alleen beoordeelde op het aantal coderegels Lang = fout, kort = goed. Heb voor de grap een keer een algoritme ingeleverd met een klein rekenfoutje maar als een hele korte oplossing en hij merkte er niks van
Maar tegenwoordig is het: code ruimtelijk opzetten en met veel commentaar, want schermruimte kost toch niks
pi_76619465
quote:
Op zondag 10 januari 2010 00:19 schreef Intrepidity het volgende:
Achja, ieder z'n eigen ding he Ik kan er bijvoorbeeld niet tegen om de curly braces naast een klasse/functienaam te zetten Braces staan bij mij altijd op een volgende regel
Ieder z'n ding idd. Ik vind het zo'n verspilling van ruimte om voor iedere curly brace open weer een nieuwe regel te beginnen. De sluit-brace staat wel op z'n eigen regel (behalve bij een if als er een else volgt).
quote:
En inderdaad, alles zo compact mogelijk maken heeft nauwelijks zin meer. PHP compileert en optimaliseert zijn code netjes tegenwoordig.
True, leesbaarheid is ook belangrijk. Maar 'k denk niet dat PHP je code zo verandert dat de berekening wordt geoptimaliseerd, dus een efficient algoritme verzinnen moet je wel zelf doen.
pi_76619714
quote:
Op zondag 10 januari 2010 00:17 schreef Tuvai.net het volgende:

[..]

Mooi, en netjes met params. [ afbeelding ]
Thanks
quote:
Ik prefereer leesbare, geïndente code over code die zo klein en compact mogelijk moet (tenzij het van belang is voor een merkbare performancewinst natuurlijk) zijn. Dat akelige Perl tijdperk waarin we zo absurd gelimiteerd waren zijn we inmiddels wel voorbij.
Eens Hoewel ik wel vaak probeer om code ook compact te houden, maar dat is vooral om dubbele dingen te voorkomen. Op hoe meer plekken je iets moet aanpassen, hoe groter de kans dat je een aanpassing vergeet.
pi_76620434
Ik zet curly braces ook meestal op een nieuwe regel, tenzij ik erg veel geneste statements heb waarvan bijvoorbeeld de code in de else blokjes maar één regel per keer is of zo. Het volgende stukje code wordt bijvoorbeeld érg lang als ik alle curly braces op een nieuwe regel zou zetten:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if( $expr1 )
{
   if( $expr2 )
   {
      if( $expr3 )
      {
         Klasje->Methode();
         
         if( $expr4 )
         { Klasje->EenMethode(); }
         else
         {
            Klasje->Meer();
            Klasje->Code();
         }
      }
      else
      { Klasje->Vaudje('omg'); }
   }
   else
   { Klasje->Vaudje('wtf'); }
}
else
{ Klasje->Vaudje('lol'); }


EDIT: En even een schaamteloze repost.
quote:
Op zaterdag 9 januari 2010 23:54 schreef Tuvai.net het volgende:
Wat gebruiken jullie eigenlijk om PDFs on the fly te genereren? Ik gebruik nu al heel lange tijd FPDF ( http://www.fpdf.org ) maar ik ben er elke keer érg lang mee bezig om dynamische documenten te maken, die gedeeltelijk uit variabele content en gedeeltelijk uit vaste content bestaan. Nou is PDF scripts maken sowieso al niet mijn meest favoriete bezigheid, maar in .NET gaat het me een stuk sneller af met de iText / iSharp of dbAutoTrack libraries.

Welke raden jullie aan?
pi_76623733
Lol ben ik even wezen slapen en kom terug zie ik een heuse discussie over de laatste zaterdag v/d maand

Had zelf ook al een oplossing maar die bestond uit 25 regels waarbij ik alleen de maand/jaar als parameters meegaf. Het moet idd met heel weinig regels code kunnen... eens kijken wat ik met jullie codes kan

@Light; jou code is nice en werkt zoals bedoeld!

[ Bericht 11% gewijzigd door Chandler op 10-01-2010 09:13:02 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 10 januari 2010 @ 20:51:35 #271
37634 wobbel
Da WoBBeL King
pi_76651136
quote:
Op vrijdag 8 januari 2010 12:25 schreef Tuvai.net het volgende:

[..]

Inderdaad niet meer van een kwestie van je code in een cronjob zetten die om de zoveel tijd draait. Vrijwel hetzelfde als wat je in Windows doet met executables en geplande taken / scheduled tasks.
Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

Veld "Periode" dus 14, 31, 365
Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
  zondag 10 januari 2010 @ 21:03:11 #272
12221 Tijn
Powered by MS Paint
pi_76651994
quote:
Op zondag 10 januari 2010 20:51 schreef wobbel het volgende:

[..]

Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

Veld "Periode" dus 14, 31, 365
Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
Ik zou zorgen dat je bij het aanmaken van een factuur de datum kunt opgeven waarop 'ie verzonden moet worden en dat geheel dan kunt opslaan in je database.

Vervolgens run je elke dag een cronjob die een script aanroept die kijkt of er facturen zijn die vandaag verzonden moeten worden en zo ja, dan doet 'ie dat.
pi_76655789
quote:
Op zondag 10 januari 2010 20:51 schreef wobbel het volgende:

[..]

Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

Veld "Periode" dus 14, 31, 365
Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
Tja, dat is natuurlijk een kwestie van je fantasie gebruiken, en volledig afhankelijk van je script en hetgeen je wilt doen. Ik heb een paar weken geleden nog een applicatie gemaakt waarbij op vaste tijdstippen diverse mailtjes naar leden verzonden moesten worden, volledig automatisch. Denk daarbij aan vaste tijdstippen als:

- Elke maandag om 11:35
- Elke woensdag om 17:00
- Elke vrijdag om 18:30
En dan nog een stuk of 20 van zulke tijdstippen.

Het is allemaal niet zo ingewikkeld. Je maakt gewoon een applicatie die elke x aantal minuten draait. In die applicatie kijk je wat de huidige tijd is (gewoon de tijd van uitvoering dus), en daaraan koppel je eventuele handelingen die op dat tijdstip moeten plaats vinden. Vaak houdt dat dan ook in dat je bij moet houden of iets al gebeurt is. Bijvoorbeeld: Je applicatie draait op maandag 1 januari 17:00 en daardoor wordt een factuur voor januari 2010 naar lid ID #1 verzonden. Dan zul je ergens bij moeten houden dat die factuur voor dat lid reeds verzonden is, zodat je applicatie die factuur niet de volgende keer wéér gaat versturen.

Je daadwerkelijke functionele code die je normaliter zou hebben (dus in geval van géén automatisme), blijft in de meeste gevallen ongewijzigd. Denk aan het daadwerkelijk genereren van een factuur PDF`je of DOC`je. Het is alleen de manier van aanroepen die in geval van een dergelijk geautomatiseerde applicatie anders is.
pi_76655938
Maare, niemand maakt hier dus dynamische PDFs in PHP?
pi_76657013
quote:
Op zondag 10 januari 2010 22:01 schreef Tuvai.net het volgende:
Maare, niemand maakt hier dus dynamische PDFs in PHP?
Jewel, met FPDF vanwege gebrek aan beter, dus ik kan je niet verder helpen Je kunt naar de PDF module van PHP zelf kijken (http://php.net/manual/en/book.pdf.php), maar ik zie niet 1,2,3 in hoe dat beter is als FPDF
pi_76660089
quote:
Op zondag 10 januari 2010 22:16 schreef Intrepidity het volgende:

[..]

Jewel, met FPDF vanwege gebrek aan beter, dus ik kan je niet verder helpen Je kunt naar de PDF module van PHP zelf kijken (http://php.net/manual/en/book.pdf.php), maar ik zie niet 1,2,3 in hoe dat beter is als FPDF
Ook al FPDF dus. De standaard PDF functies van PHP staan naar mijn ervaring erg vaak uitgeschakeld en die kun je in geval van een third party host ook niet even aanzetten.
pi_76661309
Je zou eens naar PDML kunnen kijken: http://www.pdml-pdf.net/
Dat is een laag bovenop FPDF met een soort HTML-achtige syntax. Heb het nog niet geprobeerd, maar als het doet wat het belooft maakt dat het opmaken van documenten in ieder geval een stuk makkelijker, hoewel ik me kan voorstellen dat door al die lagen de performance wat tegenvalt..
pi_76661590
Het stikt op Internet van de PDF libraries (voor vrijwel elk populair platform), maar in plaats van die allemaal uit te gaan proberen (waar ik de tijd niet voor heb: P ) was ik gewoon eens nieuwsgierig naar wat mensen hier gebruiken, en wat hun ervaringen zijn.
  maandag 11 januari 2010 @ 05:29:41 #279
71919 wonderer
Hung like a My Little Pony
pi_76666518
Ik word hier echt gestoord van... mail() stuurt twee keer dezelfde mail... en ik snap niet waar het aan ligt.

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
<?php
function confirm_order($ID)
{
 
$d=connectDB();
 
$r=runquery("SELECT * FROM orders WHERE order_id=".quote_smart($ID,$d),$d);
 if(
mysql_num_rows($r)=='1'){
  
$row=mysql_fetch_array($r);
  if(
$row["order_status"]=='2'){
   
$echo'<p>Je bestelling is al bevestigd, maar je krijgt nu het mailtje met de gegevens en verdere instructies nogmaals.</p>';
  }
  else{
   
$r=runquery("UPDATE orders SET order_status='2' WHERE order_id=".quote_smart($ID,$d),$d);
   
$echo'<p>Je bestelling is bevestigd. Je krijgt nu een mailtje met de betaalgegevens en verdere instructies.</p>';
  }
    
   
$mail_to=$row["email_order"];
   
$mail_from='FROM: niet@relevant.nl';
   
$mail_subject='subject';
   
  if(
$row["delivery_option"]=='sendoff'){
   
$mail_body='Beste '.$row["name_order"].',
   Bedankt voor het bevestigen van je bestelling. *nog wat tekst*'
;
  }
  else{
   
$mail_body='Beste '.$row["name_order"].',
   Bedankt voor het bevestigen van je bestelling. *wat andere tekst dan die ander*'
;
  }

  
mail($mail_to,$mail_subject,$mail_body,$mail_from);      
  return 
$echo;
 }
 else{
  return 
'<p>Oeps! Je probeerde een bestelling te bevestigen die niet bestaat! Stuur even een mailtje, dan kunnen we zien wat er fout is gegaan.</p>';
 }
}
?>

Dus. Dat is de functie. Iemand "bestelt" iets via een formulier ('t is echt meer geautomatiseerde spreadsheet om bij te houden wie hoeveel besteld heeft zodat ik het niet met de hand hoef te doen dan een echt betaalsysteem en alles), krijgt een linkje, klikt daarop om de bestelling te bevestigen (voornamelijk om het e-mailadres te checken en te zorgen dat iemand niet "voor de lol iets bestelt"). Werkt verder prima, maar je krijgt de bevestigingsmail twee keer.

Het grappige is, als je nog een keer op de bevestigingslink klikt, krijg je (zoals in de functie te zien is) de mail opnieuw zonder het te bevestigen, maar dan krijg je hem maar een keer... En als ik de database update uitzet en op de link blijf klikken, krijg ik de volgende keren er maar eentje. Ook al wordt hetzelfde script uitgevoerd. Ik snap er geen flikker van. Iemand dit eerder bij de hand gehad? Staat nogal onprofessioneel, die twee mails :')
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_76666836
Zo op het eerste gezicht lijkt die functie in orde. Ik vermoed dan ook dat die functie ergens 2 keer aangeroepen wordt..
  maandag 11 januari 2010 @ 11:59:04 #281
25889 Sitethief
Fulltime Flapdrol
pi_76672662
Iemand ervaring met MODx? Ik ben er nu een beetje mee aan het stoeien, maar het ziet er allemaal heel tof uit.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 11 januari 2010 @ 12:06:05 #282
12221 Tijn
Powered by MS Paint
pi_76672893
quote:
Op maandag 11 januari 2010 11:59 schreef Sitethief het volgende:
Iemand ervaring met MODx? Ik ben er nu een beetje mee aan het stoeien, maar het ziet er allemaal heel tof uit.
Als je met zoiets aan de slag gaat, kun je je dan niet beter storten op bv Zend Framework?
  maandag 11 januari 2010 @ 12:40:55 #283
25889 Sitethief
Fulltime Flapdrol
pi_76674136
quote:
Op maandag 11 januari 2010 12:06 schreef Tijn het volgende:

[..]

Als je met zoiets aan de slag gaat, kun je je dan niet beter storten op bv Zend Framework?
Opdracht van de baas .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 11 januari 2010 @ 13:20:34 #284
136730 PiRANiA
All thinking men are atheists.
pi_76675484
1
2
3
4
5
6
$aResult = $q->execute()->toArray();
      var_dump($aResult);
      if($aResult["numberOfTries"]<=3)
         return true;
      else
         return false;


Geeft:
quote:
array(1) {
[0]=>
array(7) {
["id"]=>
NULL
["time"]=>
NULL
["ip"]=>
NULL
["email"]=>
NULL
["password"]=>
NULL
["success"]=>
NULL
["numberOfTries"]=>
string(1) "0"
}
}
Warning (8): LogLogintriesTable.php at 31 Undefined index: numberOfTries
Iemand enig iedee hoe dat kan? :)
  maandag 11 januari 2010 @ 13:21:01 #285
136730 PiRANiA
All thinking men are atheists.
pi_76675504
O ik zie het nu. Het is een multidimensionale array
  maandag 11 januari 2010 @ 13:55:30 #286
25889 Sitethief
Fulltime Flapdrol
pi_76676844
Wat is er mis met
1
2
3
4
5
<?php
echo '<pre>';
  
var_dump($aResult);
echo 
'</pre>';
?>


Dat ziet er wat leesbaarder uit vind ik altijd.

[ Bericht 2% gewijzigd door Sitethief op 11-01-2010 14:35:31 (var_dump ipv print_r) ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 11 januari 2010 @ 14:05:03 #287
136730 PiRANiA
All thinking men are atheists.
pi_76677223
quote:
Op maandag 11 januari 2010 13:55 schreef Sitethief het volgende:
Wat is er mis met
[ code verwijderd ]

Dat ziet er wat leesbaarder uit vind ik altijd.
Kan ook
  maandag 11 januari 2010 @ 14:20:54 #288
152303 hamkaastosti
ook bekend als hamkaastosti
pi_76677810
ik gebruik altijd var_dump want die geeft meer bruikbare informatie
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_76678033
quote:
Op maandag 11 januari 2010 14:20 schreef hamkaastosti het volgende:
ik gebruik altijd var_dump want die geeft meer bruikbare informatie
Helemaal als je ook iets van xdebug geinstalleerd hebt (op de server).
  maandag 11 januari 2010 @ 14:26:46 #290
63192 ursel
"Het Is Hier Fantastisch!
pi_76678056
quote:
Op maandag 11 januari 2010 13:55 schreef Sitethief het volgende:
Wat is er mis met
[ code verwijderd ]

Dat ziet er wat leesbaarder uit vind ik altijd.
Hier ook, verwerkt in een kleine functie dump, zodat ik niet elke keer dat moet tikken..
  maandag 11 januari 2010 @ 14:34:56 #291
25889 Sitethief
Fulltime Flapdrol
pi_76678400
Ik bedoelde natuurlijk <pre>, niet print_r, wat je verder voor function of wat dan ook gebruikt was niet mijn punt .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 11 januari 2010 @ 18:42:37 #292
71919 wonderer
Hung like a My Little Pony
pi_76688711
quote:
Op maandag 11 januari 2010 07:12 schreef Intrepidity het volgende:
Zo op het eerste gezicht lijkt die functie in orde. Ik vermoed dan ook dat die functie ergens 2 keer aangeroepen wordt..
Nee, want als ik na of voor de mail() functie een echo doe om dat te testen, wordt dat maar een keer afgedrukt. En dan zou het altijd twee mailtjes moeten zijn, niet alleen de eerste keer dat je op de link in het mailtje klikt.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_76690558
quote:
Op maandag 11 januari 2010 18:42 schreef wonderer het volgende:

[..]

Nee, want als ik na of voor de mail() functie een echo doe om dat te testen, wordt dat maar een keer afgedrukt. En dan zou het altijd twee mailtjes moeten zijn, niet alleen de eerste keer dat je op de link in het mailtje klikt.
Uhm, als de Functie 2x word aangeroepen, dan betekent dat niet dat de echo voor of na de functie 2x word aangeroepn, dus dat is geen handige manier om het te testen. Je zou dan de echo IN de functie moeten zetten.
  maandag 11 januari 2010 @ 20:02:54 #294
71919 wonderer
Hung like a My Little Pony
pi_76692200
quote:
Op maandag 11 januari 2010 19:28 schreef ParvusM het volgende:

[..]

Uhm, als de Functie 2x word aangeroepen, dan betekent dat niet dat de echo voor of na de functie 2x word aangeroepn, dus dat is geen handige manier om het te testen. Je zou dan de echo IN de functie moeten zetten.
Heb je het nou over de hele functie (confirm_order()), of mail()? Waarom zou mail() binnen de functie in vredesnaam twee keer worden aangeroepen als het er maar een keer staat?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_76694497
quote:
Op maandag 11 januari 2010 14:34 schreef Sitethief het volgende:
Ik bedoelde natuurlijk <pre>, niet print_r, wat je verder voor function of wat dan ook gebruikt was niet mijn punt .
Met XDebug heb je ook geen <pre> nodig.
pi_76742756
Al de PHP applicaties die we maken binnen het bedrijf waar ik werk draaien op een door mij geschreven MVC-framework, en die apps hebben een aantal configuratiebestanden. Momenteel ben ik aan het kijken waar binnen het framework performancewinst te halen valt, en een van de aandachtspunten zijn de configuratiefiles, die momenteel als XML-data zijn opgeslagen, omdat ik het idee heb dat er snellere situaties denkbaar zijn als het parsen van een XML-bestand. Eerst hadden we een pure PHP-array, maar vanwege het feit dat XML makkelijker vanuit PHP te manipuleren is (op een persistente manier dan) hebben we voor XML gekozen.
Hoe doen julie dat eigenlijk met configuratiebestanden. Een array? XML? Database? Flat text wellicht?
Wat geeft de beste performance EN de mogelijkheid om er eventueel later iets als een CMS-module omheen te bouwen?
Ik zit zelfs nog te denken om de XML-files na iedere mutatie te 'cachen', dus er een PHP-array van te genereren, maar dit voelt een beetje aan als overkill
pi_76743449
Klein vraagje, ik wil de keys van een array omdraaien, hoe kan ik dit doen?

Dus voorbeeld:

0 = a
1 = b
2 = c

moet worden

0 = c
1 = b
2 = a

kon dit nergens vinden (nou kijk ik ook vaak niet goed maar vond echt nix )
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_76743861
Is dat niet exact hetzelfde als de waarden omdraaien zonder behoud van keys? In dat geval kun je dit doen:
1
2
3
4
<?php
// 2e parameter is preserve_keys, oftewel, de keys worden hernummerd en alleen de waarden worden omgedraaid
$array array_reverse($arrayfalse);
?>

Dat bovenstaande werkt overigens niet als de keys niet op volgorde staan of er gaten in de reeks van keys zitten.. Dan zul je een handmatigere aanpak moeten nemen.
  dinsdag 12 januari 2010 @ 22:46:36 #299
152303 hamkaastosti
ook bekend als hamkaastosti
pi_76743899
2 arrays maken met array_keys en array_values. 1 v.d. 2 reversen met array_reverse en vervolgens weer een nieuwe array maken met array_combine?

@glowmouse
array_flip wisselt alleen de key met de value toch?
oeh.. array_reverse werkt wel als ik de manual zo lees
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  dinsdag 12 januari 2010 @ 22:46:53 #300
75592 GlowMouse
l'état, c'est moi
pi_76743913
array_flip oh zonder key preserve; dan array_reverse.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')