abonnement Unibet Coolblue
  dinsdag 15 december 2009 @ 10:52:55 #76
25889 Sitethief
Fulltime Flapdrol
pi_75643242
Ik weet nu wat er mis gaat, omdat ik een array creëer in de loop zal hij altijd de laatste waarde hebben. Ik moet de array dus buiten de loop aanmaken.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht >:)
  dinsdag 15 december 2009 @ 11:21:04 #77
25889 Sitethief
Fulltime Flapdrol
pi_75644024
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    
class secure{

        public 
$data;
        
        public function 
__construct($data){
        
        
$mstring = Array(); 
            foreach(
$data as $key=>$val){    
                if(
$val !== ""){
                    
$val trim($val);
                    
$val stripslashes($val);
                    
$val htmlentities($valENT_QUOTES);                    
                    
$mstring[$key] = $val;    
                    
$this->data $mstring;                                        
                }                
            }                    
            return 
$data;
        }
    }
?>


Zo werkt ie wel.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 17 december 2009 @ 11:23:50 #78
25889 Sitethief
Fulltime Flapdrol
pi_75722128
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
<?php
class Secure
{
    public function 
stripSearch(&$inputStripSearch)
    {
         foreach(
$inputStripSearch as $key=>&$val)
         {
             if(
$val !== "")
             {
                  
$val trim($val);
                  
$val stripslashes($val);
                  
$val htmlentities($valENT_QUOTES);
             }
         }
         return;
    }

    public function 
validateEmail(&$inputValidateEmail)
    {
        if (
preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$inputValidateEmail['email']))
            return 
true;
        else
            return 
false;
    }
}
?>


En zo is ie een stuk netter.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 17 december 2009 @ 12:38:26 #79
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75724961
email checken:

1
2
3
<?php
filter_var
('bob@example.com'FILTER_VALIDATE_EMAIL);
?>
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_75730178
@hamkaastosti; wil alleen even melden dat die filter ook niet 100% werkt, zelfs niet 50%

http://www.google.nl/search?hl=nl&q=php+FILTER_VALIDATE_EMAIL+bugs&meta=&aq=f&oq=

Just say hi!
pi_75730256
quote:
Op maandag 14 december 2009 20:52 schreef xaban06 het volgende:

[..]

Ah dus ik doe niks fout Thanks.
Op werk namelijk een discussie gehad dat ik fout bezig ben en dat het veel veiliger en makkelijker kan.
Kun je ze dan even laten melden hoe dat dan kan (in hun ogen?)
Just say hi!
  donderdag 17 december 2009 @ 14:57:27 #82
75592 GlowMouse
l'état, c'est moi
pi_75730269
Je moet kijken op http://bugs.php.net/search.php?cmd=display&search_for=+%09FILTER_VALIDATE_EMAIL&x=0&y=0 en daar zie je dat er geen bugs open staan.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 17 december 2009 @ 16:50:20 #83
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75734769
quote:
Op donderdag 17 december 2009 14:55 schreef Chandler het volgende:
@hamkaastosti; wil alleen even melden dat die filter ook niet 100% werkt, zelfs niet 50%

http://www.google.nl/search?hl=nl&q=php+FILTER_VALIDATE_EMAIL+bugs&meta=&aq=f&oq=


mjah.. zijn expression om te checken is ook nog aan de wat simpele kant.
Ik zou gewoon filter_var gebruiken.
kijk maar eens op regel 475 welke regex php zelf gebruikt
http://svn.php.net/viewvc/php/php-src/trunk/ext/filter/logical_filters.c?revision=290791&view=markup

[ Bericht 16% gewijzigd door hamkaastosti op 17-12-2009 18:20:50 ]
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_75774069
quote:
Op donderdag 17 december 2009 14:57 schreef Chandler het volgende:

[..]

Kun je ze dan even laten melden hoe dat dan kan (in hun ogen?)
Het is al weer maanden geleden dat hij zoiets gescript heeft, dus hij kon er niet opkomen. Dat was zijn verdediging.
  zaterdag 19 december 2009 @ 11:25:10 #85
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75799429
ik ben me aan het verdiepen in method chaining.
Nu wil ik mijn database op de volgende manier aanroepen:

