abonnement Unibet Coolblue
  FOK!-Schrikkelbaas zaterdag 17 december 2011 @ 20:28:38 #1
1972 Swetsenegger
Egocentrische Narcist
pi_105703342


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
  zaterdag 17 december 2011 @ 20:29:57 #2
75592 GlowMouse
l'état, c'est moi
pi_105703383
De output van EXPLAIN zal verschillen (tabelvolgorde). De beste volgorde hangt van je data af.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas zaterdag 17 december 2011 @ 20:36:01 #3
1972 Swetsenegger
Egocentrische Narcist
pi_105703604
quote:
0s.gif Op zaterdag 17 december 2011 20:29 schreef GlowMouse het volgende:
De output van EXPLAIN zal verschillen (tabelvolgorde). De beste volgorde hangt van je data af.
Rly?! Kan je do volgorde ook beinvloeden? En hoe weet je welke volgorde het beste is? Hoe moet je zo'n explain lezen?
  zaterdag 17 december 2011 @ 20:40:06 #4
75592 GlowMouse
l'état, c'est moi
pi_105703758
dat kan met STRAIGHT_JOIN, proberen/ervaring
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105706968
Als ik met Curl een fok! profiel pagina probeer te krijgen staat er "Deze functie is momenteel niet beschikbaar. Misschien ben je niet ingelogd of heb je geen toegang tot deze functie.". Komt dit door fok! en is er een weg omheen? Ik wil namelijk een naam en hash uit het profiel halen zodat ik voor een minecraft server kan verifiëren dat de persoon een fok!ker is.

Ik probeer deze pagina te krijgen: -Datdus-
Lekker happen
pi_105707039
probeer eens een profiel te bekijken op fok zonder je in te loggen.. dan heb je het antwoord.
  zaterdag 17 december 2011 @ 22:10:05 #7
75592 GlowMouse
l'état, c'est moi
pi_105707091
wat voor hash?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105707094
quote:
0s.gif Op zaterdag 17 december 2011 22:08 schreef totalvamp het volgende:
probeer eens een profiel te bekijken op fok zonder je in te loggen.. dan heb je het antwoord.
Ik kan gewoon bij die pagina dan hoor. :P
Lekker happen
pi_105707148
quote:
0s.gif Op zaterdag 17 december 2011 22:10 schreef GlowMouse het volgende:
wat voor hash?
Nou mijn idee was dat mijn scriptje je een random string geeft die je dan in je sig zet. Zo kan mijn script checken of je de goede persoon bent.
Lekker happen
  zaterdag 17 december 2011 @ 22:14:23 #10
75592 GlowMouse
l'état, c'est moi
pi_105707255
De check is niet goed: je kunt altijd iemand bewegen iets in zijn sig te zetten. Daarnaast denk ik niet dat FOK! het goed vindt wanneer jij een database van FOK!kers aanlegt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105707542
quote:
0s.gif Op zaterdag 17 december 2011 22:10 schreef -Datdus- het volgende:

[..]

Ik kan gewoon bij die pagina dan hoor. :P
of je doet iets fout in je code of FoK is beveiligd ertegen. Je kunt dan altijd inloggen proberen met je eigen username.
pi_105707779
quote:
0s.gif Op zaterdag 17 december 2011 22:14 schreef GlowMouse het volgende:
De check is niet goed: je kunt altijd iemand bewegen iets in zijn sig te zetten. Daarnaast denk ik niet dat FOK! het goed vindt wanneer jij een database van FOK!kers aanlegt.
Waarom zijn die pagina's dan openbaar als fok! het daar niet mee eens is? Tevens worden de gegevens niet opgeslagen maar alleen gebruikt als check. Zodra het licht groen is moet je je Minecraft naam invullen en dan kan je spelen.
Lekker happen
  Admin zaterdag 17 december 2011 @ 22:44:38 #13
1 crew  Danny
Ik mis m'n grote vriend..
pi_105708452
quote:
0s.gif Op zaterdag 17 december 2011 22:26 schreef -Datdus- het volgende:

Waarom zijn die pagina's dan openbaar als fok! het daar niet mee eens is?
Dat iets openbaar is wil niet zeggen dat het publiek domein is.

quote:
Tevens worden de gegevens niet opgeslagen maar alleen gebruikt als check. Zodra het licht groen is moet je je Minecraft naam invullen en dan kan je spelen.
Waarom zou je FOK! sigs misbruiken voor je eigen checks en waarom zouden wij dat moeten goedvinden?
- Oh hi Mark!
- Cool... Cool, cool, cool.
Jayden, Ik mis mijn grote vriend...
Zie wat ik kijk: trakt.tv
pi_105709036
quote:
0s.gif Op zaterdag 17 december 2011 22:44 schreef Danny het volgende:

[..]

Dat iets openbaar is wil niet zeggen dat het publiek domein is.

[..]

Waarom zou je FOK! sigs misbruiken voor je eigen checks en waarom zouden wij dat moeten goedvinden?
Dan doe ik het niet, ook goed. En misbruiken is wel erg overdreven. Gebruikers kiezen er zelf voor omdat te doen.

[ Bericht 0% gewijzigd door -Datdus- op 17-12-2011 23:10:47 ]
Lekker happen
  Admin zaterdag 17 december 2011 @ 23:04:11 #15
1 crew  Danny
Ik mis m'n grote vriend..
pi_105709136
quote:
1s.gif Op zaterdag 17 december 2011 23:01 schreef -Datdus- het volgende:

[..]

Dan doe niet, ook goed. En misbruiken is wel erg overdreven. Gebruikers kiezen er zelf voor omdat te doen.
De sigs hebben een doel op FOK!. Je kunt er iets van jezelf in kwijt. Het is natuurlijk niet de bedoeling dat anderen jouw je sig laten gebruiken om verificatiedoeleinden oid. En als het daadwerkelijk een keuze is; hoe zit het dan met mensen die kiezen de code NIET in hun sig te plaatsen? Want als het werkelijk een keuze is zou dat voor jou niets uit moeten maken.
- Oh hi Mark!
- Cool... Cool, cool, cool.
Jayden, Ik mis mijn grote vriend...
Zie wat ik kijk: trakt.tv
pi_105709322
quote:
0s.gif Op zaterdag 17 december 2011 23:04 schreef Danny het volgende:

[..]

De sigs hebben een doel op FOK!. Je kunt er iets van jezelf in kwijt. Het is natuurlijk niet de bedoeling dat anderen jouw je sig laten gebruiken om verificatiedoeleinden oid. En als het daadwerkelijk een keuze is; hoe zit het dan met mensen die kiezen de code NIET in hun sig te plaatsen? Want als het werkelijk een keuze is zou dat voor jou niets uit moeten maken.
Dat zou geen probleem zijn. Het idee was bedoeld om nieuwe mensen sneller rechten te geven op de server. Nu moeten ze wachten tot er een admin online is etc en dat is ook prima hoor.
Lekker happen
pi_105709359
Ik heb nu een database waarin een paar ingevoerde getallen worden opgeslagen en hiervoor een id aangemaakt wordt. Maar hoe kan ik deze gegevens aan een gebruiker/sessie linken zonder dat deze is aangemeld. Zodat deze gegevens in een later venster kunnen worden weergeven.

Nu kan ik alleen op de vervolg pagina gegevens ophalen omdat ik van te voren niet weet onder welk id het opgeslagen wordt.

[ Bericht 40% gewijzigd door Crimyclown op 17-12-2011 23:18:34 ]
Anonieme tievesclown
  zaterdag 17 december 2011 @ 23:57:34 #18
75592 GlowMouse
l'état, c'est moi
pi_105711029
quote:
0s.gif Op zaterdag 17 december 2011 23:10 schreef Crimyclown het volgende:
Ik heb nu een database waarin een paar ingevoerde getallen worden opgeslagen en hiervoor een id aangemaakt wordt. Maar hoe kan ik deze gegevens aan een gebruiker/sessie linken zonder dat deze is aangemeld. Zodat deze gegevens in een later venster kunnen worden weergeven.

Nu kan ik alleen op de vervolg pagina gegevens ophalen omdat ik van te voren niet weet onder welk id het opgeslagen wordt.
geef ze een sessie die niet aan een gebruiker is gekoppeld, of sla nog niks in een database op (maar in $_SESSION).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105711071
quote:
0s.gif Op zaterdag 17 december 2011 23:57 schreef GlowMouse het volgende:

[..]

geef ze een sessie die niet aan een gebruiker is gekoppeld, of sla nog niks in een database op (maar in $_SESSION).
Dank, het werkt.
Anonieme tievesclown
pi_105726884
Ik heb de volgende query in mijn PHP staan:
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE Accounts (

        AccountID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (AccountID),

        FirstName varchar(20),

        LastName varchar(20)

      )
Dit werkt prima, er wordt een tabel aangemaakt in MySQL en er kan gewoon data in worden gezet, maar zodra ik de query verander in
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
      CREATE TABLE Accounts (

        AccountID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (AccountID),

        FirstName varchar(20),

        LastName varchar(20)

      )

      CREATE TABLE Relatives (

        RelativeID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (RelativeID),

        FirstName varchar(20),

        LastName varchar(20),

        AccountID int,

        FOREIGN KEY (AccountID) REFERENCES Accounts (AccountID)

      )

      CREATE TABLE Constructs (

        ConstructID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (ConstructID),

        String varchar(255),

        AccountID int,

        FOREIGN KEY (AccountID) REFERENCES Accounts (AccountID)

      )

      CREATE TABLE Answers (

        AnswerID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (AnswerID),

        String varchar(255),

        ConstructID int,

        FOREIGN KEY (ConstructID) REFERENCES Constructs (ConstructID)

      )
wordt er geen enkele tabel aangemaakt.

Weet iemand wat ik fout doe?
HEBT U VUILNISMETAAL DIE U NIET MEER NODIG HEBT ?!
pi_105726951
Wat zegt mysql_error()?
pi_105727242
quote:
0s.gif Op zondag 18 december 2011 15:33 schreef Piles het volgende:
Wat zegt mysql_error()?
Niks, er zit geen error in blijkbaar. Echt heel raar...

Hier is het volledige PHP-script btw:
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
  <?php

  

    $server 
'127.0.01';

    
$username 'root';

    
$password 'root';

    
$database 'properdb';

    
$con mysql_connect("localhost"$username$password) or die('Kan niet verbinden met de server: ' mysql_error());

      

    
// Create tables

    
mysql_select_db($database$con);

    
$sql "

      

      CREATE TABLE Accounts (

        AccountID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (AccountID),

        FirstName varchar(20),

        LastName varchar(20)

      )

      CREATE TABLE Relatives (

        RelativeID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (RelativeID),

        FirstName varchar(20),

        LastName varchar(20),

        AccountID int,

        FOREIGN KEY (AccountID) REFERENCES Accounts (AccountID)

      )

      CREATE TABLE Constructs (

        ConstructID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (ConstructID),

        String varchar(255),

        AccountID int,

        FOREIGN KEY (AccountID) REFERENCES Accounts (AccountID)

      )

      CREATE TABLE Answers (

        AnswerID int NOT NULL AUTO_INCREMENT, 

        PRIMARY KEY (AnswerID),

        String varchar(255),

        ConstructID int,

        FOREIGN KEY (ConstructID) REFERENCES Constructs (ConstructID)

      )

    "
;

    
// Execute query

    
mysql_query($sql,$con);  

    
mysql_close($con);

  

  
?>
HEBT U VUILNISMETAAL DIE U NIET MEER NODIG HEBT ?!
  FOK!-Schrikkelbaas zondag 18 december 2011 @ 15:46:03 #23
1972 Swetsenegger
Egocentrische Narcist
pi_105727536
Nu heb ik deze prachtige query om de top 10 verkochte producten van het afgelopen jaar uit mijn DB te trekken:

quote:
SELECT produkten.*, count(*) as productcount
FROM order_content
JOIN orders on (orders.order_id=order_content.order_id)
JOIN produkten on (produkten.product_id=order_content.product_id)
WHERE produkten.product_menu IS NOT NULL AND produkten.product_menu<>0 AND orders.wishlist=0 AND orders.activated=1 AND orders.orderdate between ('2011-01-01 0:0:0') AND ('2012-01-01 0:0:0')
GROUP BY produkten.product_id
ORDER BY productcount DESC
LIMIT 0, 10
Maar als ik dan dit leesvraag ik me af of ik wel de juiste resultaten terug krijg?
  zondag 18 december 2011 @ 15:55:46 #24
75592 GlowMouse
l'état, c'est moi
pi_105727940
quote:
0s.gif Op zondag 18 december 2011 15:39 schreef VuilnisMetaal het volgende:

[..]

Niks, er zit geen error in blijkbaar. Echt heel raar...

Hier is het volledige PHP-script btw:
[ code verwijderd ]

je vergeet puntkomma's tussen queries, en je vergeet dat mysql_query maar één query uit kan voeren
quote:
5s.gif Op zondag 18 december 2011 15:46 schreef Swetsenegger het volgende:
Nu heb ik deze prachtige query om de top 10 verkochte producten van het afgelopen jaar uit mijn DB te trekken:

[..]

Maar als ik dan dit leesvraag ik me af of ik wel de juiste resultaten terug krijg?
dan moet je het nog een keer lezen
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105728775
quote:
0s.gif Op zondag 18 december 2011 15:55 schreef GlowMouse het volgende:

[..]

je vergeet puntkomma's tussen queries, en je vergeet dat mysql_query maar één query uit kan voeren

[..]

dan moet je het nog een keer lezen
Juist! Het werkt nu helemaal! Dankjewel _O_
HEBT U VUILNISMETAAL DIE U NIET MEER NODIG HEBT ?!
  FOK!-Schrikkelbaas zondag 18 december 2011 @ 16:20:38 #26
1972 Swetsenegger
Egocentrische Narcist
pi_105729041
quote:
0s.gif Op zondag 18 december 2011 15:55 schreef GlowMouse het volgende:

dan moet je het nog een keer lezen
Hoe bedoel je?
  zondag 18 december 2011 @ 16:58:18 #27
75592 GlowMouse
l'état, c'est moi
pi_105730834
quote:
5s.gif Op zondag 18 december 2011 16:20 schreef Swetsenegger het volgende:

[..]

Hoe bedoel je?
Het stukje waaruit je opmaakte dat je wellicht niet de juiste resultaten terugkrijgt, heb je niet begrepen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas zondag 18 december 2011 @ 17:01:11 #28
1972 Swetsenegger
Egocentrische Narcist
pi_105730971
quote:
0s.gif Op zondag 18 december 2011 16:58 schreef GlowMouse het volgende:

[..]

Het stukje waaruit je opmaakte dat je wellicht niet de juiste resultaten terugkrijgt, heb je niet begrepen.
Er staat dat je in je group by all niet aggregate kolommen zou moeten opnemen. Dat heb ik in bovenstaande query toch niet? Of zie ik wat over het hoofd?
  zondag 18 december 2011 @ 17:10:58 #29
75592 GlowMouse
l'état, c'est moi
pi_105731390
eigenlijk niet (een andere db-server keurt je query af), maar van de oorzaak waardoor in hun voorbeeld verkeerde rijen worden teruggegeven heb jij geen last
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas zondag 18 december 2011 @ 17:13:18 #30
1972 Swetsenegger
Egocentrische Narcist
pi_105731481
quote:
0s.gif Op zondag 18 december 2011 17:10 schreef GlowMouse het volgende:
eigenlijk niet (een andere db-server keurt je query af), maar van de oorzaak waardoor in hun voorbeeld verkeerde rijen worden teruggegeven heb jij geen last
Das mooi :)

Kan je uitleggen waarom? Dan ga ik het misschien ook snappen. Tenslotte is dit een 'voor dummies' topic.
  zondag 18 december 2011 @ 17:31:13 #31
75592 GlowMouse
l'état, c'est moi
pi_105732074
Dummy betekent niet dat je niet hoeft te googlen. http://dev.mysql.com/doc/(...)-hidden-columns.html
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas zondag 18 december 2011 @ 17:39:51 #32
1972 Swetsenegger
Egocentrische Narcist
pi_105732406
quote:
0s.gif Op zondag 18 december 2011 17:31 schreef GlowMouse het volgende:
Dummy betekent niet dat je niet hoeft te googlen. http://dev.mysql.com/doc/(...)-hidden-columns.html
Moet je wel weten waar je op moet googlen. Gelezen en duidelijk.
pi_105838028
Ik ben bezig met wat reguliere expressies en hier loop ik een beetje op stuk.

Dit is mijn code:
1return(preg_match('^[0-9]{$min,$max}^', $string))? 1 : 0;

Ik wil alleen nummers toelaten met een range die wordt bepaald door de $min en $max variabelen. Hij blijft een verkeerde waarde geven behalve als ik het zo doe:

1return(preg_match('^[0-9]{0,10}^', $string))? 1 : 0;

Ik heb dit al geprobeerd maar dit werkt ook niet.
1return(preg_match('^[0-9]{'.$min.','.$max.'}^', $string))? 1 : 0;

Weten jullie hoe ik dit op kan lossen? :)
Lekker happen
  dinsdag 20 december 2011 @ 21:24:05 #34
75592 GlowMouse
l'état, c'est moi
pi_105838286
Die laatste werkt weldegelijk. Je kunt ook gewoon preg_match returnen, die ? 1 : 0 is eigenlijk onlogisch.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105838404
quote:
0s.gif Op dinsdag 20 december 2011 21:24 schreef GlowMouse het volgende:
Die laatste werkt weldegelijk. Je kunt ook gewoon preg_match returnen, die ? 1 : 0 is eigenlijk onlogisch.
Je hebt gelijk, bedankt!
Lekker happen
  dinsdag 20 december 2011 @ 21:28:28 #36
75592 GlowMouse
l'état, c'est moi
pi_105838511
En je staat nu asdf1234asdf ook toe. Je zoekt iets als /^[0-9]{0,10}$/
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 21 december 2011 @ 08:01:26 #37
4159 GI
Nee ik heet geen JOE
pi_105855477
Zit hier toevallig een regexp expert die mij een alleen alfanumerieke characters regexp kan vertellen ?
Ik heb nu bijvoorbeeld :
1
2
3
<?php
$factuur
["levPostalcode"] = preg_replace("/[^0-9\s]/"""$factuur["levPostalcode"]);
?>
om de cijfers uit een postcode te plukken. Maar ik wil nu een vergelijkbare hebben die het huisnummer weglaat uit een adres.

Nou kan ik wel valsspelen en de code die ik heb te gebruiken en die daarna uit het adres te replacen met "" maar das net weer niet netjes genoeg :+
  woensdag 21 december 2011 @ 10:11:09 #38
75592 GlowMouse
l'état, c'est moi
pi_105857675
Haal de ^ en de \s uit de regex en rtrim het resultaat.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105862338
Ik heb een stuk code dat controleert of een string aan een aantal eisen voor een kenteken voldoet. Gek genoeg levert de enige juiste string een 'maximum execution time exceeded' op (bij $kent4). Ik zie niet wat het probleem is. Iemand een idee?

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
<?php
/*
Een autokenteken bestaat altijd uit 8 tekens (XX-XX-XX). 
Ieder teken is een letter, een cijfer of een &lsquo;-&lsquo;-teken. 
Een letter staat altijd naast een andere letter of naast een &lsquo;-&lsquo;-teken. 
Een cijfer staat altijd naast een ander cijfer of naast een &lsquo;-&lsquo;-teken.
*/