1
2
3
4
5
6
7
8
9
<?php
$query 
$this->db->select()
                          ->
from('news''*')
                          ->
join('users''*''news.author_id = users.id')
                          ->
order('news.date ASC')
                          ->
limit(0$limit);
        
$result $this->db->fetchAll($query);
?>


in de database class werkt het zoiets:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
private $select;
private 
$from;
private 
$join;
private 
$limit;
//enz

public function limit($startrow$numrows)
{
        
$this->limit ' LIMIT ' $startrow ', ' $numrows;
        return 
$this;
}
public function 
fetchall($query)
{
        
$doquery $this->query($query);
        
$result $doquery->fetchAll(PDO::FETCH_ASSOC);

        return 
$result;
}
?>


Nu werkt dit prima zolang ik maar 1 query heb. Wil ik een tweede query in dezelfde request doen zonder bijvoorbeeld een join terwijl de eerste dat wel had dan wil hij mijn tweede query ook joinen omdat $this->join niet leeg is.

hoe los ik dat netjes op?
In zend gebruiken ze ook zoiets maar daar zit vast een handigheidje achter

[ Bericht 6% gewijzigd door hamkaastosti op 19-12-2009 12:53:47 ]
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_75804417
quote:
Op donderdag 17 december 2009 16:50 schreef hamkaastosti het volgende:

[..]

mjah.. zijn expression om te checken is ook nog aan de wat simpele kant.
Ik zou gewoon filter_var gebruiken.
kijk maar eens op regel 475 welke regex php zelf gebruikt
http://svn.php.net/viewvc/php/php-src/trunk/ext/filter/logical_filters.c?revision=290791&view=markup
const char regexp[] = "/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\")|([A-Za-z0-9_][A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9\\-]))?)+[A-Za-z]+))$/D"

deze dus kan toch wel beter ? (niet dat ik het kan hoor )
Just say hi!
pi_75804494
quote:
Op zaterdag 19 december 2009 11:25 schreef hamkaastosti het volgende:
ik ben me aan het verdiepen in method chaining.
Nu wil ik mijn database op de volgende manier aanroepen:
[ code verwijderd ]

in de database class werkt het zoiets:
[ code verwijderd ]

Nu werkt dit prima zolang ik maar 1 query heb. Wil ik een tweede query in dezelfde request doen zonder bijvoorbeeld een join terwijl de eerste dat wel had dan wil hij mijn tweede query ook joinen omdat $this->join niet leeg is.

hoe los ik dat netjes op?
In zend gebruiken ze ook zoiets maar daar zit vast een handigheidje achter
Waarom dan niet gewoon 2 losse queries? je wil toch niet alles aan elkaar koppelen? en heb je bv een voorbeeld van 2 queries?
Just say hi!
  zaterdag 19 december 2009 @ 15:08:13 #88
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75804622
quote:
Op zaterdag 19 december 2009 15:01 schreef Chandler het volgende:

[..]

Waarom dan niet gewoon 2 losse queries? je wil toch niet alles aan elkaar koppelen? en heb je bv een voorbeeld van 2 queries?
2 queries:
1 om newsitems op te halen + userinfo van plaatser
1 om reacties op dat nieuwsitem op te halen
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_75808906
je kunt toch altijd bij ->from() checken of er al een join is gemaakt? indien wel, die legen oid..?
Just say hi!
  zondag 20 december 2009 @ 00:10:33 #90
25889 Sitethief
Fulltime Flapdrol
pi_75822044
Hamkaastosti, ik zie dat je met PDO werkt, maar waarom voer je dat niet helemaal door, dwz, preparen van SQL statements etc? Of staat dat erwel in?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zondag 20 december 2009 @ 12:18:05 #91
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75831511
Dat gebruik ik wel. ik kan gewoon
1
2
3
<?php
$this
->db->insert('table'$array);
?>

doen en mijn class maakt er vanzelf vraagtekens van die ik met bindvalue bind nadat ik gekeken heb wat voor een type het is

en voor een select kan ik simpelweg
1
2
3
<?php
->where('field = ?'$array);
?>

toevoegen
waarbij hij de array aan de vraagtekens bind.. maar dit gaat dus allemaal nog mis als ik twee queries achter elkaar wil doen.

[ Bericht 17% gewijzigd door hamkaastosti op 20-12-2009 12:40:23 ]
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_75836182
Dus je doet dan dit bv?

$obj->query()->from('tabel', '*')->join('test", 'test.id = tabel.id')->query()->from("tabel1", '*');

?>
Just say hi!
  zondag 20 december 2009 @ 20:12:10 #93
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75850252
nee ik doe
1
2
3
<?php
$this
->db->select()->from('table''id,title,text')->join('users, 'table.id users.id)->where(title = ?, 1)->limit(0,10);
?>


bijvoorbeeld
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_75875430
Mag ik vragen naar het voordeel/idee van deze opzet?
Just say hi!
  dinsdag 22 december 2009 @ 09:32:42 #95
25889 Sitethief
Fulltime Flapdrol
pi_75914015
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
99
100
101
102
103
104
105
106
107
108
109
110
<?php
    
/*
     *    @author Michel Everts
     */
    
class Secure{
        
/*
         *    Strip function for arrays
         *    @param array with text
         *    @return array
         */
        
public function stripArray(&$inputStripArray){
            foreach(
$inputStripArray as $key=>&$val){
                if(
$val !== ""){
                    
$val trim($val);
                    
$val stripslashes($val);
                    
$val htmlentities($valENT_QUOTES);
                }
            }
            return;
        }

        
/*
         *    Strip function for strings
         *    @param string with text
         *  @return string
         */
        
public function stripSingle(&$inputStripSingle){
            if(
$inputStripSingle !== ""){
                
$inputStripSingle trim($inputStripSingle);
                
$inputStripSingle stripslashes($inputStripSingle);
                
$inputStripSingle htmlentities($inputStripSingleENT_QUOTES);
            }
            return;
        }

        
/*
         *    E-mail validate function
         *    @param string with text
         *  @return string or die
         */
        
public function validateEmail(&$inputValidateEmail){
            if (!
preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$inputValidateEmail)){
                die (
"".$inputValidateEmail." <br> Is ongeldig. Gebruik het juiste e-mailadres formaat");
            }
            else{
                return;
            }
        }

        
/*
         *  URL validate function
         *    @param string with text
         *  @return string or die
         */
        
public function validateURL(&$inputValidateURL){
            if (!
preg_match("/(https?:\/\/+[\w\-]+\.[\w\-]+)/i",$inputValidateURL)){
                die (
"".$inputValidateURL." <br> is ongeldig. Gebruik het juiste URL formaat");
            }
            else{
                return;
            }
        }

        
/*
         *    Name validate function
         *    @param string with text
         *  @return string or die
         */
        
public function validateName(&$inputValidateName){
            
$this->stripSingle($inputValidateName);
            if (
preg_match("/[^a-zA-Z]( )'/",$inputValidateName)){
                    die (
"".$inputValidateName." <br>bevat illegale karaters. Alleen alfabetisch karaters zijn toegestaan");
            }
            else{
                return;

            }
        }

        
/*
         *    Telephone number validate function
         *    @param string with text
         *  @return string or die
         */
        
public function validateTel(&$inputValidateTel){
            
$this->stripSingle($inputValidateTel);
            if (
preg_match("/[^0-9\-]/",$inputValidateTel)){
                die (
"".$inputValidateTel." <br>bevat illegale karaters. Alleen cijfers en '-' zijn toegestaan ");
            }
            else{
                return;
            }
        }

        
/*
         *    PostCode validate function
         *    @param string with text
         *  @return string or die
         */
        
public function validatePostCode(&$inputValidatePostCode){
            
$this->stripSingle($inputValidatePostCode);    
            if (!
preg_match("/^[0-9]{4}( )?[A-Za-z]{2}$/",$inputValidatePostCode)){
                die (
"".$inputValidatePostCode." <br> is ongeldig. Een postcode bevat alleen alfanumerieke karakters.");
            }
            else{        
                return;
            }
        }
    }