function kenteken($string){                                                        //maakt de functie aan die als parameter de string accepteert
    
$length strlen($string);                                                    //bekijkt de lengte van de string         
    
$letters = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  //array met alle letters
    
$cijfers = array('1','2','3','4','5','6','7','8','9','0');                    //array met alle cijfers
    
$which=0;                                                                    //$which zal later in de loop aangeven in welke categorie het vorige teken viel, 1 = letter, 2 = cijfer, 3 = '-'
    
if($length != 8){                                                              //als de lengte van de string niet gelijk is aan acht wordt aan de eerste voorwaarde al niet voldaan en 'false' gereturned
        
return false;
    }
    elseif(
$string[3]!='-' and $string[5]!='-'  ){                                //kijkt of op de 3e en 6e plek wel het '-' teken staat
        
return false;
    }
    else {
        for(
$index 0$index $length$index++){                            //loop om door de stringposities heen te lopen
            
if(in_array(strtoupper($string[$index]),$letters)){                    //als aan deze conditie wordt voldaan, dan is het huidige teken een letter
                
if($which != 2){                                                 //als het vorige teken geen cijfer was (dus een 0, een 1 of een 3) wordt $which op 1 gezet
                    
$which=1;
                }
                else{                                                            
//het huidige teken is een letter, terwijl de voorgaande een cijfer was, wat niet is toegestaan
                    
return false;
                }                                        
            }
            elseif(
in_array($string[$index],$letters)){                            //als aan deze conditie wordt voldaan, dan is het huidige teken een cijfer
                
if($which != 1){                                                   //als het vorige teken geen letter was (dus een 0, een 2 of een 3) wordt $which op 2 gezet
                    
$which=2;
                }
                else{                                                             
//het huidige teken is een cijfer, terwijl de voorgaande een letter was, wat niet is toegestaan
                    
return false;
                }
            }
            elseif(
$string[$index]== '-'){                                         //als aan deze conditie wordt voldaan, dan is het huidige teken een '-'
                
if ($index=or $index=5){                                        //het '-' teken mag alleen op posities 3 en 6 voorkomen
                    
$which=3;                                                    //$which wordt enkel op 3 gezet wanneer het '-' teken op de juiste positie staat
                
}
                else{
                    return 
false;
                }
            }
            else{                                                                 
//het huidige teken valt in geen van de toegestane condities, dus een false wordt gereturned
                
return false;
            }
        }
        return 
true;                                                            //als de loop is doorlopen en niet is afgebroken doordat niet aan een van de eisen is voldaan, kan true worden gereturned     
    
}
}      

$kent1="ABCDEFGHI";
$kent2="a3-za-aa";
$kent3="ac-44-@r";
$kent4="ac-pz-44";
$kent5="jhgddest";
$kent6="12345678";

if(
kenteken($kent1)){  echo "$kent1 is een kenteken.<br>"; }
else { echo 
"$kent1 is geen kenteken.<br>"; }
if(
kenteken($kent2)){  echo "$kent2 is een kenteken.<br>"; }
else { echo 
"$kent2 is geen kenteken.<br>"; }
if(
kenteken($kent3)){  echo "$kent3 is een kenteken.<br>"; }
else { echo 
"$kent3 is geen kenteken.<br>"; }
if(
kenteken($kent4)){  echo "$kent4 is een kenteken.<br>"; }
else { echo 
"$kent4 is geen kenteken.<br>"; }
if(
kenteken($kent5)){  echo "$kent5 is een kenteken.<br>"; }
else { echo 
"$kent5 is geen kenteken.<br>"; }
if(
kenteken($kent6)){  echo "$kent6 is een kenteken.<br>"; }
else { echo 
"$kent6 is geen kenteken.<br>"; }
?>
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  woensdag 21 december 2011 @ 12:52:58 #40
91039 mstx
2x1/2 = 1/2 x 1/2
pi_105862610
quote:
0s.gif Op woensdag 21 december 2011 12:45 schreef uppie83 het volgende:
Ik heb een stuk code dat controleert of een string aan een aantal eisen voor een kenteken voldoet. Gek genoeg levert de enige juiste string een 'maximum execution time exceeded' op (bij $kent4). Ik zie niet wat het probleem is. Iemand een idee?
[ code verwijderd ]

if ($index=2 or $index=5){

Ik zou daar == gebruiken.
Als hij 1x bij die regel komt zet hij hem elke keer weer op 2 waardoor hij oneindig door blijft gaan.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  woensdag 21 december 2011 @ 12:57:33 #41
75592 GlowMouse
l'état, c'est moi
pi_105862780
Op regel 30 moet je $cijfers gebruiken. En je doet nu niks met nieuwe kentekens met een groepje van 3 letters; wat je nu hebt kan ook met een regex.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105862947
quote:
0s.gif Op woensdag 21 december 2011 12:52 schreef mstx het volgende:

[..]

if ($index=2 or $index=5){

Ik zou daar == gebruiken.
Als hij 1x bij die regel komt zet hij hem elke keer weer op 2 waardoor hij oneindig door blijft gaan.
Bedankt :) Dat was idd de truc.

quote:
0s.gif Op woensdag 21 december 2011 12:57 schreef GlowMouse het volgende:
Op regel 30 moet je $cijfers gebruiken. En je doet nu niks met nieuwe kentekens met een groepje van 3 letters; wat je nu hebt kan ook met een regex.
Ook bedankt, dat loste inderdaad het laatste probleem nog op. Klopt dat ik niets met nieuwe kentekens doe, maar dat was niet de opdracht :) Regex ken ik niet... De docent gaf als tip om modulo te gebruiken, maar die begreep ik dan weer niet :P
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  woensdag 21 december 2011 @ 13:38:31 #43
25889 Sitethief
Fulltime Flapdrol
pi_105864325
Wat doet jouw systeem met de volgende kentekens:

00-BBB-1
1-VBB-01
DB-001-B
D-001-BB

Die zijn namelijk ook gewoon geldig...
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 21 december 2011 @ 13:57:54 #44
75592 GlowMouse
l'état, c'est moi
pi_105865169
quote:
0s.gif Op woensdag 21 december 2011 13:38 schreef Sitethief het volgende:
Wat doet jouw systeem met de volgende kentekens:

00-BBB-1
1-VBB-01
DB-001-B
D-001-BB

Die zijn namelijk ook gewoon geldig...
Heb jij oogjes gekregen van onze goede Heer?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 21 december 2011 @ 15:00:55 #45
25889 Sitethief
Fulltime Flapdrol
pi_105868021
Je hebt gelijk, ik hoop dat ie niet straks alsnog dat kan inbouwen :X
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_105868620
quote:
0s.gif Op woensdag 21 december 2011 15:00 schreef Sitethief het volgende:
Je hebt gelijk, ik hoop dat ie niet straks alsnog dat kan inbouwen :X
Geen idee, maar volgens mij zou ik dat oplossen door de condities rondom het '-' teken wat te versoepelen.
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_105869687
Ik heb een master/slave opstelling gemaakt in MySQL, op dit moment loopt hij perfect waarbij de slave tot nu toe elk moment maximaal een seconde achter ligt.

Kan iemand mij vertellen of zo'n opstelling verstandig en stabiel is?

Ja, we weten dat je niet kan schrijven naar een slave dabase(hij schrijft het iig niet weg naar de master).
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 15:53:16 #48
75592 GlowMouse
l'état, c'est moi
pi_105869922
Ligt er net aan wat je ervan verwacht.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105870179
Het gaat erom dat we de login gegevens van phpbb gebruiken voor het inloggen op een ander systeem(spel). Nu maken we nog verbinding naar de externe server(de webserver), daar willen we vanaf omdat die voor steeds meer load op die server zorgt en we niet afhankelijk van de webserver willen zijn.
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:03:28 #50
75592 GlowMouse
l'état, c'est moi
pi_105870302
Een inlogsysteem dat voor te hoge load zorgt :') Zorg dat je direct met MySQL verbindt en niet via een webscript communiceert, dan mag er geen enkel probleem zijn.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105870393
Je kan wel :') doen, maar je hebt geen idee hoe het in elkaar zit, dus doe even normaal.

We willen gewoon niet afhankelijk zijn van de webserver, dat als deze eruit ligt mensen nog gewoon in kunnen loggen op het spel.
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:08:10 #52
75592 GlowMouse
l'état, c'est moi
pi_105870476
Username en wachtwoord ophalen is een enkele primary key lookup, dat kost zo weinig rekenkracht dat je er een gigabitlijn mee voltrekt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105870544
Hij laad ook profile fields, hij checkt op bans, en haalt wat andere dingen op.

Gameservers doen ook session checks om te kijken of de gebruiker geldig is.

Er zit ook authenticatie op de gameservers om te kijken of deze een geldige key hebben om te hosten.

Is het zo raar dat we de webserver en gameserver gescheiden willen houden?

En je gaat er ook van uit dat de webserver niets anders te doen heeft dan logins regelen voor de gameserver, wat natuurlijk niet waar is.
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:12:29 #54
75592 GlowMouse
l'état, c'est moi
pi_105870649
Nog steeds zie ik geen fancy dingen waarvoor je naar een master/slave setup zou willen. Ik zou eerst eens uitzoeken waarom de load zo hoog is.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 21 december 2011 @ 16:15:33 #55
84244 Scorpie
Abject en infaam!
pi_105870760
Zo`n hoge load is ongezond. Beter ga je structureel bekijken waarom de load zo hoog is.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105870773
Wat zou jij dan doen? Weet je, laat maar weer lekker zitten Gloeimuisje, je bent weer lekker behulpzaam. Ik vraag alleen of mensen ervaring hebben met een master/slave en of het stabiel is.

Ik zeg dat we niet afhankelijk willen zijn van de webserver, waardoor een simpele verbinding naar de webserver al niet mogelijk is.

Misschien is onze load wel hoog omdat we veel bezoekers/spelers hebben?

Ik zeg niet dat onze load te hoog is, ik wil alleen voorkomen dat hij te hoog wordt als we volledig over gaan op het loginsysteem.

quote:
0s.gif Op woensdag 21 december 2011 16:15 schreef Scorpie het volgende:
Zo`n hoge load is ongezond. Beter ga je structureel bekijken waarom de load zo hoog is.
En waar staat wat voor load ik heb?
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:16:29 #57
84244 Scorpie
Abject en infaam!
pi_105870789
Daarnaast snap ik de scheiding niet zo goed.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105870808
quote:
0s.gif Op woensdag 21 december 2011 16:16 schreef Scorpie het volgende:
Daarnaast snap ik de scheiding niet zo goed.
quote:
0s.gif Op woensdag 21 december 2011 16:05 schreef Pizzalucht het volgende:
We willen gewoon niet afhankelijk zijn van de webserver, dat als deze eruit ligt mensen nog gewoon in kunnen loggen op het spel.
+Dat een verbinding naar een andere server niet zo optimaal is.
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:17:29 #59
84244 Scorpie
Abject en infaam!
pi_105870838
quote:
0s.gif Op woensdag 21 december 2011 16:00 schreef Pizzalucht het volgende:
Het gaat erom dat we de login gegevens van phpbb gebruiken voor het inloggen op een ander systeem(spel). Nu maken we nog verbinding naar de externe server(de webserver), daar willen we vanaf omdat die voor steeds meer load op die server zorgt en we niet afhankelijk van de webserver willen zijn.
Dat wil je dus niet. Je wilt blijkbaar niet afhankelijk zijn van je webserver.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  woensdag 21 december 2011 @ 16:18:33 #60
84244 Scorpie
Abject en infaam!
pi_105870891
Dus je hebt straks een gameserver waarop een webserver draait die je los wilt koppelen van je primaire webserver waar het forum e.d. op draait?
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105870935
quote:
5s.gif Op woensdag 21 december 2011 16:18 schreef Scorpie het volgende:
Dus je hebt straks een gameserver waarop een webserver draait die je los wilt koppelen van je primaire webserver waar het forum e.d. op draait?
Nee, die gameserver heeft geen webserver?

We hebben 2 fysieke servers, een de webserver, de andere de gameserver.
Ze hebben allebei MySQL, en de webserver is de master.

Even voor de duidelijkheid, we hebben het over een desktop game die contact maakt met de gameserver voor login/friendsystem/serverlist/stats
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:24:04 #62
75592 GlowMouse
l'état, c'est moi
pi_105871137
quote:
0s.gif Op woensdag 21 december 2011 16:16 schreef Pizzalucht het volgende:
Weet je, laat maar weer lekker zitten Gloeimuisje, je bent weer lekker behulpzaam.
:')
quote:
Ik vraag alleen of mensen ervaring hebben met een master/slave en of het stabiel is.
Niemand heeft ervaring, want het is heel onstabiel :') Grote bedrijven gebruiken MySQL, wat denk je zelf dat het stabiel is :')
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 21 december 2011 @ 16:24:47 #63
84244 Scorpie
Abject en infaam!
pi_105871170
Maar je primaire login gegevens staan op de webserver?
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105871199
quote:
0s.gif Op woensdag 21 december 2011 16:24 schreef Scorpie het volgende:
Maar je primaire login gegevens staan op de webserver?
Inderdaad, mensen loggen in met hun forum account.

quote:
0s.gif Op woensdag 21 december 2011 16:24 schreef GlowMouse het volgende:

[..]

Niemand heeft ervaring, want het is heel onstabiel :') Grote bedrijven gebruiken MySQL, wat denk je zelf dat het stabiel is :')
Ik heb het over master/slave, niet over MySQL zelf...
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:28:28 #65
84244 Scorpie
Abject en infaam!
pi_105871319
quote:
0s.gif Op woensdag 21 december 2011 16:25 schreef Pizzalucht het volgende:

[..]

Inderdaad, mensen loggen in met hun forum account.
Daar zou ik dan sowieso vanaf willen stappen. Maak een apart login systeem voor je game. Scheelt je een hoop gezeik.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105871382
quote:
0s.gif Op woensdag 21 december 2011 16:28 schreef Scorpie het volgende:

[..]

Daar zou ik dan sowieso vanaf willen stappen. Maak een apart login systeem voor je game. Scheelt je een hoop gezeik.
Waarom? Waarom zouden mensen 2 verschillende accounts willen hebben?
💍 💍 💍 💍 💍 💍 🍌 ☎
  woensdag 21 december 2011 @ 16:47:05 #67
84244 Scorpie
Abject en infaam!
pi_105872076
quote:
0s.gif Op woensdag 21 december 2011 16:29 schreef Pizzalucht het volgende:

[..]

Waarom? Waarom zouden mensen 2 verschillende accounts willen hebben?
Je denkt teveel vanuit de gebruiker en te weinig vanuit de techniek.

Je webserver wordt gehacked en je forum database wordt leeggetrokken. Weg spel, weg forum.

Je forum wordt gehacked en je user wachtwoorden worden gekraakt. Weg spel, weg forum.

Je spel login systeem wordt gekraakt en mensen trekken je forum database leeg. Kraken de wachtwoorden en kunnen zo root krijgen op je forum. Weg spel, weg forum.

Ik zou nooit, maar dan ook echt nooit mijn beveiliging in de handen van phpBB leggen voor zo`n spel.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_105885498
ik heb een fotoalbum(van internet geplukt) in een ?func=fotoalbum gezet
alles leek goed te werken, op een browser op het werk
maar thuis krijg ik ineens een boel foutmeldingen
oa
1
2
3
<?php
Warning
chmod() [function.chmod]: Unable to access /thumbs/klein_ in /xxx/blabla/domains/blabla.nl/public_html/includes/fotos.php on line 78
?>
regel 78
1
2
3
<?php
chmod
($map '/thumbs/' $type '_' $bestandsnaam0777);
?>

wat gaat er nu precies fout?
alle folders bestaan, script werkt verder zoals het hoort
maar ik heb wel 10 foutmeldingen varierent van bovenstaande tot Notice: Undefined offset: 0
  woensdag 21 december 2011 @ 21:34:01 #69
75592 GlowMouse
l'état, c'est moi
pi_105885910
$map zal wel leeg zijn
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105886079
quote:
0s.gif Op woensdag 21 december 2011 21:34 schreef GlowMouse het volgende:
$map zal wel leeg zijn
nope
bovenaan in script
1
2
3
<?php
$map 
'fotoalbum';
?>
in fotoalbum staat mijn foto's + thumbs
deze zie ik ook op scherm
kan het iets te maken hebben met schrijfrechten?
pi_105887762
Ben je nu niet je bestand aan het chmodden in plaats van je map?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  woensdag 21 december 2011 @ 21:57:53 #72
91039 mstx
2x1/2 = 1/2 x 1/2
pi_105887887
quote:
0s.gif Op woensdag 21 december 2011 21:35 schreef MrNiles het volgende:

[..]

nope
bovenaan in script
[ code verwijderd ]

in fotoalbum staat mijn foto's + thumbs
deze zie ik ook op scherm
kan het iets te maken hebben met schrijfrechten?
Waarom zoekt het script dan naar "/thumbs/klein_" ? Voor zover ik kan zien betekent dat dat zowel $map als $bestandsnaam leeg zijn, anders stond er wel "fotoalbum/thumbs/klein_bestandsnaam.ext".
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_105888900
quote:
0s.gif Op woensdag 21 december 2011 21:57 schreef mstx het volgende:

[..]

Waarom zoekt het script dan naar "/thumbs/klein_" ? Voor zover ik kan zien betekent dat dat zowel $map als $bestandsnaam leeg zijn, anders stond er wel "fotoalbum/thumbs/klein_bestandsnaam.ext".
kan zijn...vreemd
krijg ook de melding
Warning: Division by zero
de waarde die nul zou zijn is $breedte_origineel
die gehaalt wordt uit
1
2
3
<?php
list($breedte_origineel$hoogte_origineel$extensie) = getimagesize($map '/' $bestandsnaam);
?>
tja..ik zie m echt niet..nog ff kijken en anders morgen weer een dag
pi_105889420
quote:
0s.gif Op woensdag 21 december 2011 22:10 schreef MrNiles het volgende:

[..]

kan zijn...vreemd
krijg ook de melding
Warning: Division by zero
de waarde die nul zou zijn is $breedte_origineel
die gehaalt wordt uit
[ code verwijderd ]

tja..ik zie m echt niet..nog ff kijken en anders morgen weer een dag
var_dump die bende dan en loop stap voor stap na en kijk wat de variabelen voor waarde hebben en of dit klopt met wat de bedoeling is. Beetje debuggen is toch niet zo complex iets.
  woensdag 21 december 2011 @ 23:06:39 #75
25889 Sitethief
Fulltime Flapdrol
pi_105893351
Var_dump?

xdebug + netbeans _O_
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_105893519
Notepad de gekste jeweetz :P
pi_105894115
Hoi allen!

Ik heb een site gemaakt met poging tot php-formulier, samen met database.
Ik vul mijn tabelletje op mijn site in en krijg de volgende foutmelding: " Er is een fout opgetreden met foutnummer 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 2 "

Dit is mijn code:

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Dingen met een * heb ik voor hier even leeggelaten, staat wel ingevuld.

Wat moet ik doen? Ik ben namelijk niet zo'n PHP-held, en heb dit gekopiëerd uit een bestand dat ik van m'n leraar heb gekregen.

Alvast bedankt!
  woensdag 21 december 2011 @ 23:17:36 #78
75592 GlowMouse
l'état, c'est moi
pi_105894192
Al eens gekeken hoe de query eruit ziet?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105894256
Als jij me uitlegt wat dat is en hoe ik ernaar moet kijken? :P
  FOK!-Schrikkelbaas woensdag 21 december 2011 @ 23:23:47 #80
862 Arcee
Look closer
pi_105894638
Je sluit je INSERT-statement niet af. Na de laatste toevoeging moet geen ,' meer, maar gewoon een sluithaakje.

Vervang

1$query .= $_POST["cijfer"] . "', '";

Door

1$query .= $_POST["cijfer"] . "')";
pi_105894997
Lost niks op.
Heb ik alles wel goed ingevuld?

deze gegevens heb ik van mijn host gekregen:
$mysql_host = "mysql4.000webhost.com";
$mysql_database = "a1320523_MVDVR";
$mysql_user = "a1320523_mvdvr";
$mysql_password = "*";

mijn tabel in de database heet contact

1
2
3
4
5
6
7
8
<?php
$server 
"mysql4.000webhost.com";
$user "a1320523_mvdvr";
$wachtwoord "*";
$database "a1320523_MVDVR";
$query "";
$bedankt "bevestiging_toevoegen.php"// adres van de bedank-pagina.
?>

is dit dan goed ingevuld?

* is overigens weer vervangen
  FOK!-Schrikkelbaas woensdag 21 december 2011 @ 23:31:07 #82
862 Arcee
Look closer
pi_105895170
1    $query .= $_POST["cijfer"] . "')";

Echt vervangen door bovenstaande? Dus door single quote + sluithaakje.

In het commentaar staat ook nog: Na "loopnummer" wordt afgesloten met een haakje.

In het origineel zat mogelijk nog een veld loopnummer waar het sluithaakje in stond.
pi_105895261
quote:
0s.gif Op woensdag 21 december 2011 23:28 schreef MXD het volgende:
Lost niks op.
Heb ik alles wel goed ingevuld?

deze gegevens heb ik van mijn host gekregen:
$mysql_host = "mysql4.000webhost.com";
$mysql_database = "a1320523_MVDVR";
$mysql_user = "a1320523_mvdvr";
$mysql_password = "*";

mijn tabel in de database heet contact
[ code verwijderd ]

is dit dan goed ingevuld?

* is overigens weer vervangen
Lijkt me goed ingevuld. heb je nog ergens problemen? of een foutmelding?
Redacted
pi_105895938
Hij doet het nu. Ik heb geen idee hoe, maar hij doet het!

Alsnog bedankt iedereen! :)
pi_105896316
Nee toch niet.

Ik heb 1x mijn gegevens ingevoerd en die staan nu in de database. Echter, als ik dit nog eens doe (met andere gegevens) krijg ik dit: Er is een fout opgetreden met foutnummer 1062 : Duplicate entry '0' for key 'PRIMARY'

Ik snapt dat het ID dan niet veranderd wordt en er van elk ID maar 1 mag zijn, maar hoe los ik dit op?
pi_105896429
Door dat veld te veranderen.
  woensdag 21 december 2011 @ 23:49:04 #87
75592 GlowMouse
l'état, c'est moi
pi_105896536
leer eerst SQL
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105897375
quote:
0s.gif Op woensdag 21 december 2011 23:45 schreef MXD het volgende:
Nee toch niet.

Ik heb 1x mijn gegevens ingevoerd en die staan nu in de database. Echter, als ik dit nog eens doe (met andere gegevens) krijg ik dit: Er is een fout opgetreden met foutnummer 1062 : Duplicate entry '0' for key 'PRIMARY'

Ik snapt dat het ID dan niet veranderd wordt en er van elk ID maar 1 mag zijn, maar hoe los ik dit op?
http://dev.mysql.com/doc/(...)-auto-increment.html
pi_105898078
En natuurlijk de input escapen
💍 💍 💍 💍 💍 💍 🍌 ☎
pi_105898153
quote:
10s.gif Op donderdag 22 december 2011 00:16 schreef Pizzalucht het volgende:
En natuurlijk de input escapen
ik gebruik meestal zo'n soort functie daarvoor :).

1
2
3
4
5
<?php
function esc($str){
return 
mysql_real_escape_string($str);
}
?>
Redacted
pi_105900874
quote:
0s.gif Op donderdag 22 december 2011 00:17 schreef cablegunmaster het volgende:

[..]

ik gebruik meestal zo'n soort functie daarvoor :).
[ code verwijderd ]

Ja of PDO. Of een eigen database wrapper. Maakt niet echt uit, als je het maar doet.
💍 💍 💍 💍 💍 💍 🍌 ☎
  donderdag 22 december 2011 @ 08:31:50 #92
267443 Cue_
Cuecumbergirl
pi_105905776
Oke, nieuw probleempje.

Heb een php pagina met daarin verschillende gegevens, opgebouwd met ong 5 blokken als onderstaande:
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
echo "
<a name='Aantallen_te_Matchen_Orders'></a>
<b>Aantallen te Matchen Orders</b>  Status van ".$datumvandaag."  tijdstip ".$tijdnu." <a href='#Top'>Top</a>
</div>
<br>
<table style='text-align: left; width: 644px;' border='1' cellspacing='2' cellpadding='2'>
  <tbody>
    <tr>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>Plangroep<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>Totaal<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153); text-align: center;'>ap1<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap2<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap3<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap4<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap5<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap6<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap7<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap8<br></td>
      <td style='vertical-align: top; background-color: rgb(255, 204, 153);  text-align: center;'>ap9<br></td>
    </tr>
     <tr>
      <td style='vertical-align: top; text-align: center;'>Aantal<br></td>   
    ";
    AantalTeMatchen('lijst');
 echo " </tr> 
  </tbody>
</table>
 <br>
 ";

Nu moet er nieuwe pagina erbij komen die eigenlijk zorgt dat de verschillende blokken omstebeurten getoond worden. Dus eerst de uitkomst van blok 1, daarna blok 2, blok 3 etc.
Zag zoiets wel mbv javascript
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
ar quote=new Array();
  quote[0]='This is quote number one';    /* add as many quotes as you like!*/
  quote[1]='This is quote number two';
  quote[2]='This is quote number three';
  quote[3]='This is quote number four';
  quote[4]='This is quote number five';
  quote[5]='This is quote number six';
  quote[6]='This is quote number seven';
  quote[7]='This is quote number eight';
  quote[8]='This is quote number nine';
  quote[9]='This is quote number ten';

var speed=2000;    /*this is the time in milliseconds adjust to suit*/
var q=0;

function showQuote() {

     document.getElementById("quotes").innerHTML=quote[q];
     q++;
if(q==quote.length) {
     q=0;
  }
}
setInterval('showQuote()',speed);
   
 //]]>
</script>

Maar hoe ik t van mij erin zal moeten verwerken.. ik heb geen idee :N Jullie tips? of andere ideeen?
  FOK!-Schrikkelbaas donderdag 22 december 2011 @ 08:49:41 #93
1972 Swetsenegger
Egocentrische Narcist
pi_105906005
Wat probeer je nu precies te bereiken? Je hebt een pagina waarin je random 1 van de 5 tables toont? Of je wil die 5 tables in willekeurige volgorde parsen?

-edit-
Ow wacht, je wil als de pagina geladen is op een bepaalde positie in je pagina elke keer een nieuw blok tonen zonder de pagina te verversen? Dat gaat niet met PHP, dat moet je clientside doen.
  donderdag 22 december 2011 @ 08:52:22 #94
267443 Cue_
Cuecumbergirl
pi_105906048
Ik wil dat hij 10 sec table 1 laat zien, vervolgens 10 sec table 2 , tot en met table 5 en dan weer begint bij table 1.

edit:yup dat inderdaad. Zat al te zoeken naar het javascript topic, maar kon ik niet vinden (vaag) dus probeerde het hier even.
  FOK!-Schrikkelbaas donderdag 22 december 2011 @ 08:54:45 #95
1972 Swetsenegger
Egocentrische Narcist
pi_105906092
Er was vroeger wel een javascript voor dummies topic.
  FOK!-Schrikkelbaas donderdag 22 december 2011 @ 08:57:02 #96
1972 Swetsenegger
Egocentrische Narcist
  donderdag 22 december 2011 @ 08:59:02 #97
267443 Cue_
Cuecumbergirl
pi_105906175
quote:
Er is al 49 dagen niet in dit topic gepost. Bedenk je of het zinvol is dit topic omhoog te schoppen. Klik hier om tóch te reageren.

Geen wonder dat ik hem niet kon vinden. Tnx O+
pi_105906366
quote:
0s.gif Op donderdag 22 december 2011 08:59 schreef Cue_ het volgende:

[..]

Er is al 49 dagen niet in dit topic gepost. Bedenk je of het zinvol is dit topic omhoog te schoppen. Klik hier om tóch te reageren.

Geen wonder dat ik hem niet kon vinden. Tnx O+
[html, css, js] voor dummies #20 is meer actueler
pi_105940630
quote:
0s.gif Op woensdag 21 december 2011 23:45 schreef MXD het volgende:
Nee toch niet.

Ik heb 1x mijn gegevens ingevoerd en die staan nu in de database. Echter, als ik dit nog eens doe (met andere gegevens) krijg ik dit: Er is een fout opgetreden met foutnummer 1062 : Duplicate entry '0' for key 'PRIMARY'

Ik snapt dat het ID dan niet veranderd wordt en er van elk ID maar 1 mag zijn, maar hoe los ik dit op?
Door het veld ID niet op te nemen in je query. Hoef je er ook zelf geen waarde voor te verzinnen.
pi_105941389
quote:
3s.gif Op woensdag 21 december 2011 08:01 schreef GI het volgende:
Zit hier toevallig een regexp expert die mij een alleen alfanumerieke characters regexp kan vertellen ?
Ik heb nu bijvoorbeeld :
[ code verwijderd ]

om de cijfers uit een postcode te plukken. Maar ik wil nu een vergelijkbare hebben die het huisnummer weglaat uit een adres.

Nou kan ik wel valsspelen en de code die ik heb te gebruiken en die daarna uit het adres te replacen met "" maar das net weer niet netjes genoeg :+
Huisnummer weglaten uit het adres is lastig. Je hebt namelijk ook straten met een nummer in de straatnaam. En je hebt te maken met huisnummers met toevoeging, waarbij die toevoeging uit letters en/of cijfers en/of spaties kan bestaan. :)
pi_105941996
quote:
0s.gif Op donderdag 22 december 2011 23:01 schreef Light het volgende:

[..]

Huisnummer weglaten uit het adres is lastig. Je hebt namelijk ook straten met een nummer in de straatnaam. En je hebt te maken met huisnummers met toevoeging, waarbij die toevoeging uit letters en/of cijfers en/of spaties kan bestaan. :)
Een deel kun je al opvangen door de string na de laatste spatie als huisnummer te beschouwen.
pi_105942397
quote:
0s.gif Op donderdag 22 december 2011 23:09 schreef The_Terminator het volgende:

[..]

Een deel kun je al opvangen door de string na de laatste spatie als huisnummer te beschouwen.
Dus in "Dorpsstraat 5 E" wil je "E" als huisnummer beschouwen?
pi_105942498
quote:
0s.gif Op donderdag 22 december 2011 23:14 schreef Light het volgende:

[..]

Dus in "Dorpsstraat 5 E" wil je "E" als huisnummer beschouwen?
Maak er de laatste numerieke string van dan ;)
pi_105942551
quote:
0s.gif Op donderdag 22 december 2011 23:14 schreef Light het volgende:

[..]

Dus in "Dorpsstraat 5 E" wil je "E" als huisnummer beschouwen?
Daarom zeg ik ook 'een deel', ik zeg niet dat mijn methode perfect is natuurlijk.
pi_105957253
Goed, ik heb deskundige hulp nodig, dat lijkt hier wel snor te zitten :) .

Ik heb namelijk een plugin in Wordpress die nog niet precies doet wat ik wil. Namelijk de "Contact form 7 to database extension". Graag wil ik de uploads die via het normale contact form zijn voltooid, downloadbaar worden in een post of op een pagina aan de voorkant. Echter zit ik hier met een PHP achtige generator die niet doet wat ik wil, of beter gezegd, welke code ik ook maak, ik kom er simpel weg niet uit. Ik zou namelijk erg graag het e-mail adres met de upload ergens in een post willen tonen.

Wat moet ik hier mee als jullie dit zo zien?
pi_105957951
quote:
0s.gif Op vrijdag 23 december 2011 11:57 schreef Apekoek het volgende:
Goed, ik heb deskundige hulp nodig, dat lijkt hier wel snor te zitten :) .

Ik heb namelijk een plugin in Wordpress die nog niet precies doet wat ik wil. Namelijk de "Contact form 7 to database extension". Graag wil ik de uploads die via het normale contact form zijn voltooid, downloadbaar worden in een post of op een pagina aan de voorkant. Echter zit ik hier met een PHP achtige generator die niet doet wat ik wil, of beter gezegd, welke code ik ook maak, ik kom er simpel weg niet uit. Ik zou namelijk erg graag het e-mail adres met de upload ergens in een post willen tonen.

Wat moet ik hier mee als jullie dit zo zien?
[ afbeelding ]
Ik heb er nu zoiets van gemaakt:

1
2
3
4
5
6
7
[cfdb-html form="Test formulier" show="your-name,Upload" limit="10" orderby="Submitted desc" filelinks="link"]

<div class="your-headline-style">${your-name}</div>

<div class="download-link">${Upload}</div>

[/cfdb-html]

Echter zie ik dan alleen de namen van de uploads, geen downloadbare links. :(
  vrijdag 23 december 2011 @ 13:34:26 #107
228072 Crimyclown
Sapper de fap!
pi_105960591
Hoe submit je session values naar een database? Probeer het nu met een contactformulier maar krijg alleen maar errors.
Anonieme tievesclown
pi_105960872
INSERT into database tabel?

Vaag antwoord op een vage vraag. Als je een concreter antwoord wilt dan moet je meer informatie geven. Vooral wat de foutmelding is kan zeer handig zijn.
  vrijdag 23 december 2011 @ 13:57:12 #109
228072 Crimyclown
Sapper de fap!
pi_105961519
1
2
3
<?php
session_start
();
?>

1
2
3
4
5
6
<form action="scripts/hoi.php" method="post"><table border="0">    
<?php $_SESSION['breedte'] = $_POST['breedte']; echo $_SESSION['breedte'] ?>
<?php $_SESSION['hoogte'] = $_POST['hoogte']; echo $_SESSION['hoogte'] ?>
<input type="text" name="naam" value="testnaam" readonly /></td>
<input type="submit" value="Invoeren" id="invoerknop" style="cursor:hand; cursor:pointer;" />
</form>

hoi.php
1
2
3
4
5
6
7
<?php
include("db.inc.php");

$sql="INSERT INTO crimyclowndb (breedte,hoogte,naam)
VALUES('{$_POST['breedte']}','{$_POST['hoogte']}','{$_POST['naam']}');"
;
mysql_query($sql) or die(mysql_error());
?>

foutmelding:
quote:
Array
(
[naam] => testnaam
)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2


[ Bericht 10% gewijzigd door Crimyclown op 23-12-2011 14:18:20 ]
Anonieme tievesclown
pi_105962027
Je geeft de SESSION waardes weer op het beeld en dan verwacht je dat ze ineens in het formulier terug komen? Dan zou je deze eerst aan een formulier object moeten handen.
1<input type=hidden name=hoogte value=10 />
bijvoorbeeld.

Of je moet $_SESSION i.p.v. $_POST in je query gebruiken.


[edit]Echo de $sql eens en kijken eens of je rare dingen ziet die niet mogen.[/edit]
  vrijdag 23 december 2011 @ 14:54:48 #111
228072 Crimyclown
Sapper de fap!
pi_105963603
quote:
0s.gif Op vrijdag 23 december 2011 14:08 schreef Pakspul het volgende:
Je geeft de SESSION waardes weer op het beeld en dan verwacht je dat ze ineens in het formulier terug komen? Dan zou je deze eerst aan een formulier object moeten handen.
[ code verwijderd ]

bijvoorbeeld.

Of je moet $_SESSION i.p.v. $_POST in je query gebruiken.

[edit]Echo de $sql eens en kijken eens of je rare dingen ziet die niet mogen.[/edit]
SESSIONS op alles gezet behalve de naam die op POST. Nu krijg ik geen errors meer, maar hij doet het ook nog niet.
Anonieme tievesclown
  vrijdag 23 december 2011 @ 15:02:50 #112
56176 Catch22-
Ben je Blind?!
pi_105963885
Ga alsjeblieft prepared statements gebruiken. Never, ever, ever, userinput (of post/get info) in je mysql gooien.
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_105963945
quote:
7s.gif Op vrijdag 23 december 2011 14:54 schreef Crimyclown het volgende:

[..]

SESSIONS op alles gezet behalve de naam die op POST. Nu krijg ik geen errors meer, maar hij doet het ook nog niet.
Begrijp je eigenlijk wat je doet? Als je de query gaat debuggen wat zegt je logica dan?
quote:
11s.gif Op vrijdag 23 december 2011 15:02 schreef Catch22- het volgende:
Ga alsjeblieft prepared statements gebruiken. Never, ever, ever, userinput (of post/get info) in je mysql gooien.
Correct, maar laten we het voor niet te moeilijk maken :P
  vrijdag 23 december 2011 @ 15:29:24 #114
228072 Crimyclown
Sapper de fap!
pi_105964829
zoiets?
1
2
3
4
5
6
7
8
9
10
<?php
include("db.inc.php");
echo 
"<pre>";
print_r($_SESSION);

$query "INSERT into crimyclowndb (hoogte, breedte ) "
"VALUES ('$hoogte', '$breedte')";

mysql_query($query) or die('Error, query failed : ' mysql_error());
?>
Anonieme tievesclown
  vrijdag 23 december 2011 @ 15:31:27 #115
56176 Catch22-
Ben je Blind?!
pi_105964902
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  vrijdag 23 december 2011 @ 15:36:38 #116
267443 Cue_
Cuecumbergirl
pi_105965076
quote:
11s.gif Op vrijdag 23 december 2011 15:02 schreef Catch22- het volgende:
Ga alsjeblieft prepared statements gebruiken. Never, ever, ever, userinput (of post/get info) in je mysql gooien.
Mag vast wel in Oracle he :P
hier willen we daar uiteindelijk nog wel naar toe, maar dat is ondertussen al een jaar uitgesteld volgens mij :')
pi_105965993
quote:
5s.gif Op vrijdag 23 december 2011 15:29 schreef Crimyclown het volgende:
zoiets?
[ code verwijderd ]

Je hebt dus absoluut geen idee wat je doet...
  vrijdag 23 december 2011 @ 16:08:27 #118
228072 Crimyclown
Sapper de fap!
pi_105966230
quote:
0s.gif Op vrijdag 23 december 2011 16:02 schreef Pakspul het volgende:

[..]

Je hebt dus absoluut geen idee wat je doet...
Niet bepaalt, zal straks het naslag werk erbij halen.
Anonieme tievesclown
  vrijdag 23 december 2011 @ 16:13:42 #119
75592 GlowMouse
l'état, c'est moi
pi_105966423
*bepaald, *naslagwerk
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_105972465
Iemand hier die me hier mee kan helpen?

quote:
0s.gif Op vrijdag 23 december 2011 11:57 schreef Apekoek het volgende:
Goed, ik heb deskundige hulp nodig, dat lijkt hier wel snor te zitten :) .

Ik heb namelijk een plugin in Wordpress die nog niet precies doet wat ik wil. Namelijk de "Contact form 7 to database extension". Graag wil ik de uploads die via het normale contact form zijn voltooid, downloadbaar worden in een post of op een pagina aan de voorkant. Echter zit ik hier met een PHP achtige generator die niet doet wat ik wil, of beter gezegd, welke code ik ook maak, ik kom er simpel weg niet uit. Ik zou namelijk erg graag het e-mail adres met de upload ergens in een post willen tonen.

Wat moet ik hier mee als jullie dit zo zien?
[ afbeelding ]
pi_105987127
quote:
0s.gif Op vrijdag 23 december 2011 15:04 schreef Pakspul het volgende:

Correct, maar laten we het voor niet te moeilijk maken :P
Alsof PDO lastiger is dan standaard SQL
pi_105987249
quote:
0s.gif Op vrijdag 23 december 2011 15:36 schreef Cue_ het volgende:

[..]

Mag vast wel in Oracle he :P
hier willen we daar uiteindelijk nog wel naar toe, maar dat is ondertussen al een jaar uitgesteld volgens mij :')
  zondag 25 december 2011 @ 18:18:15 #123
111382 Ofyles2
Bestemming: onbekend
pi_106035183
quote:
0s.gif Op vrijdag 23 december 2011 23:55 schreef Light het volgende:

[..]

Alsof PDO lastiger is dan standaard SQL
Daar ben ik sinds kort op overgestapt. Dit omdat ik MySQL direct gebruiken onpraktischer begon te vinden en ik MySQLi ook zo'n onding vind.
  maandag 26 december 2011 @ 21:12:07 #124
3671 glasbak
Sjeeskees ©®
pi_106067090
Ik loop weer eens te prutsen.

Ik heb (als voorbeeld) in mijn database, een tabel met 5 users, nummer 1,2,3,4 en 5 (hoe logisch).

Ik heb in een andere tabel vragen staan, met in een van de velden de nummers van users die die vraag al gezien hebben. Daar kan dus bijvoorbeeld instaan, 2,4,5

Hoe kan ik nu het beste een vraag selecteren die bijvoorbeeld user nummer 3 nog niet gehad heeft?

WHERE NOT IN (3) werkt niet, of ik moet iets verkeerds doen.

Of moet ik de manier van opslaan anders aanpakken?
  maandag 26 december 2011 @ 21:43:26 #125
75592 GlowMouse
l'état, c'est moi
pi_106068254
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106080054
om maar op 1 plaats te wijzigen heb ik nu een menu gemaakt uit een database

1
2
3
4
5
<?php
$result 
mysql_query ("SELECT * FROM hoofdmenu ORDER BY H_id ASC");
while(
$row mysql_fetch_array($result)){              
echo 
"<a href = 'index_new.php?func=".$row['H_name']."' class='".$row['H_name']." ' >".$row['H_name']."</a>";
?>

maar hoe kan ik hier nu iets active maken?
ik gebruik functions voor elke pagina aan te roepen (index.php?func=home of func=pagina2 etc

zelf dat ik iets aan
1
2
3
4
5
6
7
8
9
10
<?php
$result 
mysql_query ("SELECT * FROM hoofdmenu ORDER BY H_id ASC");
while(
$row mysql_fetch_array($result)){

if (
$row['H_actief'] == "1") {
echo 
"<a href = 'index_new.php?func=".$row['H_name']."' class='".$row['H_name']." actief"." ' >".$row['H_name']."</a>";
}
else{
echo 
"<a href = 'index_new.php?func=".$row['H_name']."' class='".$row['H_name']." ' >".$row['H_name']."</a>";
?>

maar ben er nog niet helemaal aan uit hoe die 1 en 0 in de database kan updaten

iemand een idee hoe zoiets aan te pakken
of moet het helemaal anders opgezet worden?
  dinsdag 27 december 2011 @ 10:53:37 #127
91039 mstx
2x1/2 = 1/2 x 1/2
pi_106080266
quote:
0s.gif Op dinsdag 27 december 2011 10:43 schreef MrNiles het volgende:
om maar op 1 plaats te wijzigen heb ik nu een menu gemaakt uit een database
[ code verwijderd ]

maar hoe kan ik hier nu iets active maken?
ik gebruik functions voor elke pagina aan te roepen (index.php?func=home of func=pagina2 etc

zelf dat ik iets aan
[ code verwijderd ]

maar ben er nog niet helemaal aan uit hoe die 1 en 0 in de database kan updaten

iemand een idee hoe zoiets aan te pakken
of moet het helemaal anders opgezet worden?
Je bedoelt dat het item met de pagina waar je op bent actief is?
1
2
3
<?php
if ($row['H_name'] == $_GET['func']) {
?>
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_106080666
quote:
0s.gif Op dinsdag 27 december 2011 10:53 schreef mstx het volgende:

[..]

Je bedoelt dat het item met de pagina waar je op bent actief is?
[ code verwijderd ]

maar het wordt eigenlijk iets ingewikkelder :p
ik heb een "TOP"menu (een fixed balk bovenin de pagina) met enkele mogelijkheden
elk topmenu-item krijgt links op de pagina een submenu.
Ik had bedacht om ook daarvoor die func mee te geven..maar dan ben ik dus mijn actief in het topmenu kwijt

is dit iets voor multidimensional arrays?
ik wil geen dropdown menu maken maar een topmenu-balk die een submenu opent op het scherm

[ Bericht 4% gewijzigd door MrNiles op 27-12-2011 15:27:52 ]
pi_106209020
Even geleden dat ik wat met PHP heb gedaan, en ik moet nu even snel iets fixen voor een trainingskamp. Het lukt mij alleen niet meer om meerdere records tegelijk in te voeren. Het was een simpel iets, maar ik kom er zo snel ff niet meer op.

Ik krijg een aantal resultaten uit mijn while loop en deze worden in een tabelletje gegooid (niet erg netjes nu, maar dat maakt hiervoor even niet uit).

1
2
3
4
5
6
7
8
9
10
<tr><td><?php echo $row[Naam]; ?><input name="Naam[]" value="<?php echo $row[Naam]; ?>" type="hidden"></td> <td><input name="Punten[]" size="2" value="1"></td> <td><input name="Onderdeel" value="<?php echo $Onderdeel?>" type="hidden"><input name="ID" value="<?php echo $row[ID]; ?>" type="hidden"></td></tr>
<?php ?>
</table>
<input type="submit" name="Opslaan" value="Opslaan" /></form><br />

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' AND (!empty($_POST['Opslaan']))) {

$sql = ("INSERT INTO scoretabel VALUES('$Naam', '$Onderdeel', '$Punten')");
mysql_query($sql) or die(mysql_error());
Zou iemand dit even snel kunnen (helpen met) oplossen?
pi_106210929
quote:
0s.gif Op vrijdag 30 december 2011 16:40 schreef Feyenoordlife het volgende:
Even geleden dat ik wat met PHP heb gedaan, en ik moet nu even snel iets fixen voor een trainingskamp. Het lukt mij alleen niet meer om meerdere records tegelijk in te voeren. Het was een simpel iets, maar ik kom er zo snel ff niet meer op.

Ik krijg een aantal resultaten uit mijn while loop en deze worden in een tabelletje gegooid (niet erg netjes nu, maar dat maakt hiervoor even niet uit).
[ code verwijderd ]

Zou iemand dit even snel kunnen (helpen met) oplossen?
Je wilt alle gegevens uit de post array halen voor het element: "Naam[]"?

Zo ja;
1
2
3
4
5
<?php
foreach($_POST['naam'] as $k => $v) {
//hierin je code om het naar de db te schrijven. variable $v bevat de waarde van de input. Niet vergeten te escapen.
}
?>
pi_106212566
quote:
0s.gif Op vrijdag 30 december 2011 17:27 schreef The_Terminator het volgende:

[..]

Je wilt alle gegevens uit de post array halen voor het element: "Naam[]"?

Zo ja;
[ code verwijderd ]

Ongeveer ja, alleen moeten de punten er ook nog bij. In ieder geval bedankt al voor dit gedeelte.
pi_106221064
quote:
0s.gif Op vrijdag 30 december 2011 18:15 schreef Feyenoordlife het volgende:

[..]

Ongeveer ja, alleen moeten de punten er ook nog bij. In ieder geval bedankt al voor dit gedeelte.
Zet dit in de loop om de punten array uit te lezen:

1
2
3
<?php
$punten 
$_POST['Punten'][$k];
?>
pi_106221424
quote:
0s.gif Op vrijdag 30 december 2011 21:39 schreef The_Terminator het volgende:

[..]

Zet dit in de loop om de punten array uit te lezen:
[ code verwijderd ]

Yes, dat was hem ja. Dankje!
pi_106297979
Nog een vraagje: Waarom sorteert hij nu niet gewoon netjes op Score van hoog naar laag?

1
2
3
4
5
6
7
8
9
10
11
<?php
foreach($_POST['Naam'] as $k => $v) {

    
$sql =  ("SELECT Naam, SUM(Punten) as Punten_totaal FROM scoretabel WHERE Naam = '".$v."' ORDER BY Punten_totaal DESC ");
    
    
$result mysql_query($sql) or die(mysql_error());
    while (
$row mysql_fetch_array($result)){
        echo 
"$row[Punten_totaal] $row[Naam] <br>";

    }
?>
  maandag 2 januari 2012 @ 01:05:16 #135
75592 GlowMouse
l'état, c'est moi
pi_106298112
Van regel 4 t/m 9 doet hij dat wel, maar voor elke nieuwe $k en $v begint een nieuwe sortering. Let bij echo $row['Naam'] op voor XSS aanvallen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106298399
quote:
0s.gif Op maandag 2 januari 2012 01:05 schreef GlowMouse het volgende:
Van regel 4 t/m 9 doet hij dat wel, maar voor elke nieuwe $k en $v begint een nieuwe sortering. Let bij echo $row['Naam'] op voor XSS aanvallen.
Bedankt, ga ik ff naar kijken. XSS aanvallen hoef ik voor dit projectje niet naar te kijken, wordt alleen door mij gebruikt draait op localhost.
  maandag 2 januari 2012 @ 02:35:09 #137
82546 Apekoek
terrorhenk
pi_106300397
Een simpele vraag voor jullie kenners, voor mij echter niet, wie helpt mij uit de brand?

Ik wil downloadbare links tonen op mijn website, dit zijn bestanden die vanuit een upload map moeten komen. Echter krijg ik nu de meldong "forbidden" en de bestanden zijn dus nie letterlijk downloadbaar via de directe link. In dat zelfde mapje zit een .htaccess file waar "deny for all" in staat (dit bestand van contact forms 7 keert zelfs na verwijdering terug).

Hoe de links/uploads downloadbaar te maken zonder de "forbidden" pagina?
  maandag 2 januari 2012 @ 10:40:14 #138
84244 Scorpie
Abject en infaam!
pi_106303672
quote:
1s.gif Op maandag 2 januari 2012 02:35 schreef Apekoek het volgende:
Een simpele vraag voor jullie kenners, voor mij echter niet, wie helpt mij uit de brand?

Ik wil downloadbare links tonen op mijn website, dit zijn bestanden die vanuit een upload map moeten komen. Echter krijg ik nu de meldong "forbidden" en de bestanden zijn dus nie letterlijk downloadbaar via de directe link. In dat zelfde mapje zit een .htaccess file waar "deny for all" in staat (dit bestand van contact forms 7 keert zelfs na verwijdering terug).

Hoe de links/uploads downloadbaar te maken zonder de "forbidden" pagina?
Je haalt nogal wat dingen door elkaar nu.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_106304474
quote:
1s.gif Op maandag 2 januari 2012 02:35 schreef Apekoek het volgende:
Een simpele vraag voor jullie kenners, voor mij echter niet, wie helpt mij uit de brand?

Ik wil downloadbare links tonen op mijn website, dit zijn bestanden die vanuit een upload map moeten komen. Echter krijg ik nu de meldong "forbidden" en de bestanden zijn dus nie letterlijk downloadbaar via de directe link. In dat zelfde mapje zit een .htaccess file waar "deny for all" in staat (dit bestand van contact forms 7 keert zelfs na verwijdering terug).

Hoe de links/uploads downloadbaar te maken zonder de "forbidden" pagina?
Als dat bestand steeds terugkomt gaat het nooit lukken natuurlijk. Wat is 'contact forms 7' precies?

Je zou een soort van proxy script kunnen schrijven dat het bestand aanbiedt via de readfile functie, echter is het misschien beter om gewoon de oorzaak te achterhalen waarom dat .htaccess bestand steeds terugkeert na het verwijderen.
  maandag 2 januari 2012 @ 11:32:29 #140
82546 Apekoek
terrorhenk
pi_106304786
quote:
0s.gif Op maandag 2 januari 2012 11:19 schreef The_Terminator het volgende:

[..]

Als dat bestand steeds terugkomt gaat het nooit lukken natuurlijk. Wat is 'contact forms 7' precies?

Je zou een soort van proxy script kunnen schrijven dat het bestand aanbiedt via de readfile functie, echter is het misschien beter om gewoon de oorzaak te achterhalen waarom dat .htaccess bestand steeds terugkeert na het verwijderen.
Zorgt de .htaccess met "Deny for all" voor de forbidden pagina wanneer ik uit dezelfde map een bestand downloadbaar wil maken?

Het gaat trouwens om een Wordpress plugin voor formulieren (http://contactform7.com/), de bestanden die worden upgeload via het formulier wil ik niet alleen per mail krijgen maar ook op mijn server krijgen (deze bestanden wil ik dan downloadbaar maken op een andere sectie op mijn website).

Hoe op te lossen? :)
pi_106305006
quote:
0s.gif Op maandag 2 januari 2012 11:32 schreef Apekoek het volgende:

[..]

Zorgt de .htaccess met "Deny for all" voor de forbidden pagina wanneer ik uit dezelfde map een bestand downloadbaar wil maken?

Het gaat trouwens om een Wordpress plugin voor formulieren (http://contactform7.com/), de bestanden die worden upgeload via het formulier wil ik niet alleen per mail krijgen maar ook op mijn server krijgen (deze bestanden wil ik dan downloadbaar maken op een andere sectie op mijn website).

Hoe op te lossen? :)
Een .htaccess met daarin de string 'deny for all' zorgt er inderdaad voor dat de directory niet leesbaar is door de webserver. Je zou het op kunnen lossen door een lege .htaccess in de dir te plaatsten en die te chmodden naar bijvoorbeeld 444, dan kan de webserver het bestand niet meer aanpassen, een nette oplossing is het echter niet.

Zoals ik in mijn vorige bericht al aangaf zou je naar de oorzaak kunnen zoeken. Waarschijnlijk staat ergens in de broncode van de plugin een lijn code dat ervoor zorgt dat de .htaccess wordt weggeschreven, als een soort van beveiliging...
  maandag 2 januari 2012 @ 11:46:47 #142
82546 Apekoek
terrorhenk
pi_106305161
quote:
0s.gif Op maandag 2 januari 2012 11:41 schreef The_Terminator het volgende:

[..]

Een .htaccess met daarin de string 'deny for all' zorgt er inderdaad voor dat de directory niet leesbaar is door de webserver. Je zou het op kunnen lossen door een lege .htaccess in de dir te plaatsten en die te chmodden naar bijvoorbeeld 444, dan kan de webserver het bestand niet meer aanpassen, een nette oplossing is het echter niet.

Zoals ik in mijn vorige bericht al aangaf zou je naar de oorzaak kunnen zoeken. Waarschijnlijk staat ergens in de broncode van de plugin een lijn code dat ervoor zorgt dat de .htaccess wordt weggeschreven, als een soort van beveiliging...
Klopt het dient als een beveiliging, dus ik ben ook niet helemaal zeker van of ik hier goed aan doe. Correctie, ik bedoelde deny from all ipv for, maar het idee zal wel hetzelfde zijn.
  maandag 2 januari 2012 @ 11:48:57 #143
82546 Apekoek
terrorhenk
pi_106305230
quote:
0s.gif Op maandag 2 januari 2012 11:41 schreef The_Terminator het volgende:

[..]

Een .htaccess met daarin de string 'deny for all' zorgt er inderdaad voor dat de directory niet leesbaar is door de webserver. Je zou het op kunnen lossen door een lege .htaccess in de dir te plaatsten en die te chmodden naar bijvoorbeeld 444, dan kan de webserver het bestand niet meer aanpassen, een nette oplossing is het echter niet.

Zoals ik in mijn vorige bericht al aangaf zou je naar de oorzaak kunnen zoeken. Waarschijnlijk staat ergens in de broncode van de plugin een lijn code dat ervoor zorgt dat de .htaccess wordt weggeschreven, als een soort van beveiliging...
Helaas, zelfs een lege .htaccess file op een chmod van 444 zorgt voor een 403 Forbidden pagina (wanneer ik een upgeload bestand wil benaderen vanuit mijn website).
  maandag 2 januari 2012 @ 11:51:32 #144
75592 GlowMouse
l'état, c'est moi
pi_106305294
Zet er Options +Indexes in.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 2 januari 2012 @ 12:46:54 #145
82546 Apekoek
terrorhenk
pi_106307185
quote:
0s.gif Op maandag 2 januari 2012 11:51 schreef GlowMouse het volgende:
Zet er Options +Indexes in.
Nog steeds niet het gewenste resultaat en al heel wat geprobeerd, ik denk dat ik maar eens voor een betaalde plugin met de gewenste functies ga (raden jullie dat ook aan in het geval van een n00b zoals ik?).
  woensdag 4 januari 2012 @ 14:49:34 #146
242879 Onnoman
The On And Only
pi_106396209
Goedemiddag,

ik probeer 2 google web translators toe te passen op mijn website, die synchroon werken.
Dus gewoon eigenlijk een duplicaat.

dit div element plaatst de google dropdown, maar als je deze elders ook wilt toepassen krijg ik deze niet in zicht.

<div id="google_translate_element"></div>

(zie http://translate.google.com/translate_tools )
Als je de wereld wilt begrijpen, moet je denken zoals ik.
(Onnoman)
si vi pacem para bellum
himmelhoch jauchzend
  woensdag 4 januari 2012 @ 16:12:02 #147
111382 Ofyles2
Bestemming: onbekend
pi_106400216
quote:
0s.gif Op woensdag 4 januari 2012 14:49 schreef Onnoman het volgende:
Goedemiddag,

ik probeer 2 google web translators toe te passen op mijn website, die synchroon werken.
Dus gewoon eigenlijk een duplicaat.

dit div element plaatst de google dropdown, maar als je deze elders ook wilt toepassen krijg ik deze niet in zicht.

<div id="google_translate_element"></div>

(zie http://translate.google.com/translate_tools )
Div-id's kun je maar één keer in een pagina gebruiken, div-classes onbeperkt.
pi_106422464
Hoi allemaal :)
Ik ben bezig met een website voor mijn vriend, omdat ik graag meer wil leren qua websites bouwen en omdat ik het gewoon leuk vind.

Ik heb een PHP mail form script van mijn leraar gehad, tijdens het oefenen ging het super maar ik ben nu even helemaal de draad kwijt, en tsja, het is vakantie.
Ik heb het script werkende gekregen maar ik snap niet waar ik moet opgeven naar welk adres het bericht verzonden moet worden..
Ik dacht bij 'mail' maar nu krijg ik te zien dat het bericht niet verzonden kan worden.
Wat gaat er fout? :s

Dit is de pagina; http://www.lucsenden.nl/contact.php
pi_106422518
Je script?
pi_106422758
quote:
Da's niet echt nuttig op die manier, zo kunnen we de PHP code niet lezen.
Beter plaats je de code hier, tussen [php] en [/php]. Dan verschijnt het met regelnummers en allemaal leuke kleurtjes enzo, helpt vaak ook :) Verder is het handig als je probeert om je code te beperken tot de relevant delen.
pi_106422770
Ah, ja. Ik heb zojuist geleerd dat je dat niet kan zien via de source.
Hier mijn volledige code;

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
111
112
113
114
115
116
117
118
119
120
121
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD><TITLE>www.lucsenden.nl - Voor al uw videoproducties.</TITLE>

<META content="text/html; charset=utf-8" http-equiv=Content-Type>

<META name=robots content=index,follow>

<META name=keywords content=" ">

<META name=description content=" ">

<META content=0 http-equiv=Expires><LINK rel=stylesheet type=text/css href="style.css" media=screen>

<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<!--[if IE]>
<link type="text/css" href="css/ie.css" rel="stylesheet" media="screen" />
<![endif]-->
<!--[if IE 6]>
<script type="text/javascript" src="js/pngfix.js"></script>
<script type="text/javascript"> 
DD_belatedPNG.fix('img,#logo');
</script> 
<![endif]-->

<LINK rel=stylesheet type=text/css href="css/ie.css" media=screen>

</HEAD>

<BODY>

<DIV class=top-bar-wrap>&nbsp;</DIV>

<DIV class=main-bg>

<DIV id=sub-page class=main-wrap>

<DIV id=header class=mod-con>

<H1 id=logo><A href="/#"><IMG alt="" src="/image/luc.png"></A></H1>

<UL id=main-menu>

<LI><A href="/index.html"><STRONG>Home</STRONG></A><A class=cur href="/about.html"><STRONG>Over mij</STRONG></A> </LI>

<LI><A href="/diensten.html"><STRONG>Diensten</STRONG></A> </LI>

<LI><A href="/portfolio.html"><STRONG>Portfolio</STRONG></A> </LI>

<LI><A href="/referenties.html"><STRONG>Referenties</STRONG></A> </LI>

<LI><A href="/contact.html"><STRONG>Contact</STRONG></A> </LI></UL></DIV>

<DIV id=main class=mod-con>

<DIV class="container clearfix">

<DIV style="WIDTH: 861px;HEIGHT: 1006px" id=about-page class=main-con>

<DIV class=title-nav>

<H2>Contact</H2></DIV>

<DIV class=content>

<P>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam et risus non arcu porttitor feugi at in at neque. In hac habitasse platea dictumst. Proin pretium neque at turpis fermentum de aliquet. Ut risus nisi, scelerisque in convallis et, volutpat malesuada elit. Ut nulla libero, condi entum eget scelerisque eget, blandit sit amet metus. Suspendisse potenti. Nulla luctus temus augue dictum cursus. Curabitur non risus dui. In sit amet tellus in lacus fringilla condimentuma t sit amet libero. Fusce purus ligula, hendrerit ut vulputate eget, vestibulum non diam. Vestib ulum facilisis, leo id volutpat vestibulum, eros ligula ornare urna, pellentesque laoreet magna purus ac metus. Nulla facilisi.</P>
<?php

echo '';

if(isset(
$_POST['submit'])) {

    
$subject $_POST['naam'].' stuurde een mail via PHP!';
    
$email $_POST['xmemorylane@hotmail.com'];
    
$bericht wordwrap($_POST['bericht'], 70);
    
    
$versturen_gelukt mail($email$subject$bericht);
    
    if(
$versturen_gelukt) {
        echo 
'        <p>De email is verstuurd! <a href="'.$_SERVER['PHP_SELF'].'">Nog een mail sturen</a>.</p>'."\r\n";
    } else {
        echo 
'        <p>Er is iets mis gegaan, <a href="'.$_SERVER['PHP_SELF'].'">probeer het opnieuw</a>.</p>'."\r\n";
    }

} else {

    echo 
'
    <form action="'
.$_SERVER['PHP_SELF'].'" method="POST" type="text/plain">

        <label for="name">Naam</label>
            <input type="naam" name="naam" id="naam" />
            
        <label for="email">Email</label>
            <input type="email" name="email" id="email" />
            
        <label for="bericht">Bericht</label>
            <textarea name="bericht" id="bericht"></textarea>
            
        <label for="submit"></label>
            <input type="submit" name="submit" id="submit" value="Stuur bericht!" />
            
    </form>
    '
;
}

echo 
' ';

?>
</DIV></DIV></DIV></DIV></DIV></DIV>

<DIV class=siteintro-wrap>&nbsp;</DIV>
<DIV class=footer-wrap>
    <DIV id=footer class=mod-con>
    <DIV class=copyright>&#169 2012 Copyright Lucsenden.nl. All Rights Reserved.
    </DIV>
        <DIV class=hovergallery>
        <a href="http://facebook.com/lucsenden"><img src="http://i44.tinypic.com/10p9g5i.png" /></a>
        <a href="http://youtube.com/luckske112"><img src="http://i44.tinypic.com/34rwqdv.png" /></a>
        <a href="http://twitter.com/lucsenden"><img src="http://i42.tinypic.com/xfst8g.png" /></a>
        </DIV>
    </DIV></DIV></BODY></html>


[ Bericht 21% gewijzigd door Vanillax op 05-01-2012 00:35:19 ]
pi_106422792
Diepe zucht. Ik kan niet quoten, kan geen tekst in een area zetten, helemaal niks. Wordt er gek van.
pi_106422814
quote:
0s.gif Op donderdag 5 januari 2012 00:25 schreef Vanillax het volgende:
Diepe zucht. Ik kan niet quoten, kan geen tekst in een area zetten, helemaal niks. Wordt er gek van.
Dan moet je je adblocker uitzetten.
pi_106422855
Super. Dankje! :P
  donderdag 5 januari 2012 @ 00:28:05 #155
75592 GlowMouse
l'état, c'est moi
pi_106422875
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106423065
quote:
Ik had die pagina toevallig net gevonden, ik snap het alleen niet want ze hebben het daar over mails versturen vanuit een script en niet vanuit een form. Ik weet dat mijn script goed is (tenminste, dat mag ik toch hopen als de hele klas het al gebruikt heeft) alleen ik weet niet hoe ik hem werkende krijg..

Als ik nu alles invul en op zenden klik komt er 'Er is iets mis gegaan, probeer het opnieuw'.
pi_106423130
quote:
0s.gif Op donderdag 5 januari 2012 00:24 schreef Vanillax het volgende:
Ah, ja. Ik heb zojuist geleerd dat je dat niet kan zien via de source.
Hier mijn volledige code;
[ code verwijderd ]

Op regel 74 wordt $_POST uitgelezen voor een e-mailadres. Het adres staat helemaal niet in $_POST, en al zeker niet met de key die je daar uitleest.
pi_106423196
quote:
0s.gif Op donderdag 5 januari 2012 00:33 schreef Vanillax het volgende:

[..]

Ik had die pagina toevallig net gevonden, ik snap het alleen niet want ze hebben het daar over mails versturen vanuit een script en niet vanuit een form. Ik weet dat mijn script goed is (tenminste, dat mag ik toch hopen als de hele klas het al gebruikt heeft) alleen ik weet niet hoe ik hem werkende krijg..

Als ik nu alles invul en op zenden klik komt er 'Er is iets mis gegaan, probeer het opnieuw'.
Je script is helemaal niet goed. Ga je gewoon eens verdiepen in wat je aan het doen bent, in plaats van (fout) het werk van je klasgenoten te kopieren en dan gelijk hierheen rennen als het niet werkt. Zo leer je nooit wat.
pi_106423235
quote:
13s.gif Op donderdag 5 januari 2012 00:37 schreef KomtTijd... het volgende:

[..]

Je script is helemaal niet goed. Ga je gewoon eens verdiepen in wat je aan het doen bent, in plaats van (fout) het werk van je klasgenoten te kopieren en dan gelijk hierheen rennen als het niet werkt. Zo leer je nooit wat.
Fout werk van mijn klasgenoten?
Het is een bestand dat we gekregen hebben van de leraar om mee te oefenen en om van te leren.
Ik ben er al de hele dag mee bezig, heb vanalles gelezen en geprobeerd dus ga nu alsjeblieft niet beginnen over 'gelijk hierheen rennen als het niet werkt'.
Bedankt voor je geweldige hulp.
pi_106423262
Post eens het originele bestand van je leraar dan?
pi_106423334
Dit is zijn volledige bestand;

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
<?php

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    
    <title>Email formulier</title>
    <link href="/style/style_normal.css" rel="Stylesheet" type="text/css" media="all" />
</head>
<body>
    
    <div id="wrapper">
'
;

if(isset(
$_POST['submit'])) {

    
$subject $_POST['naam'].' stuurde een mail via PHP!';
    
$email $_POST['email'];
    
$bericht wordwrap($_POST['bericht'], 70);
    
    
$versturen_gelukt mail($email$subject$bericht);
    
    if(
$versturen_gelukt) {
        echo 
'        <p>De email is verstuurd! <a href="'.$_SERVER['PHP_SELF'].'">Nog een mail sturen</a>.</p>'."\r\n";
    } else {
        echo 
'        <p>Er is iets mis gegaan, <a href="'.$_SERVER['PHP_SELF'].'">probeer het opnieuw</a>.</p>'."\r\n";
    }

} else {

    echo 
'
    <form action="'
.$_SERVER['PHP_SELF'].'" method="POST" type="text/plain">

        <label for="name">Naam</label>
            <input type="naam" name="naam" id="naam" />
            
        <label for="email">Email</label>
            <input type="email" name="email" id="email" />
            
        <label for="bericht">Bericht</label>
            <textarea name="bericht" id="bericht"></textarea>
            
        <label for="submit"></label>
            <input type="submit" name="submit" id="submit" value="Stuur bericht!" />
            
    </form>
    '
;
}

echo 
'
    </div>

</body>
</html>
'
;

?>
pi_106423559
Ok, en wat heb je allemaal aangepast?

Regel 19 bijvoorbeeld. Waarom heb je daar je email ingevuld?
pi_106423566
Uit jouw versie:
1
2
3
4
5
6
7
8
9
<?php
if(isset($_POST['submit'])) {

    
$subject $_POST['naam'].' stuurde een mail via PHP!';
    
$email $_POST['xmemorylane@hotmail.com'];
    
$bericht wordwrap($_POST['bericht'], 70);
    
    
$versturen_gelukt mail($email$subject$bericht);
?>

Uit de versie van je docent:
1
2
3
4
5
6
7
8
9
<?php
if(isset($_POST['submit'])) {

    
$subject $_POST['naam'].' stuurde een mail via PHP!';
    
$email $_POST['email'];
    
$bericht wordwrap($_POST['bericht'], 70);
    
    
$versturen_gelukt mail($email$subject$bericht);
?>

Zoek de verschillen :)
  donderdag 5 januari 2012 @ 00:47:34 #164
75592 GlowMouse
l'état, c'est moi
pi_106423573
quote:
0s.gif Op donderdag 5 januari 2012 00:33 schreef Vanillax het volgende:

[..]

Ik had die pagina toevallig net gevonden, ik snap het alleen niet want ze hebben het daar over mails versturen vanuit een script en niet vanuit een form. Ik weet dat mijn script goed is (tenminste, dat mag ik toch hopen als de hele klas het al gebruikt heeft) alleen ik weet niet hoe ik hem werkende krijg..

Als ik nu alles invul en op zenden klik komt er 'Er is iets mis gegaan, probeer het opnieuw'.
Ergens in jouw code staat mail(...). Uit http://nl3.php.net/manual/en/function.mail.php haal je dat de eerste parameter het e-mailadres is waar de e-mail naartoe wordt gestuurd. Daar vul jij $email in. Kijk eens welke waarde $email heeft.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106423660
quote:
0s.gif Op donderdag 5 januari 2012 00:47 schreef Tegan het volgende:
Ok, en wat heb je allemaal aangepast?

Regel 19 bijvoorbeeld. Waarom heb je daar je email ingevuld?
quote:
0s.gif Op donderdag 5 januari 2012 00:35 schreef Light het volgende:

[..]

Op regel 74 wordt $_POST uitgelezen voor een e-mailadres. Het adres staat helemaal niet in $_POST, en al zeker niet met de key die je daar uitleest.
pi_106423820
Ah, ik vulde daar mijn email in omdat ik dat ergens op google had gelezen, maar dat is dus niet de bedoeling.

Alleen begrijp ik glowmouse niet helemaal..
Ik vul bij de waarde die mijn email adres moet zijn $email in?
Maar dat is dus niet goed?
Over welke regel heb jij het daar glowmouse?

//Volgensmij komt er rond deze tijd echt niets zinnigs uit me, bedankt voor de hulp alvast en ik spreek jullie hopelijk morgen weer :)
pi_106424363
Dat script is gemaakt om een email te sturen naar diegene die je invult bij 'email' in het formulier dus :P.

Denk niet dat het jou zelfstandig gaat lukken om hem aan te passen naar je eigen wensen. Een script dat een email naar een vast emailadres stuurt.
  donderdag 5 januari 2012 @ 09:40:42 #168
25889 Sitethief
Fulltime Flapdrol
pi_106429173
@Vanillax

Even een korte uitleg
1
2
3
4
5
6
7
8
9
10
11
12
$variable  //dit is een variable
//in een variable kun je van alles stoppen
$variable = 'lala'  //nu zit er lala in $variable
echo $variable //nu verschijnt er de inhoud van $variable op het scherm
$variable = 'lulu'  //nu zit er lulu in $variable

//er bestaan ook arrays, dat is een soort lijst met keys en values
$test = array();  //hier maak je een array mee aan die leeg is
$test['lala'] = 'haha'; //hiermee maak je een array aan met een key die lala heet en een waarde die haha heet

//een speciaal type array is bijvoorbeeld $_POST
$_POST['email'] //hier staat de waarde van het veld uit je formulier met de naam 'email' . Het ['email'] achter $_POST is dus niet de plek waar jij je eigen mailadres moet invullen. Dat doe je in het veld zelf.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 5 januari 2012 @ 11:05:17 #169
137776 boem-dikkie
Jedi Mind Baby!
pi_106431264
Dat script van die leraar trouwens. Je hele HTML echo'en. :')
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 5 januari 2012 @ 11:08:02 #170
75592 GlowMouse
l'état, c'est moi
pi_106431369
quote:
9s.gif Op donderdag 5 januari 2012 11:05 schreef boem-dikkie het volgende:
Dat script van die leraar trouwens. Je hele HTML echo'enSpammers vrij spel geven. :')
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 5 januari 2012 @ 12:01:23 #171
25889 Sitethief
Fulltime Flapdrol
pi_106433105
Technisch gezien echo'en de meeste template parsers ook ;) .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_106433144
quote:
0s.gif Op donderdag 5 januari 2012 12:01 schreef Sitethief het volgende:
Technisch gezien echo'en de meeste template parsers ook ;) .
Template parsers júíst niet, over het algemeen.
  donderdag 5 januari 2012 @ 12:10:05 #173
84244 Scorpie
Abject en infaam!
pi_106433469
Dat hele script :')
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_106434373
quote:
9s.gif Op donderdag 5 januari 2012 11:05 schreef boem-dikkie het volgende:
Dat script van die leraar trouwens. Je hele HTML echo'en. :')
Erg slordig idd. Waarom makkelijk doen als het moeilijk kan :')

@Vanillax: laat je leraar het volgende even zien, die heeft blijkbaar nog veel te leren op PHP gebied...

1
2
3
4
5
6
7
8
<html>
<head>
<title>bla</title>
</head>
<body>
<center><?php echo str_repeat('bla '1000); ?></center>
</body>
</html>


[ Bericht 2% gewijzigd door The_Terminator op 05-01-2012 13:02:22 ]
  donderdag 5 januari 2012 @ 12:45:36 #175
75592 GlowMouse
l'état, c'est moi
pi_106434601
quote:
7s.gif Op donderdag 5 januari 2012 12:38 schreef The_Terminator het volgende:

[..]

Erg slordig idd. Waarom makkelijk doen als het moeilijk kan :')

@Vanillax: laat je leraar het volgende even zien, die heeft blijkbaar nog veel te leren op PHP gebied...
[ code verwijderd ]

geen echo
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106434787
quote:
16s.gif Op donderdag 5 januari 2012 12:45 schreef GlowMouse het volgende:

[..]

geen echo
of = teken i.c.m. shorttags. :P
pi_106435272
quote:
16s.gif Op donderdag 5 januari 2012 12:45 schreef GlowMouse het volgende:

[..]

geen echo
Oeps :') Toegevoegd :@
pi_106437581
Goedemiddag,

Ik heb het volgende probleem: Ik heb een contact pagina op mijn website gezet in html, en het mail script in PHP. Geen probleem, het word gewoon verzonden en ik ontvang ook een mailtje in de mailbox. Echter, de ingevulde tekstvelden worden niet meegezonden, waardoor ik een witte mail te zien krijg. Wat doet ik fout?

Oja, vroeger nooit problemen gehad met script, maar het trad op na de verhuizing van de bestanden.
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
  donderdag 5 januari 2012 @ 14:11:37 #179
75592 GlowMouse
l'état, c'est moi
pi_106437801
Dat is raar, denk ook niet dat er zo wat over te zeggen valt. Je kunt de bron van de e-mail eens goed bekijken. Let ook op mail header injection.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106440284
Bedankt voor de hulp allemaal, vooral die uitleg, ik snap nu wat alles is.
En ik snap dus ook wat er fout ging bij het script, ik moet dus een totaal ander script hebben.

Weten jullie of het mogelijk is zo'n script kant en klaar van internet te halen?
Of heb ik ook daar nog niet genoeg kennis voor?
Vriendlief wil wel graag een contact formulier op zn website namelijk..
  donderdag 5 januari 2012 @ 21:40:01 #181
159156 Dokay
Ago ergo sum
pi_106458952
Beste PHP devvers,

Even een vrij basale vraag. Voor mijn werkgever heb ik een php applicatie in elkaar geknutseld waarbij men intern mensen in kan roosteren en mensen extern aan kunnen geven wanneer ze beschikbaar zijn. Ziekte en verlof worden ook allemaal geregeld, iedereen blij. Alleen nu het steeds meer en meer gebruikt wordt door deze middelgrote organisatie begint mijn zorg over de veiligheid te stijgen. Laat ik eerlijk zijn: ik heb het in elkaar gezet met trail en error, heb nooit een PHP boek of cursus gedaan en met frunniken lukt me eigenlijk altijd wel wat ik wil. Maar ik weet ook dat het waarschijnlijk niet de veiligste en meest efficiente manier is.

Waar ik vooral tegen aan loop en wil vragen hoe jullie dat doen;

Als ik variabelen door minimaal 2 verschillende page's moet loodsen, gebruik ik de HTML "hidden input" tag om deze vast te houden en vervolgens weer door te zetten naar de volgende pagina die er wat mee doet.

Nou heb ik er nooit bij stilgestaan dat een kwaadwillende gebruiker deze hidden input tag kan invullen naar wens en vervolgens terug kan sturen naar de server met allerlei kwaadaardige code. In het geval van mijn appje zou dat een catastrofe zijn, want het zit bomvol met dit soort code om de eerder opgegeven waarde vast te houden.

Ik heb gepoogd om een extra SESSION aan te maken om de variable vast te houden, maar er loopt er al een van de gebruiker die ingelogd is en welke zijn ID vasthoud. Het geeft problemen als ik een tweede sessie hiernaast probeer te starten want dan wordt aangegeven dat er al een sessie loopt.

Hoe lossen jullie dit op? Alvast bedankt!
  donderdag 5 januari 2012 @ 21:50:48 #182
111382 Ofyles2
Bestemming: onbekend
pi_106459517
quote:
9s.gif Op donderdag 5 januari 2012 11:05 schreef boem-dikkie het volgende:
Dat script van die leraar trouwens. Je hele HTML echo'en. :')
Deed ik heel vroeger ook (toen ik 16-17 was), nu werk ik volgens OOP en MVC.

Liever een onderhoudsvriendelijk bulkproject dan een klein compact en onoverzichtelijk pakketje.
  donderdag 5 januari 2012 @ 22:00:35 #183
111382 Ofyles2
Bestemming: onbekend
pi_106459970
quote:
6s.gif Op donderdag 5 januari 2012 21:40 schreef Dokay het volgende:
Beste PHP devvers,

Even een vrij basale vraag. Voor mijn werkgever heb ik een php applicatie in elkaar geknutseld waarbij men intern mensen in kan roosteren en mensen extern aan kunnen geven wanneer ze beschikbaar zijn. Ziekte en verlof worden ook allemaal geregeld, iedereen blij. Alleen nu het steeds meer en meer gebruikt wordt door deze middelgrote organisatie begint mijn zorg over de veiligheid te stijgen. Laat ik eerlijk zijn: ik heb het in elkaar gezet met trail en error, heb nooit een PHP boek of cursus gedaan en met frunniken lukt me eigenlijk altijd wel wat ik wil. Maar ik weet ook dat het waarschijnlijk niet de veiligste en meest efficiente manier is.

Waar ik vooral tegen aan loop en wil vragen hoe jullie dat doen;

Als ik variabelen door minimaal 2 verschillende page's moet loodsen, gebruik ik de HTML "hidden input" tag om deze vast te houden en vervolgens weer door te zetten naar de volgende pagina die er wat mee doet.

Nou heb ik er nooit bij stilgestaan dat een kwaadwillende gebruiker deze hidden input tag kan invullen naar wens en vervolgens terug kan sturen naar de server met allerlei kwaadaardige code. In het geval van mijn appje zou dat een catastrofe zijn, want het zit bomvol met dit soort code om de eerder opgegeven waarde vast te houden.

Ik heb gepoogd om een extra SESSION aan te maken om de variable vast te houden, maar er loopt er al een van de gebruiker die ingelogd is en welke zijn ID vasthoud. Het geeft problemen als ik een tweede sessie hiernaast probeer te starten want dan wordt aangegeven dat er al een sessie loopt.

Hoe lossen jullie dit op? Alvast bedankt!
Extra sessies zijn eigenlijk ook slechts lapmiddelen.

Ik zou de gegevens gewoon controleren totdat een gebruiker zijn opdracht volledig heeft voltooid.

Dus onder andere: waarden typecasten (in een voor jouw gunstige type), reguliere expressies, htmlentities, strip_tags. Ik stel voor de controlemodellen in een aparte map op te slaan en de bestanden hierin alleen aan te roepen als het echt nodig is.

Desgewenst kun je je projectje ook naar mij toesturen als je het echt niet ziet zitten...
  donderdag 5 januari 2012 @ 22:20:03 #184
159156 Dokay
Ago ergo sum
pi_106460951
quote:
0s.gif Op donderdag 5 januari 2012 22:00 schreef Ofyles2 het volgende:

[..]

Extra sessies zijn eigenlijk ook slechts lapmiddelen.

Ik zou de gegevens gewoon controleren totdat een gebruiker zijn opdracht volledig heeft voltooid.

Dus onder andere: waarden typecasten (in een voor jouw gunstige type), reguliere expressies, htmlentities, strip_tags. Ik stel voor de controlemodellen in een aparte map op te slaan en de bestanden hierin alleen aan te roepen als het echt nodig is.

Desgewenst kun je je projectje ook naar mij toesturen als je het echt niet ziet zitten...
Bedankt voor je snelle reactie,

Ik ging ervanuit dat de gebruiker geen manier heeft om te zien wat er in een server sided sessie gebeurt, tegenover de hidden value HTML tag die vanaf de gebruikers' machine wordt verstuurd. Ik strip inderdaad al form input van ongewenste mogelijke injectie input, maar zit nog steeds met het feit dat ik weet dat de verkeerde methode gebruikt wordt om variabelen door te geven.

Wat ook moeilijk is is vanaf een initieel overzicht de waarde aan een php script doorgeven. Wat ik hiermee bedoel (voorbeeld alert..);

Ik heb een lijst met zeg 30 diensten, welk allemaal uit de database worden getrokken en onder elkaar gezet. Elke dienst heeft een unieke "id", waarmee deze word onderscheiden van andere diensten. Deze unieke dienst id word voor elke dienst opgeslagen in een bijbehorende "hidden input" HTML tag. De gebruiker kan zich opgeven voor een openstaande dienst door op de knop "Inschrijven" te drukk die naast elke dienst wordt weergeven. Tot zover goed.

Nou wil een kwaadwillende gebruiker eens het systeem in de war schoppen en besluit deze id aan te passen en wellicht al toegewezen diensten over te schrijven door een al bestaande id van een andere dienst op te geven, of het systeem te laten crashen door sql injectie code in de hidden value te plaatsen of een andere foutieve waarde.

Vraag: Hoe kan ik het systeem laten begrijpen om welke dienst het gaat die de gebruiker selecteert, maar wel dat het veilig is en dat de gebruiker er geen misbruik van zou kunnen maken?
  donderdag 5 januari 2012 @ 22:29:16 #185
111382 Ofyles2
Bestemming: onbekend
pi_106461400
In dat geval zou ik ook voor de 30 diensten een aparte MySQL-tabel maken. Het id-nummer zou ik meegeven met de URL.

Wat betreft SQL-injecties: deze kun je tegengaan door invoerwaarden te controleren en eventueel te escapen (mysql_real_escape_string).

Off-topic:

Een veel betere aanrader is PDO (hier een tutorial), waarmee je meerdere databasesystemen kunt gebruiken zonder complete codeblokken om te ploegen.
pi_106461514
quote:
0s.gif Op donderdag 5 januari 2012 22:29 schreef Ofyles2 het volgende:
In dat geval zou ik ook voor de 30 diensten een aparte MySQL-tabel maken. Het id-nummer zou ik meegeven met de URL.

Wat betreft SQL-injecties: deze kun je tegengaan door invoerwaarden te controleren en eventueel te escapen (mysql_real_escape_string).

Off-topic:

Een veel betere aanrader is PDO (hier een tutorial), waarmee je meerdere databasesystemen kunt gebruiken zonder complete codeblokken om te ploegen.
Of je verdiept je een keer in classes en bent ook per direct van het gezeik af. Dan ben je nog flexibeler :)
  donderdag 5 januari 2012 @ 22:34:23 #187
75592 GlowMouse
l'état, c'est moi
pi_106461631
quote:
6s.gif Op donderdag 5 januari 2012 21:40 schreef Dokay het volgende:
Ik heb gepoogd om een extra SESSION aan te maken om de variable vast te houden, maar er loopt er al een van de gebruiker die ingelogd is en welke zijn ID vasthoud. Het geeft problemen als ik een tweede sessie hiernaast probeer te starten want dan wordt aangegeven dat er al een sessie loopt.
Dat gaat in dezelfde sessie, je kunt $_SESSION['blahblah'] met vullen en daarna $_SESSION['user'] met wat anders.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 5 januari 2012 @ 22:37:09 #188
159156 Dokay
Ago ergo sum
pi_106461758
quote:
0s.gif Op donderdag 5 januari 2012 22:34 schreef GlowMouse het volgende:

[..]

Dat gaat in dezelfde sessie, je kunt $_SESSION['blahblah'] met vullen en daarna $_SESSION['user'] met wat anders.
Bedankt voor je tip, ik ga het morgen meteen uitproberen!
Is er ook een mogelijkheid om van te voren gedefinieerde waarden (welke ik nu in hidden HTML tags heb staan) veilig over te dragen tijdens de POST naar de volgende pagina..? (Behalve strip tags, eigenlijk dat er geen wijzingen in welke zin dan ook mogelijk zijn van de huidige waarde..)
  donderdag 5 januari 2012 @ 22:40:25 #189
111382 Ofyles2
Bestemming: onbekend
pi_106461910
quote:
0s.gif Op donderdag 5 januari 2012 22:37 schreef Dokay het volgende:

[..]

Bedankt voor je tip, ik ga het morgen meteen uitproberen!
Is er ook een mogelijkheid om van te voren gedefinieerde waarden (welke ik nu in hidden HTML tags heb staan) veilig over te dragen tijdens de POST naar de volgende pagina..? (Behalve strip tags, eigenlijk dat er geen wijzingen in welke zin dan ook mogelijk zijn van de huidige waarde..)
Yep.
  donderdag 5 januari 2012 @ 23:11:19 #190
25889 Sitethief
Fulltime Flapdrol
pi_106463405
Je kunt bepaalde dingen hashen, met een POST/GET meesturen en aan de andere kant checken. Dat kan natuurlijk alleen met dingen waarvan je aan beide kanten weet wat het ongeveer moet zijn, statische data dus. Andere data zou ik, mits dat niet teveel problemen oplevert via de sessie opslaan, mocht het data zijn die je langer nodig hebt dan een sessie idd in de db.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 5 januari 2012 @ 23:21:54 #191
111382 Ofyles2
Bestemming: onbekend
pi_106463933
quote:
0s.gif Op donderdag 5 januari 2012 22:31 schreef Pakspul het volgende:

[..]

Of je verdiept je een keer in classes en bent ook per direct van het gezeik af. Dan ben je nog flexibeler :)
Klopt, daar ben ik ook zeer grote voorstander van (als onderdeel van MVC- en OOP-programmeren).
  donderdag 5 januari 2012 @ 23:41:46 #192
159156 Dokay
Ago ergo sum
pi_106464898
Bedankt voor jullie reacties! Ik ga morgen eens kijken of ik verder kom. :)
  vrijdag 6 januari 2012 @ 00:44:42 #194
75592 GlowMouse
l'état, c'est moi
pi_106467510
Er zijn teveel amateurs :Y
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 6 januari 2012 @ 00:50:03 #195
111382 Ofyles2
Bestemming: onbekend
pi_106467720
quote:
0s.gif Op vrijdag 6 januari 2012 00:44 schreef GlowMouse het volgende:
Er zijn teveel amateurs :Y
It wasn't me...
pi_106467852
quote:
0s.gif Op vrijdag 6 januari 2012 00:44 schreef GlowMouse het volgende:
Er zijn teveel amateurs :Y
*meldt.

Daarom ga ik ook niet datsoort systemen klussen, Maar srsly, een maximale lengte aan het password veld geven om SQL injectie te voorkomen? Echt wtf! Blijkbaar heeft iemand er wel over nagedacht dus, maar toen besloten dat mysql_real_escape() te moeilijk was ofzo :') Nog even los van de vragen over hoe dat in hemelsnaam gehashed is als die input zo de query in geslingerd wordt...
  vrijdag 6 januari 2012 @ 00:55:16 #197
75592 GlowMouse
l'état, c'est moi
pi_106467883
quote:
14s.gif Op vrijdag 6 januari 2012 00:54 schreef KomtTijd... het volgende:

[..]

Maar srsly, een maximale lengte aan het password veld geven om SQL injectie te voorkomen?
Die reden zal wel later bedacht zijn. Als hashing ontbreekt zal de lengte van het db-veld de ware reden achter de beperking tot 12 karakters zijn.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 6 januari 2012 @ 00:57:33 #198
111382 Ofyles2
Bestemming: onbekend
pi_106467961
quote:
14s.gif Op vrijdag 6 januari 2012 00:54 schreef KomtTijd... het volgende:

[..]

*meldt.

Daarom ga ik ook niet datsoort systemen klussen, Maar srsly, een maximale lengte aan het password veld geven om SQL injectie te voorkomen? Echt wtf! Blijkbaar heeft iemand er wel over nagedacht dus, maar toen besloten dat mysql_real_escape() te moeilijk was ofzo :') Nog even los van de vragen over hoe dat in hemelsnaam gehashed is als die input zo de query in geslingerd wordt...
Zoiets hoor je eerder op te lossen met preg_match en PDO.
pi_106468034
quote:
0s.gif Op vrijdag 6 januari 2012 00:57 schreef Ofyles2 het volgende:

[..]

Zoiets hoor je eerder op te lossen met preg_match en PDO.
Preg_match :? En ja tegenwoordig doet iedereen dat met PDO of MySQLi (of aanverwanten in andere talen) maar als die website 5 jaar oud is ga je 'm niet helemaal herschrijven daarvoor.
  vrijdag 6 januari 2012 @ 01:03:07 #200
111382 Ofyles2
Bestemming: onbekend
pi_106468162
quote:
5s.gif Op vrijdag 6 januari 2012 00:59 schreef KomtTijd... het volgende:

[..]

Preg_match :? En ja tegenwoordig doet iedereen dat met PDO of MySQLi (of aanverwanten in andere talen) maar als die website 5 jaar oud is ga je 'm niet helemaal herschrijven daarvoor.
Preg_match voor reguliere expressies. Je kunt nooit 100% zeker zijn dat al je bezoekers zo poeslief zijn...
pi_106469453
Ik weet wat preg_match is.

Maar als tientallen mensen die jarenlang gestudeerd hebben op SQL injectie een functie maken die dagelijks door duizenden kwaadwillende mensen beproefd wordt, om alle mogelijke manieren van SQL injectie te voorkomen, maar jij denkt dat je het beter kunt met een preg_match, ben je wel redelijk naief.
  vrijdag 6 januari 2012 @ 01:52:43 #202
111382 Ofyles2
Bestemming: onbekend
pi_106469519
quote:
14s.gif Op vrijdag 6 januari 2012 01:50 schreef KomtTijd... het volgende:
Ik weet wat preg_match is.

Maar als tientallen mensen die jarenlang gestudeerd hebben op SQL injectie een functie maken die dagelijks door duizenden kwaadwillende mensen beproefd wordt, om alle mogelijke manieren van SQL injectie te voorkomen, maar jij denkt dat je het beter kunt met een preg_match, ben je wel redelijk naief.
Ik combineer preg_match met string escapen. Overbeveiliging.
  vrijdag 6 januari 2012 @ 09:53:17 #203
267443 Cue_
Cuecumbergirl
pi_106473430
Kort vraagje:
Ik zit met een formulier dat ik wil opslaan in een oracle database. Maar natuurlijk is dit een vrij invoerveld waar oa een naam meegegeven moet worden.
Dus je zit met ' in namen enzo, wekle problemen geven bij de query, dus die moeten eruit.

wat zou de mooiste oplossing hiervoor zijn? Vervangen door een ander teken en die dan weer bij oproep veranderen in een ' ?
pi_106474248
1
2
3
4
5
6
<?php
$str 
"Is your name O'reilly?";

// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>
Bron: http://php.net/manual/en/function.addslashes.php
  vrijdag 6 januari 2012 @ 10:34:14 #205
84244 Scorpie
Abject en infaam!
pi_106474320
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  vrijdag 6 januari 2012 @ 10:34:41 #206
4159 GI
Nee ik heet geen JOE
  vrijdag 6 januari 2012 @ 10:42:05 #207
267443 Cue_
Cuecumbergirl
pi_106474508
quote:
Die zag ik idd voorbij komen.
Hij komt bij mij dan gelijk met 2 of 3 slashes aanzetten :')

[ Bericht 15% gewijzigd door Cue_ op 06-01-2012 10:49:14 ]
  vrijdag 6 januari 2012 @ 10:51:47 #208
91039 mstx
2x1/2 = 1/2 x 1/2
pi_106474758
quote:
quote:
3s.gif Op vrijdag 6 januari 2012 10:34 schreef GI het volgende:

[..]

Dat dus!
quote:
A MySQL connection is required before using mysql_real_escape_string() otherwise an error of level E_WARNING is generated, and FALSE is returned.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  vrijdag 6 januari 2012 @ 10:55:10 #209
267443 Cue_
Cuecumbergirl
pi_106474853
Hmm hij blijkt hem zelf al te escapen. Toch vind mijn query hem niet leuk:

1trailer='o\'' 

1 quoted string not properly terminated 
pi_106475241
http://orafaq.com/wiki/SQL_FAQ

How does one escape special characters when writing SQL queries?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQL> SELECT 'Frank''s Oracle site' AS text FROM DUAL;
 TEXT
 --------------------
 Franks's Oracle site

 SQL> SELECT 'A ''quoted'' word.' AS text FROM DUAL;
 TEXT
 ----------------
 A 'quoted' word.

 SQL> SELECT 'A ''''double quoted'''' word.' AS text FROM DUAL;
 TEXT
 -------------------------
 A ''double quoted'' word.

1
2
3
4
<?php
// hopelijk is het zichtbaar dat een enkele quote wordt vervangen door twee enkele quotes.
$name str_replace("'""''""Frank's Oracle site");
?>
  vrijdag 6 januari 2012 @ 11:20:56 #211
267443 Cue_
Cuecumbergirl
pi_106475653
Een str_replace (en wss ook die addslashes) werken niet omdat het bij verwerking in quotes komt te staan

1trailer='".$trailer."'
  vrijdag 6 januari 2012 @ 11:32:16 #212
84244 Scorpie
Abject en infaam!
pi_106476033
quote:
0s.gif Op vrijdag 6 januari 2012 10:51 schreef mstx het volgende:

[..]


[..]


[..]

Oracle heeft Mysql gekocht remember :)
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_106476114
quote:
0s.gif Op vrijdag 6 januari 2012 11:20 schreef Cue_ het volgende:
Een str_replace (en wss ook die addslashes) werken niet omdat het bij verwerking in quotes komt te staan
[ code verwijderd ]

En als je " (dubbele quote) naar " veranderd en ' (enkele quote) naar '

En die dan opslaat wat doet hij dan?
pi_106501194
Het is me al gelukt. Op de 1 of andere manier het oude script aan de praat gekregen. Alleen nog 1 vraag. Als ik op verzenden klik, wat moet er dan verandert worden in het script, om hem door te sturen naar de 'bedank' pagina?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
  vrijdag 6 januari 2012 @ 21:23:30 #215
137776 boem-dikkie
Jedi Mind Baby!
pi_106501534
quote:
0s.gif Op vrijdag 6 januari 2012 21:18 schreef Geflipte-Koelkast het volgende:
Het is me al gelukt. Op de 1 of andere manier het oude script aan de praat gekregen. Alleen nog 1 vraag. Als ik op verzenden klik, wat moet er dan verandert worden in het script, om hem door te sturen naar de 'bedank' pagina?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Een header toevoegen naar je bedank pagina nadat de mail succesvol is verzonden.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_106504388
Ik heb dus wat tijd besteed aan het inlezen in PHP formulieren en mail, nu heb ik dus deze tutorial gevolgd;
http://www.xentrik.net/php/email.php

Maar de code werkt niet. Ik krijg constant dat niet alle velden zijn ingevuld terwijl dat wel zo is.
En nu alleen de stukken code weggelaten waar hij kijkt of je email adres goed is en of alle velden zijn ingevuld, dan zegt hij dat het verstuurd is maar dan werkt het nog niet..

Ik ben echt op het punt van opgeven, is er nergens gewoon een kant en klare code die ik op die pagina kan gooien zodat het voor nu werkt en ik later in de lessen PHP uit kan gaan zoeken hoe ik zo'n code nu echt moet schrijven?
  vrijdag 6 januari 2012 @ 22:16:05 #217
56176 Catch22-
Ben je Blind?!
pi_106504726
zo werkt het niet. Ik zou even wat basic tutorials php lezen en ook even wat debug-tutorials doornemen.

Maar die code he, daar staat regel voor regel wat er gebeurt...
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_106509589
quote:
11s.gif Op vrijdag 6 januari 2012 22:16 schreef Catch22- het volgende:
zo werkt het niet. Ik zou even wat basic tutorials php lezen en ook even wat debug-tutorials doornemen.

Maar die code he, daar staat regel voor regel wat er gebeurt...
Ik heb wat basic tutorials doorgenomen,
En dus de tutorial gevolgd waarvan ik die link gaf maar het werkt dus niet.
En ik snap niet waarom.
Dus ik begin me af te vragen of het niet gewoon aan de host ligt ipv aan mijn php skills, want ik doe gewoon letterlijk wat er in die tutorial staat..
pi_106510272
quote:
0s.gif Op vrijdag 6 januari 2012 21:18 schreef Geflipte-Koelkast het volgende:
Het is me al gelukt. Op de 1 of andere manier het oude script aan de praat gekregen. Alleen nog 1 vraag. Als ik op verzenden klik, wat moet er dan verandert worden in het script, om hem door te sturen naar de 'bedank' pagina?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
    
$superglobales = array($_SERVER$_ENV$_FILES$_COOKIE$_POST$_GET);
    if (isset(
$_SESSION)) {
        
array_unshift($superglobales$_SESSION);
    }
    foreach (
$superglobales as $superglobal) {
        
extract($superglobalEXTR_SKIP);
    }
}
?>
Er is een reden dat register_globals niet meer gebruikt moet worden. Dan moet je niet zelf dat gedrag proberen na te bootsen.
pi_106575244
Jongens; ik heb jullie hulp weer eens nodig. :)

Voor een nieuwe website wil ik een systeem maken waarbij je kan zien op welke 'plaats' bepaalde data staat. Dit is gesorteerd bij 'likes' waarbij de hoogste waarde bovenaan staat.

Dat is allemaal geen probleem, maar ik wil dat op de pagina gericht aan die data ook komt te staan op welke plek die staan in de algemene-ranking.

Dus stel je even dit voor:
1
2
3
4
A = 2 likes
B = 3 likes
C = 4 likes
D = 1 like

Dan zal de volgorde dus alsvolgt worden:
1
2
3
4
1. C
2. B
3. A
4. D

Stel je voor je zit op de pagina van 'A', dan wil ik dus dat je te zien krijgt dat 'A' op plek 3 staat. Maar hoe doe ik dit?

Hopelijk is het een beetje duidelijk wat ik wil en kunnen jullie me helpen :)
pi_106576413
Easy... een order by in je query's gebruiken de vraag blijft of dit mogelijk is.
Want volgens mij gebruik je hierbij de facebook API? applicatie? :P ?
Corrigeer me als ik het verkeerd heb.

anders een query maken;
Select * from TABLE order by aantal_likes desc
of hoe je het veld hebt genoemd :).

Zie voorbeeld:
http://www.w3schools.com/php/php_mysql_order_by.asp

quote:
0s.gif Op vrijdag 6 januari 2012 23:50 schreef Vanillax het volgende:

[..]

Ik heb wat basic tutorials doorgenomen,
En dus de tutorial gevolgd waarvan ik die link gaf maar het werkt dus niet.
En ik snap niet waarom.
Dus ik begin me af te vragen of het niet gewoon aan de host ligt ipv aan mijn php skills, want ik doe gewoon letterlijk wat er in die tutorial staat..
Wat voor melding geeft het? en heb je die melding door google heen gehaalt? :)

[ Bericht 20% gewijzigd door cablegunmaster op 08-01-2012 21:14:46 ]
Redacted
pi_106577534
quote:
0s.gif Op zondag 8 januari 2012 20:57 schreef cablegunmaster het volgende:
Easy... een order by in je query's gebruiken de vraag blijft of dit mogelijk is.
Want volgens mij gebruik je hierbij de facebook API? applicatie? :P ?
Corrigeer me als ik het verkeerd heb.

anders een query maken;
Select * from TABLE order by aantal_likes desc
of hoe je het veld hebt genoemd :).

Zie voorbeeld:
http://www.w3schools.com/php/php_mysql_order_by.asp

[..]

Wat voor melding geeft het? en heb je die melding door google heen gehaald? :)
Nee likes staan in mijn eigen database, en wat jij wilt gaat niet lukken ;)
Want op die pagina wil ik niet de complete lijst, maar alleen de positie van het ene element (A in dit geval) uit de lijst. Snap je? :P
pi_106578581
quote:
0s.gif Op zondag 8 januari 2012 21:15 schreef dirkjo het volgende:

[..]

Nee likes staan in mijn eigen database, en wat jij wilt gaat niet lukken ;)
Want op die pagina wil ik niet de complete lijst, maar alleen de positie van het ene element (A in dit geval) uit de lijst. Snap je? :P
Hoe haal je de gegevens van A uit de database zijnde van wat erbij hoort? Dus bijvoorbeeld de rest van de pagina? want dan is het een kwestie van een variabele query.
"select * from likes where id = ' ".esc($_GET['id'])." ' ";
Met bvb de link index.php?id=50 dan haalt hij de ID eruit van 50 en welke ABCD er bij hoort.
Redacted
pi_106579278
quote:
0s.gif Op zondag 8 januari 2012 21:32 schreef cablegunmaster het volgende:

[..]

Hoe haal je de gegevens van A uit de database zijnde van wat erbij hoort? Dus bijvoorbeeld de rest van de pagina? want dan is het een kwestie van een variabele query.
"select * from likes where id = ' ".esc($_GET['id'])." ' ";
Met bvb de link index.php?id=50 dan haalt hij de ID eruit van 50 en welke ABCD er bij hoort.
Oke stel je dit voor:
Je hebt de waardes A, B, C en D zoals ik net al zei. Buiten nog veel meer informatie staat er onder andere in de database bij elke waarde (elke rij dus) het aantal likes dat die heeft gekregen (facebook onafhankelijk).

Als ik een lijst wil maken waarbij de waarde met de meeste likes bovenaan komt te staan kan ik inderdaad ORDER BY likes DESC gebruiken, maar dit wil ik niet.

Ik wil namelijk het volgende:

Elke waarde is ook een pagina, stel je voor A heeft ID 1; dan heb ik een waarde met ID 1. Dan kan ik alle waardes van die row pakken door WHERE ID = 1 te gebruiken, waaronder dus ook de likes.

Maar dat heeft allemaal niks te maken met wat ik wil. Ik wil namelijk op die pagina van 'A' dat je kan zien waar 'A' staat in de lijst (dus de lijst waar de meeste likes bovenaan staan).

Ik wil dat mysql dan aan mij teruggeeft op welke plek A zou staan als ik alle waardes sorteer van meeste naar minste likes.

Dus als voorbeeld:
1
2
3
4
A = 3 likes
B = 2 likes
C = 4 likes
D = 1 like

Als ik nu de hele lijst zou plaatsen zou 'A' op nummer twee worden geplaatst, hij heeft tenslotte de op een na meeste likes.

Nu wil ik op de pagina van 'A' die plaatst (positie 2) dus laten zien ZONDER de hele zooi te moeten plaatsen.

Ik hoop hiermee een beetje duidelijk te hebben beschreven wat ik wil? :P
pi_106581697
quote:
0s.gif Op zondag 8 januari 2012 21:42 schreef dirkjo het volgende:

[..]

Oke stel je dit voor:
Je hebt de waardes A, B, C en D zoals ik net al zei. Buiten nog veel meer informatie staat er onder andere in de database bij elke waarde (elke rij dus) het aantal likes dat die heeft gekregen (facebook onafhankelijk).

Als ik een lijst wil maken waarbij de waarde met de meeste likes bovenaan komt te staan kan ik inderdaad ORDER BY likes DESC gebruiken, maar dit wil ik niet.

Ik wil namelijk het volgende:

Elke waarde is ook een pagina, stel je voor A heeft ID 1; dan heb ik een waarde met ID 1. Dan kan ik alle waardes van die row pakken door WHERE ID = 1 te gebruiken, waaronder dus ook de likes.

Maar dat heeft allemaal niks te maken met wat ik wil. Ik wil namelijk op die pagina van 'A' dat je kan zien waar 'A' staat in de lijst (dus de lijst waar de meeste likes bovenaan staan).

Ik wil dat mysql dan aan mij teruggeeft op welke plek A zou staan als ik alle waardes sorteer van meeste naar minste likes.

Dus als voorbeeld:
[ code verwijderd ]

Als ik nu de hele lijst zou plaatsen zou 'A' op nummer twee worden geplaatst, hij heeft tenslotte de op een na meeste likes.

Nu wil ik op de pagina van 'A' die plaatst (positie 2) dus laten zien ZONDER de hele zooi te moeten plaatsen.

Ik hoop hiermee een beetje duidelijk te hebben beschreven wat ik wil? :P
Dus je wil dat de site tegen je zegt Dit nieuwsartikel of letter A Staat op nummer 2 van de hele lijst. en de rest negeren? Dan zou ik een order by desc. doen en vervolgens het eruit halen met echo. een Getal++; in de for lus doen (of welke lus) en als het overeen komt welke positie het is dus als de id te voorschijn komt die nodig is dan laat je het pas Echo'en welke positie het is.
Voila? :P of snap ik het verkeerd :)?

Dan krijg je als resultaat : A staat op X positie en heeft 4 likes.
Redacted
pi_106582316
quote:
0s.gif Op zondag 8 januari 2012 22:20 schreef cablegunmaster het volgende:

[..]

Dus je wil dat de site tegen je zegt Dit nieuwsartikel of letter A Staat op nummer 2 van de hele lijst. en de rest negeren? Dan zou ik een order by desc. doen en vervolgens het eruit halen met echo. een Getal++; in de for lus doen (of welke lus) en als het overeen komt welke positie het is dus als de id te voorschijn komt die nodig is dan laat je het pas Echo'en welke positie het is.
Voila? :P of snap ik het verkeerd :)?

Dan krijg je als resultaat : A staat op X positie en heeft 4 likes.
Je snapt het ;)
Dat is inderdaad waar ik aan dacht, maar vroeg me of daar geen makkelijkere oplossing voor was. Kennelijk niet; dus ga dit maar erin gooien, bedankt! :)
  zondag 8 januari 2012 @ 22:37:57 #227
75592 GlowMouse
l'état, c'est moi
pi_106582777
Select count(*) op de rijen met meer likes als het aantal rijen klein is, anders denormaliseren en de positie ook in de rij opslaan
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106583090
quote:
0s.gif Op zondag 8 januari 2012 22:37 schreef GlowMouse het volgende:
Select count(*) op de rijen met meer likes als het aantal rijen klein is, anders denormaliseren en de positie ook in de rij opslaan
Positie moet altijd up-to-date blijven omdat users hem kunnen bepalen (door middel van de likes).
Heb nu de volgende functie in elkaar gezet, verbetering welkom ofcourse.
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    
function songRank($songID){
        
$rank 0;
        
$getrank mysql_query("SELECT songID FROM songs ORDER BY `likes` DESC");
        while(
$row mysql_fetch_array($getrank)){
            
$rank++;
            if(
$songID == $row['songID']){
                return 
$rank;
            }
        }
    }
?>
  zondag 8 januari 2012 @ 22:48:45 #229
75592 GlowMouse
l'état, c'est moi
pi_106583335
Dat is een domme query, net alsof je niet snapt wat COUNT(*) en WHERE doen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106583410
quote:
7s.gif Op zondag 8 januari 2012 22:48 schreef GlowMouse het volgende:
Dat is een domme query, net alsof je niet snapt wat COUNT(*) en WHERE doen.
Nog nooit gebruik gemaakt van COUNT(*), maar ik zal er eens naar kijken.
pi_106583566
quote:
11s.gif Op zondag 8 januari 2012 22:50 schreef dirkjo het volgende:

[..]

Nog nooit gebruik gemaakt van COUNT(*), maar ik zal er eens naar kijken.
1SELECT COUNT(*) AS aantal FROM songs WHERE songID = '" . mysql_real_escape_string($songID) . "' ORDER BY `likes` DESC

Het aantal zit dan in: $row['aantal']

Edit: is songID numeriek of een string?
pi_106583570
--- laat --

[ Bericht 46% gewijzigd door dirkjo op 08-01-2012 22:59:38 ]
pi_106583788
quote:
0s.gif Op zondag 8 januari 2012 22:52 schreef The_Terminator het volgende:

[..]
[ code verwijderd ]

Het aantal zit dan in: $row['aantal']

Edit: is songID numeriek of een string?
songID is nummeriek, maar je query geeft geen positie terug. Ik krijg overal '1' terug 8)7
pi_106583866
quote:
9s.gif Op zondag 8 januari 2012 22:56 schreef dirkjo het volgende:

[..]

songID is nummeriek, maar je query geeft geen positie terug. Ik krijg overal '1' terug 8)7
Oeps... Onderstaande fixt het:

1SELECT COUNT(*) AS aantal, songID FROM songs WHERE songID = " . mysql_real_escape_string($songID) . " ORDER BY `likes` DESC
pi_106583927
quote:
0s.gif Op zondag 8 januari 2012 22:58 schreef The_Terminator het volgende:

[..]

Oeps... Onderstaande fixt het:
[ code verwijderd ]

Nee hoor
  zondag 8 januari 2012 @ 23:01:02 #236
75592 GlowMouse
l'état, c'est moi
pi_106584017
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106584079
quote:
7s.gif Op zondag 8 januari 2012 23:01 schreef GlowMouse het volgende:
[ afbeelding ]
Doe eens lief; kom eens met jouw oplossing.
  zondag 8 januari 2012 @ 23:02:41 #238
75592 GlowMouse
l'état, c'est moi
pi_106584102
Welke rijen moet je tellen om de rank te bepalen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 8 januari 2012 @ 23:04:13 #239
75592 GlowMouse
l'état, c'est moi
pi_106584181
De oplossing van T_T is alleen daarom al niet goed omdat hij mysql_real_escape_string en intval door elkaar haalt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106584322
quote:
7s.gif Op zondag 8 januari 2012 23:02 schreef GlowMouse het volgende:
Welke rijen moet je tellen om de rank te bepalen.
Geen rijen, maar één kolom in een rij. (Ja ik weet; dat heb ik een paar keer verkeerd gezegd zie ik net ;( ). |:(

De kolom 'likes' vertelt me de positie, die kolom bevat een getal. Met COUNT ga je alle rijen tellen die `songID` '$songID' bevatten, ofniet? :P
pi_106584339
quote:
0s.gif Op zondag 8 januari 2012 23:04 schreef GlowMouse het volgende:
De oplossing van T_T is alleen daarom al niet goed omdat hij mysql_real_escape_string en intval door elkaar haalt.
Daarom vroeg ik of songid een numerieke waarde zou zijn. Ik gebruikt meestal is_numeric om te bepalen of de ingevoerde waarde ook daadwerkelijk numeriek is en als dat zo is voer ik het aan de query zonder de escape_string functie te gebruiken. En ik heb een vermoeden dat ik in mijn query een group by ben vergeten :')
  zondag 8 januari 2012 @ 23:13:04 #242
75592 GlowMouse
l'état, c'est moi
pi_106584631
quote:
0s.gif Op zondag 8 januari 2012 23:06 schreef dirkjo het volgende:

[..]

De kolom 'likes' vertelt me de positie, die kolom bevat een getal. Met COUNT ga je alle rijen tellen die `songID` '$songID' bevatten, ofniet? :P
Of niet, want je weet toch al dat dat precies één rij is. Je wilt juist tellen hoeveel rijen een hogere score hebben. Je functie zou dus "songRank($likes)" moeten zijn.
quote:
0s.gif Op zondag 8 januari 2012 23:07 schreef The_Terminator het volgende:

[..]

Daarom vroeg ik of songid een numerieke waarde zou zijn. Ik gebruikt meestal is_numeric om te bepalen of de ingevoerde waarde ook daadwerkelijk numeriek is en als dat zo is voer ik het aan de query zonder de escape_string functie te gebruiken. En ik heb een vermoeden dat ik in mijn query een group by ben vergeten :')
Probeer het niet goed te praten :{w. Je stopt output van mysql_real_escape_string in een query zonder quotes om die output en dat is onveilig.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106585192
quote:
0s.gif Op zondag 8 januari 2012 23:13 schreef GlowMouse het volgende:

[..]

Of niet, want je weet toch al dat dat precies één rij is. Je wilt juist tellen hoeveel rijen een hogere score hebben. Je functie zou dus "songRank($likes)" moeten zijn.

[..]

Probeer het niet goed te praten :{w. Je stopt output van mysql_real_escape_string in een query zonder quotes om die output en dat is onveilig.
Maar wat gebeurd er dan als meerdere nummers hetzelfde aantal likes hebben? Dan pakt die de eerste de beste rij die het gegeven aantal likes heeft.
pi_106585278
quote:
0s.gif Op zondag 8 januari 2012 23:13 schreef GlowMouse het volgende:

Probeer het niet goed te praten :{w. Je stopt output van mysql_real_escape_string in een query zonder quotes om die output en dat is onveilig.
Ik probeer niets goed te praten :{w . Ik ben vergeten die escapefunctie te verwijderen, de quotes had ik wel weggehaald waardoor het lijkt dat ik de functie gebruik in een query zonder quotes.

Zoals ik al aangaf gebruik ik de functie is_numeric en return false mocht dat niet zo zijn. In de query gebruik ik dan geen quotes om de variable (het is immers numeriek) en laat het escapen achterwege aangezien de waarde al is geverifieerd.
  zondag 8 januari 2012 @ 23:25:18 #245
75592 GlowMouse
l'état, c'est moi
pi_106585348
quote:
0s.gif Op zondag 8 januari 2012 23:23 schreef dirkjo het volgende:

[..]

Maar wat gebeurd er dan als meerdere nummers hetzelfde aantal likes hebben? Dan pakt die de eerste de beste rij die het gegeven aantal likes heeft.
Heb je die vraag eens bij je eigen query gesteld?

Ik definieer de plek als 1+[het aantal songs met meer likes]. Het aantal songs met meer likes kun je met één query tellen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106585503
quote:
0s.gif Op zondag 8 januari 2012 23:25 schreef GlowMouse het volgende:

[..]

Heb je die vraag eens bij je eigen query gesteld?

Ik definieer de plek als 1+[het aantal songs met meer likes]. Het aantal songs met meer likes kun je met één query tellen.
Jazeker, maar als ik mijn manier gebruik garandeer ik wel dat de plek die de pagina over het nummer aangeeft gelijk is aan de plek die staat in de pagina waar de complete lijst van alle nummers staat.
  zondag 8 januari 2012 @ 23:29:03 #247
75592 GlowMouse
l'état, c'est moi
pi_106585580
quote:
0s.gif Op zondag 8 januari 2012 23:27 schreef dirkjo het volgende:

[..]

Jazeker, maar als ik mijn manier gebruik garandeer ik wel dat de plek die de pagina over het nummer aangeeft gelijk is aan de plek die staat in de pagina waar de complete lijst van alle nummers staat.
Dat is niet waar, het resultaat berust op toeval.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106585645
En dat zou het niet doen in jouw geval, of valt zoiets niet te vermijden?
  zondag 8 januari 2012 @ 23:30:38 #249
75592 GlowMouse
l'état, c'est moi
pi_106585678
quote:
5s.gif Op zondag 8 januari 2012 23:30 schreef dirkjo het volgende:
En dat zou het niet doen in jouw geval, of valt zoiets niet te vermijden?
quote:
0s.gif Op zondag 8 januari 2012 23:25 schreef GlowMouse het volgende:

[..]

Ik definieer de plek als 1+[het aantal songs met meer likes]. Het aantal songs met meer likes kun je met één query tellen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106585919
quote:
0s.gif Op zondag 8 januari 2012 23:30 schreef GlowMouse het volgende:

[..]

[..]

Oke, dus (even snel) zou jouw query er ongeveer zo uitzien:
1
2
3
<?php
 mysql_query
("SELECT COUNT(*) AS rank FROM songs WHERE likes > "$likes" ");
?>

Correct my if I'm wrong
  zondag 8 januari 2012 @ 23:37:21 #251
75592 GlowMouse
l'état, c'est moi
pi_106586019
Precies zo. Alleen dan nog eentje bij het resultaat optellen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106586176
quote:
14s.gif Op zondag 8 januari 2012 23:37 schreef GlowMouse het volgende:
Precies zo. Alleen dan nog eentje bij het resultaat optellen.
Oke, bedankt! :)
je houdt het trouwens wel lang vol om iemand niet het antwoord te geven, maar zelf te laten maken :P
pi_106586476
quote:
0s.gif Op zondag 8 januari 2012 23:40 schreef dirkjo het volgende:

[..]

Oke, bedankt! :)
je houdt het trouwens wel lang vol om iemand niet het antwoord te geven, maar zelf te laten maken :P
Veel doeltreffender. :)
pi_106586574
quote:
14s.gif Op zondag 8 januari 2012 23:37 schreef GlowMouse het volgende:
Precies zo. Alleen dan nog eentje bij het resultaat optellen.
Er is nu alleen wel één probleempje. Ik vertelde net dat die oude query mij dezelfde waarde geeft als wanneer ik de hele lijst zou echo'en. Deze doet dat niet :P

Je zei dat dat bij die oude query toevallig zo gebeurde, maar na een flink aantal refreshes blijft die lijst precies hetzelfde.

//edit

Deze manier geeft zelfs bij meerdere nummers dezelfde rank, terwijl dit toch echt iets is wat niet mag gebeuren :o
pi_106586584
quote:
0s.gif Op zondag 8 januari 2012 23:46 schreef Diabox het volgende:

[..]

Veel doeltreffender. :)
Compleet waar :)
  zondag 8 januari 2012 @ 23:50:59 #256
75592 GlowMouse
l'état, c'est moi
pi_106586661
quote:
0s.gif Op zondag 8 januari 2012 23:48 schreef dirkjo het volgende:

[..]

Er is nu alleen wel één probleempje. Ik vertelde net dat die oude query mij dezelfde waarde geeft als wanneer ik de hele lijst zou echo'en. Deze doet dat niet :P
Dan moet je die andere lijst aanpassen zodat hij zo wordt:
1. song12 met een socore van 34
2. song3 met een socore van 24
2. song6 met een socore van 24
4. song3 met een socore van 3
quote:
Je zei dat dat bij die oude query toevallig zo gebeurde, maar na een flink aantal refreshes blijft die lijst precies hetzelfde.
En toch heb je geen garantie dat het niet verandert.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106586844
Check je ook even m'n edit. Heb ik iets fout gedaan dat dit gebeurd?
pi_106586854
quote:
0s.gif Op zondag 8 januari 2012 23:48 schreef dirkjo het volgende:

[..]

Er is nu alleen wel één probleempje. Ik vertelde net dat die oude query mij dezelfde waarde geeft als wanneer ik de hele lijst zou echo'en. Deze doet dat niet :P

Je zei dat dat bij die oude query toevallig zo gebeurde, maar na een flink aantal refreshes blijft die lijst precies hetzelfde.

//edit

Deze manier geeft zelfs bij meerdere nummers dezelfde rank, terwijl dit toch echt iets is wat niet mag gebeuren :o
Je doet het nu door te selecteren op het aantal likes?

1
2
3
4
5
6
7
8
SET @rownum := 0;

SELECT * 
FROM (
SELECT @rownum := @rownum+1 AS song_rank, likes
FROM songs ORDER BY likes DESC
) AS song_score
WHERE songID = " . $songID

Bovenstaande zou je de rank terug moeten geven adhv het songid.

[ Bericht 6% gewijzigd door The_Terminator op 09-01-2012 00:06:46 ]
pi_106586939
quote:
0s.gif Op zondag 8 januari 2012 23:55 schreef The_Terminator het volgende:

[..]

Je doet het nu door te selecteren op het aantal likes?
[ code verwijderd ]

Bovenstaande zou je de rank terug moeten geven adhv het songid.
Ik gebruik nu de manier van GM, een paar posts terug.
  maandag 9 januari 2012 @ 00:02:57 #260
75592 GlowMouse
l'état, c'est moi
pi_106587129
Wijzig
SELECT songID FROM songs ORDER BY `likes` DESC
in
SELECT songID FROM songs ORDER BY `likes` DESC,songID DESC

En
SELECT COUNT(*) AS rank FROM songs WHERE likes > ...
in
SELECT COUNT(*) AS rank FROM songs WHERE likes > ... OR (likes = .... ANDS songID > ....)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106587303
quote:
0s.gif Op zondag 8 januari 2012 23:57 schreef dirkjo het volgende:

[..]

Ik gebruik nu de manier van GM, een paar posts terug.
Ah, ok. Ik heb mijn code zojuist wat aangepast en getest. Het functioneerd goed en geeft de positie terug adhv een gegeven songID, zoals je dat in je eerste versie had.
pi_106587321
quote:
0s.gif Op maandag 9 januari 2012 00:02 schreef GlowMouse het volgende:
Wijzig
SELECT songID FROM songs ORDER BY `likes` DESC
in
SELECT songID FROM songs ORDER BY `likes` DESC,songID DESC

En
SELECT COUNT(*) AS rank FROM songs WHERE likes > ...
in
SELECT COUNT(*) AS rank FROM songs WHERE likes > ... OR (likes = .... ANDS songID > ....)
Held :)
pi_106587341
quote:
0s.gif Op maandag 9 januari 2012 00:07 schreef The_Terminator het volgende:

[..]

Ah, ok. Ik heb mijn code zojuist wat aangepast en getest. Het functioneerd goed en geeft de positie terug adhv een gegeven songID, zoals je dat in je eerste versie had.
Dit gebruik ik nu en werkt:
1
2
3
<?php
$rankQuery 
mysql_query("SELECT COUNT(*) AS rank FROM songs WHERE `likes` > "$likes" OR (`likes` = '"$likes ."' AND `songID` > "$songID .")");
?>

Still, thanks. :)
  maandag 9 januari 2012 @ 00:09:59 #264
75592 GlowMouse
l'état, c'est moi
pi_106587377
Die van T_T werkt ook, maar die van mij is uiteraard sneller.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106587491
quote:
7s.gif Op maandag 9 januari 2012 00:09 schreef GlowMouse het volgende:
maar die van mij is uiteraard sneller.
True.
pi_106587551
Nooit verwacht dat m'n zondag avond nog leerzaam zou zijn :7
pi_106617797
Als we dan toch over COUNT hebben. Is het verstandiger om gebruik te maken van de COUNT functie om te kijken of een user bestaat, dan gebruik je maken van mysql_num_rows? Ik gebruik nu die laatste, maar dit lijkt me (nu ik een beetje door heb hoe COUNT werkt) vrij omslachtig.
  maandag 9 januari 2012 @ 21:13:20 #268
75592 GlowMouse
l'état, c'est moi
pi_106617981
Dat is het inderdaad. Als jij een query zonder COUNT(*) doet dan gaan alle rijen van MySQL naar PHP zodat PHP ze kan tellen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_106618465
quote:
0s.gif Op maandag 9 januari 2012 21:13 schreef GlowMouse het volgende:
Dat is het inderdaad. Als jij een query zonder COUNT(*) doet dan gaan alle rijen van MySQL naar PHP zodat PHP ze kan tellen.
Oke, duidelijk! :)
  FOK!-Schrikkelbaas dinsdag 10 januari 2012 @ 08:53:37 #270
1972 Swetsenegger
Egocentrische Narcist
pi_106631735
Ik heb de volgende query

1
2
3
4
5
SELECT Naam, Challenge, Voortgang, (
Voortgang / ( Challenge /100 )
) AS Percentage
FROM hardlopen
ORDER BY Naam

Maar Percentage is dan tot 8 decimalen achter de komma. Kan ik dit eenvoudig beperken tot 2?
  dinsdag 10 januari 2012 @ 08:54:21 #271
84244 Scorpie
Abject en infaam!
pi_106631749
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 10 januari 2012 @ 08:55:53 #272
12221 Tijn
Powered by MS Paint
pi_106631779
Beetje detail is niet verkeerd toch, Swets? B-)
  FOK!-Schrikkelbaas dinsdag 10 januari 2012 @ 08:56:19 #273
1972 Swetsenegger
Egocentrische Narcist
pi_106631789
quote:
Ik had de 2e parameter bij ROUND gemist in mijn zoektocht, bedankt!
pi_106632090
Dit had je anders ook kunnen gebruiken: http://nl.php.net/number_format
  dinsdag 10 januari 2012 @ 09:31:05 #275
4159 GI
Nee ik heet geen JOE
pi_106632385
Of http://php.net/manual/en/function.round.php in php als je de db server niet je rekenwerk wil laten doen :)
  FOK!-Schrikkelbaas dinsdag 10 januari 2012 @ 09:39:18 #276
1972 Swetsenegger
Egocentrische Narcist
pi_106632552
Ja de op functie ken ik, maar in dit geval was het makkelijker in mysql.
pi_106633921
quote:
0s.gif Op dinsdag 10 januari 2012 09:39 schreef Swetsenegger het volgende:
Ja de op functie ken ik, maar in dit geval was het makkelijker in mysql.
Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.
  FOK!-Schrikkelbaas dinsdag 10 januari 2012 @ 10:43:11 #278
1972 Swetsenegger
Egocentrische Narcist
pi_106633967
quote:
0s.gif Op dinsdag 10 januari 2012 10:41 schreef Pakspul het volgende:

[..]

Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.
Geloof me, m'n server krijgt het er echt niet warm van :)
pi_106634118
quote:
1s.gif Op dinsdag 10 januari 2012 10:43 schreef Swetsenegger het volgende:

[..]

Geloof me, m'n server krijgt het er echt niet warm van :)
Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen :P Je kunt het je beter direct goed aanleren :)
  dinsdag 10 januari 2012 @ 10:50:23 #280
12221 Tijn
Powered by MS Paint
pi_106634134
quote:
0s.gif Op dinsdag 10 januari 2012 10:49 schreef Pakspul het volgende:

[..]

Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen :P Je kunt het je beter direct goed aanleren :)
Het is niet fout om je query zo te formuleren dat de data die eruit komt zo nuttig mogelijk is in je applicatie.
  dinsdag 10 januari 2012 @ 10:51:05 #281
4159 GI
Nee ik heet geen JOE
pi_106634147
quote:
0s.gif Op dinsdag 10 januari 2012 10:49 schreef Pakspul het volgende:

[..]

Dat begrijp ik, maar het gaat er om dat je begrijpt waarom je die dingen daar niet moet neerleggen :P Je kunt het je beter direct goed aanleren :)
Swets is al een paar stapjes verder dan aanleren ;)

En ik ben het met Tijn eens. Het is niet per definitie fout om de DB server te laten rekenen.
pi_106634218
quote:
2s.gif Op dinsdag 10 januari 2012 10:50 schreef Tijn het volgende:

[..]

Het is niet fout om je query zo te formuleren dat de data die eruit komt zo nuttig mogelijk is in je applicatie.
Het is niet fout, maar kwa belasting wil je het gewoon niet. Bij hobby projecten maakt het uiteraard niets uit waar je het doet en als die het makkelijkste voor je is dan moet je het vooral doen. Maar als je grote projecten draait dan kunnen dit wel winst punten zijn.

Zelfde als in hobby projecten kun je best: SELECT * doen, maar het is beter om alleen de velden op te halen die nodig zijn.
  dinsdag 10 januari 2012 @ 10:55:00 #283
84244 Scorpie
Abject en infaam!
pi_106634231
quote:
3s.gif Op dinsdag 10 januari 2012 10:51 schreef GI het volgende:

[..]

Swets is al een paar stapjes verder dan aanleren ;)

En ik ben het met Tijn eens. Het is niet per definitie fout om de DB server te laten rekenen.
Dat dus.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 10 januari 2012 @ 10:56:53 #284
84244 Scorpie
Abject en infaam!
pi_106634268
quote:
0s.gif Op dinsdag 10 januari 2012 10:54 schreef Pakspul het volgende:

[..]

Het is niet fout, maar kwa belasting wil je het gewoon niet. Bij hobby projecten maakt het uiteraard niets uit waar je het doet en als die het makkelijkste voor je is dan moet je het vooral doen. Maar als je grote projecten draait dan kunnen dit wel winst punten zijn.

Zelfde als in hobby projecten kun je best: SELECT * doen, maar het is beter om alleen de velden op te halen die nodig zijn.
Definieer 'belasting'.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 10 januari 2012 @ 10:57:03 #285
75592 GlowMouse
l'état, c'est moi
pi_106634272
quote:
0s.gif Op dinsdag 10 januari 2012 10:41 schreef Pakspul het volgende:

[..]

Ik zou dit soort taken niet bij de database server neerleggen. Queries moet je zo licht mogelijk schrijven, zodat je de database server zo min mogelijk lastig valt.
Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 10 januari 2012 @ 11:00:48 #286
12221 Tijn
Powered by MS Paint
pi_106634359
quote:
0s.gif Op dinsdag 10 januari 2012 10:54 schreef Pakspul het volgende:

[..]

Het is niet fout, maar kwa belasting wil je het gewoon niet.
Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
  dinsdag 10 januari 2012 @ 11:02:25 #287
84244 Scorpie
Abject en infaam!
pi_106634391
quote:
2s.gif Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:

[..]

Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
quote:
0s.gif Op dinsdag 10 januari 2012 10:57 schreef GlowMouse het volgende:

[..]

Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.
Indeed.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 10 januari 2012 @ 11:03:25 #288
4159 GI
Nee ik heet geen JOE
pi_106634430
quote:
2s.gif Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:

[..]

Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
Ja, dat is wel waar. Maar het hangt compleet van de situatie af of je dergelijke dingen laat berekenen door de DBengine of door de applicatie zelf. Als het puur en alleen om weergave gaat zou ik zeggen dat het door de applicatie gedaan moet worden. Als het om tussentabellen gaat of iets in die geest dan kan ik me nog voorstellen dat je het de DBengine laat doen.
  dinsdag 10 januari 2012 @ 11:04:02 #289
4159 GI
Nee ik heet geen JOE
pi_106634449
quote:
0s.gif Op dinsdag 10 januari 2012 11:02 schreef Scorpie het volgende:

[..]

[..]

Indeed.
Das knap, het eens zijn met twee quotes die elkaar tegenspreken.
  dinsdag 10 januari 2012 @ 11:04:42 #290
12221 Tijn
Powered by MS Paint
pi_106634468
quote:
3s.gif Op dinsdag 10 januari 2012 11:04 schreef GI het volgende:

[..]

Das knap, het eens zijn met twee quotes die elkaar tegenspreken.
Nee?
pi_106634528
quote:
0s.gif Op dinsdag 10 januari 2012 10:56 schreef Scorpie het volgende:

[..]

Definieer 'belasting'.
Het is rekenkracht wat je kwijt bent, bij 10 request per minuut maakt het geen fuck uit, maar als je request omhoog gaan dan wil je niet dat je DB server met dit soort dingen bezig is.
quote:
0s.gif Op dinsdag 10 januari 2012 10:57 schreef GlowMouse het volgende:

[..]

Als je round door je db-clients wilt laten uitrekenen, ben je verkeerd bezig.
Dat probeer ik hier te zeggen.
pi_106634551
quote:
5s.gif Op dinsdag 10 januari 2012 11:04 schreef Tijn het volgende:

[..]

Nee?
ja, want deze eerste zegt. Leg het neer bij de DB en de andere zegt doe het niet want dan ben je verkeerd bezig.
  dinsdag 10 januari 2012 @ 11:08:13 #293
12221 Tijn
Powered by MS Paint
pi_106634580
quote:
0s.gif Op dinsdag 10 januari 2012 11:07 schreef Pakspul het volgende:

[..]

ja, want deze eerste zegt. Leg het neer bij de DB en de andere zegt doe het niet want dan ben je verkeerd bezig.
Je begrijpt het verschil tussen server en client?
  dinsdag 10 januari 2012 @ 11:10:09 #294
75592 GlowMouse
l'état, c'est moi
pi_106634639
quote:
2s.gif Op dinsdag 10 januari 2012 11:00 schreef Tijn het volgende:

[..]

Ik denk eigenlijk dat de database een stuk efficiënter z'n eigen data kan manipuleren dan de applicatie die deze data verder verwerkt.
Dat is niet altijd een criterium omdat je vaak eenvoudig servers waar de applicatie op draaien kunt bijplaatsen.
quote:
0s.gif Op dinsdag 10 januari 2012 11:06 schreef Pakspul het volgende:

[..]

Het is rekenkracht wat je kwijt bent, bij 10 request per minuut maakt het geen fuck uit, maar als je request omhoog gaan dan wil je niet dat je DB server met dit soort dingen bezig is.
Geef me maar root-toegang op een server die 50.000 queries per seconde afhandelt, zal ik je 10 dingen aanwijzen die elk een miljoen keer meer opleveren.
quote:
Dat probeer ik hier te zeggen.
Niet waar, jij wilt het van je db-server naar je db-client verplaatsen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 10 januari 2012 @ 11:14:34 #295
4159 GI
Nee ik heet geen JOE
pi_106634769
Ah, dan las ik het verkeerd. Ik denk trouwens wel dat er geen gouden regel is voor deze problematiek.
  dinsdag 10 januari 2012 @ 11:15:49 #296
12221 Tijn
Powered by MS Paint
pi_106634811
quote:
3s.gif Op dinsdag 10 januari 2012 11:14 schreef GI het volgende:
Ah, dan las ik het verkeerd. Ik denk trouwens wel dat er geen gouden regel is voor deze problematiek.
Dat denk ik ook. Het is ook duidelijk dat je moet proberen een trage query te voorkomen natuurlijk. Maar dat doe je niet door de round-functie van je database te vermijden.
pi_106635092
quote:
10s.gif Op dinsdag 10 januari 2012 11:08 schreef Tijn het volgende:

[..]

Je begrijpt het verschil tussen server en client?
Ik weet niet wat jij bedoelt met DB-server en DB-client.

Maar ik heb even een test uitgevoerd. 100 x een query opgehaald waar 2x50 float in voorkomen. In de ene heb ik hem door PHP laten afronden en in de andere heb ik het door MySQL laten doen. En het verschil is dat PHP er 35% langer over doet wanneer deze zelf de getallen nog moet afronden.

Dan had Tijn het dus toch goed dat de DB-server zelf efficiënter zijn data kan manipuleren.

Nouja, daar zat ik er dus naast ik dacht altijd dat je zulke functie niet daar moest uitvoeren. Vraag ik mij nu alleen af of dit ook geldt voor berekeningen. :P Straks maar eens doen :+ eerst koffie!
  dinsdag 10 januari 2012 @ 11:28:02 #298
84244 Scorpie
Abject en infaam!
pi_106635128
Kom op, een DB-server en een DB-client zijn twee hele normale, gangbare begrippen.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 10 januari 2012 @ 11:28:11 #299
12221 Tijn
Powered by MS Paint
pi_106635131
quote:
0s.gif Op dinsdag 10 januari 2012 11:26 schreef Pakspul het volgende:

[..]

Ik weet niet wat jij bedoelt met DB-server en DB-client.
De machine waar de database zelf op staat is de databaseserver. De machine waar de applicatie op draait die met de database verbinding heeft is de databaseclient.
  dinsdag 10 januari 2012 @ 11:28:30 #300
84244 Scorpie
Abject en infaam!
pi_106635141
quote:
0s.gif Op dinsdag 10 januari 2012 11:26 schreef Pakspul het volgende:

[..]

Ik weet niet wat jij bedoelt met DB-server en DB-client.

Maar ik heb even een test uitgevoerd. 100 x een query opgehaald waar 2x50 float in voorkomen. In de ene heb ik hem door PHP laten afronden en in de andere heb ik het door MySQL laten doen. En het verschil is dat PHP er 35% langer over doet wanneer deze zelf de getallen nog moet afronden.

Dan had Tijn het dus toch goed dat de DB-server zelf efficiënter zijn data kan manipuleren.

Nouja, daar zat ik er dus naast ik dacht altijd dat je zulke functie niet daar moest uitvoeren. Vraag ik mij nu alleen af of dit ook geldt voor berekeningen. :P Straks maar eens doen :+ eerst koffie!
100x zegt niks. Doe hem eens 100.000 keer.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_106636378
quote:
0s.gif Op dinsdag 10 januari 2012 11:28 schreef Scorpie het volgende:

[..]

100x zegt niks. Doe hem eens 100.000 keer.
Bij 100.000 keer doet hij er 11% langer over in PHP dan wanneer je MySQL zelf de round functie laat uitvoeren.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')