?>


Deze class werkt momenteel. Maar hoe kan ik hem veiliger maken? Ik kreeg van een collega te horen dat het stukke veilger kan. Maar ik kan moeilijk al die functions private maken ofzo.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 22 december 2009 @ 09:47:24 #96
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75914358
ik snap die die(); elke keer als een field niet klopt niet zo goed. Het lijkt me handiger om gewoon een array met errors bij te houden en een array met gecheckte velden. Die errors gebruik je om je form opnieuw weer te geven met de fout onder elk veld en de array met gecheckte velden gebruik je om je database te vullen.
Verder is het handig om trim te gebruiken om per ongeluk ingevulde spaties te verwijderen.

Mijn validator gebruikt trouwens op meer plekken filter_var en heeft private functions al required() en length()
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 22 december 2009 @ 15:06:53 #97
25889 Sitethief
Fulltime Flapdrol
pi_75926385
quote:
Op dinsdag 22 december 2009 09:47 schreef hamkaastosti het volgende:
ik snap die die(); elke keer als een field niet klopt niet zo goed. Het lijkt me handiger om gewoon een array met errors bij te houden en een array met gecheckte velden. Die errors gebruik je om je form opnieuw weer te geven met de fout onder elk veld en de array met gecheckte velden gebruik je om je database te vullen.
Verder is het handig om trim te gebruiken om per ongeluk ingevulde spaties te verwijderen.

Mijn validator gebruikt trouwens op meer plekken filter_var en heeft private functions al required() en length()
Je hebt gelijk, ik zou niet zomaar moeten stoppen bij zoiets triviaals als een verkeerd ingevoerd e-mail adres.
Het probleem is alleen dat een class bouw die op meerdere plekken gebruikt moet worden en dus niet weet hoe precies de forms er uit gaan zien. En ik ben nog niet zo goed met arrays........... ik vind het maar onhandelbare dingen. Ik kan bijv niet isset() gebruiken om te zien of er errors in de error array zitten.

Anyway, de class geeft nu arrays terug.


Overigens gebruik ik trim wel, en is bijv de e-mail validator zo simpel omdat dit nog de testfase is, zodra de class werkend is kan ik de validators gaan uitbreiden. (Filter_var vind ik ietsjes beperkt in zijn functionaliteit wbt email, maar het is inderdaad een optie) Dit is voor mij ook de eerste keer dat ik een class schrijf, en ik ben nog maar 4 weekjes met php bezig. Het loopt allemaal nog niet zo vloeiend
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 22 december 2009 @ 15:40:27 #98
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75927649
het probleem met het valideren van email is dat je 's werelds beste filter nog om de tuin kunt leiden door gewoon een valide mailadres in te vullen terwijl het adres misschien niet eens werkt. Wil je echt iemands mail aan iets koppelen dan zul je hem een mailtje moeten sturen met een link erin die de gebruiker moet volgen
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 22 december 2009 @ 15:51:25 #99
25889 Sitethief
Fulltime Flapdrol
pi_75928054
quote:
Op dinsdag 22 december 2009 15:40 schreef hamkaastosti het volgende:
het probleem met het valideren van email is dat je 's werelds beste filter nog om de tuin kunt leiden door gewoon een valide mailadres in te vullen terwijl het adres misschien niet eens werkt. Wil je echt iemands mail aan iets koppelen dan zul je hem een mailtje moeten sturen met een link erin die de gebruiker moet volgen
Zelfs dan, je hebt van die tijdelijke e-mailadressen. Maar goed, dit gaat vooral om klantbestanden e.d. dus dit wordt intern gebruikt.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_75952395
Ik ben weer aan het stoeien met php (wat een langdurig gevecht is het). Maar ik heb nu een dropdownbox met daarin bepaalde waardes. Deze waardes representeren verschillende datums in de db. Nu wil ik dat wanneer ik een datum selecteer en op een knop druk dat dat dan een query wordt opgestart met als inputparameter de geselecteerde waarde in de dropdown. Nou is mijn vraag hoe kan ik de geselecteerde waarde in de dropdown ophalen in html?

thx alvast.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')