abonnement Unibet Coolblue Bitvavo
pi_64648265
goeie, ff proberen!

- edit -
werkt prima zo!
Heb namelijk een winkelmandje, en de producten kwamen er door elkaar in... niet echt handig natuurlijk.

[ Bericht 79% gewijzigd door jeroen2497 op 04-01-2009 16:00:17 ]
  zondag 4 januari 2009 @ 20:25:48 #206
71919 wonderer
Hung like a My Little Pony
pi_64660963
't Is meer een html-ding, maar goed.

Als ik een waarde uit een database haal dit ik in een tekstbalk wil zetten, en daar staan quotes in, dan gaat het op html gebied mis.

1
2
3
<?php
<input type="text" value="iets met "quotes" hier">
?>


Hoe fix ik dat? Is &quot; de enige optie?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  zondag 4 januari 2009 @ 20:30:31 #207
12221 Tijn
Powered by MS Paint
pi_64661214
quote:
Op zondag 4 januari 2009 20:25 schreef wonderer het volgende:
't Is meer een html-ding, maar goed.

Als ik een waarde uit een database haal dit ik in een tekstbalk wil zetten, en daar staan quotes in, dan gaat het op html gebied mis.
[ code verwijderd ]

Hoe fix ik dat? Is &quot; de enige optie?
Je zou het zo kunnen doen:

1<input type="text" value="<?= htmlentities($waarde); ?>" hier">


Met htmlentities() convert PHP de quotes naar de HTML-code (en alle andere speciale karakters waarvoor een HTML-code bestaat). Dan heb je dit probleem niet meer.

Je zou ook de functie addslashes() kunnen gebruiken, dan worden de quotes geescaped met een slash en voorkom je dit probleem ook.
pi_64663078
quote:
Op zondag 4 januari 2009 20:30 schreef Tijn het volgende:

[..]

Je zou het zo kunnen doen:
[ code verwijderd ]

Met htmlentities() convert PHP de quotes naar de HTML-code (en alle andere speciale karakters waarvoor een HTML-code bestaat). Dan heb je dit probleem niet meer.

Je zou ook de functie addslashes() kunnen gebruiken, dan worden de quotes geescaped met een slash en voorkom je dit probleem ook.
htmlentities() is wel de nettere oplossing van de twee.
  zondag 4 januari 2009 @ 21:17:32 #209
71919 wonderer
Hung like a My Little Pony
pi_64663946
Maar ik wil alleen de quotes doen. De rest wordt al voor gezorgd namelijk. En met htmlentities wordt het een zootje.

Slashes werkt niet in het htmlgedeelte (tenminste, toen ik het probeerde kapte hij het alsnog af na de quote).
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  zondag 4 januari 2009 @ 21:19:56 #210
12221 Tijn
Powered by MS Paint
pi_64664083
quote:
Op zondag 4 januari 2009 21:17 schreef wonderer het volgende:
Maar ik wil alleen de quotes doen. De rest wordt al voor gezorgd namelijk. En met htmlentities wordt het een zootje.
Is htmlspecialchars() misschien wat je zoekt? Die zet maar een kleine subset van de hele HTML-specialchars set om.

Je zou zelf een functie kunnen schrijven die van dubbele quotes bijvoorbeeld HTML-entities of enkele quotes ofzo maakt. Dat zou ook je probleem moeten oplossen.
quote:
Slashes werkt niet in het htmlgedeelte (tenminste, toen ik het probeerde kapte hij het alsnog af na de quote).
Hoe had je het toen gedaan?
  zondag 4 januari 2009 @ 21:55:55 #211
71919 wonderer
Hung like a My Little Pony
pi_64666110
Gewoon met addslashes();

Ik vind het zo raar, je zou toch ook gewoon een tekstbalk moeten kunnen maken in puur html met een quote erin?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  zondag 4 januari 2009 @ 21:59:23 #212
12221 Tijn
Powered by MS Paint
pi_64666285
quote:
Op zondag 4 januari 2009 21:55 schreef wonderer het volgende:
Gewoon met addslashes();
Ik heb het net ff zelf geprobeerd en blijkbaar kun je in HTML geen slashes escapen. M'n browser print gewoon de slash en daarna stopt 'ie. Dus dan heeft addslashes() ook geen zin.
quote:
Ik vind het zo raar, je zou toch ook gewoon een tekstbalk moeten kunnen maken in puur html met een quote erin?
Nee, dat kan niet. Je zult de HTML-code of een ander type quotes moeten gebruiken.

[ Bericht 1% gewijzigd door Tijn op 04-01-2009 22:43:04 ]
  zondag 4 januari 2009 @ 22:37:14 #213
71919 wonderer
Hung like a My Little Pony
pi_64668208
Dom. Nou ja, dan weet ik dat. Heb het nu "opgelost" met javascript omdat ik daar toch al mee bezig was, maar als het nog een keer voorkomt, zal ik het onthouden.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  zondag 4 januari 2009 @ 22:43:27 #214
12221 Tijn
Powered by MS Paint
pi_64668508
quote:
Op zondag 4 januari 2009 22:37 schreef wonderer het volgende:
Dom. Nou ja, dan weet ik dat. Heb het nu "opgelost" met javascript omdat ik daar toch al mee bezig was, maar als het nog een keer voorkomt, zal ik het onthouden.
Maar dan hebben bezoekers zonder Javascript dus een niet-werkende site?
  zondag 4 januari 2009 @ 23:38:26 #215
71919 wonderer
Hung like a My Little Pony
pi_64670943
quote:
Op zondag 4 januari 2009 22:43 schreef Tijn het volgende:

[..]

Maar dan hebben bezoekers zonder Javascript dus een niet-werkende site?
Ja. Maar dat hadden ze sowieso al
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_64671432
quote:
Op zondag 4 januari 2009 22:37 schreef wonderer het volgende:
Dom. Nou ja, dan weet ik dat. Heb het nu "opgelost" met javascript omdat ik daar toch al mee bezig was, maar als het nog een keer voorkomt, zal ik het onthouden.
Dus nu valideert je HTML niet meer. Lekker handig debuggen
  zondag 4 januari 2009 @ 23:53:51 #217
71919 wonderer
Hung like a My Little Pony
pi_64671563
quote:
Op zondag 4 januari 2009 23:50 schreef Roy_T het volgende:

[..]

Dus nu valideert je HTML niet meer. Lekker handig debuggen
Ik weet het

Ik ben er ook niet blij mee, maar het is een site die maar door twee personen gebruikt wordt (ik en iemand anders) dus HEEL erg is het niet. Maar ik wilde het ook even weten voor als ik opnieuw tegen een vergelijkbaar probleem aanloop (huidige probleem is on the fly bewerken van tekst in een chatbox), bijvoorbeeld met een forum waar je de titel van een topic bij elk reply houdt of zo. Ik noem maar wat. Ik zal toch niet de enige zijn die tegen het probleem aanloopt.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_64672660
quote:
Op zondag 4 januari 2009 23:53 schreef wonderer het volgende:

Ik weet het

Ik ben er ook niet blij mee, maar het is een site die maar door twee personen gebruikt wordt (ik en iemand anders) dus HEEL erg is het niet.
Maar zoveel moeite is het toch niet om htmlspecialchars() te gebruiken?
  maandag 5 januari 2009 @ 00:44:22 #219
71919 wonderer
Hung like a My Little Pony
pi_64673044
quote:
Op maandag 5 januari 2009 00:29 schreef Roy_T het volgende:

[..]

Maar zoveel moeite is het toch niet om htmlspecialchars() te gebruiken?
Op de een of andere manier werkte het niet (je zag &quot; staan in plaats van ") en ik heb tot nu toe geen tijd/zin gehad om uit te gaan zoeken waarom.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_64674288
quote:
Op maandag 5 januari 2009 00:44 schreef wonderer het volgende:

Op de een of andere manier werkte het niet (je zag &quot; staan in plaats van ") en ik heb tot nu toe geen tijd/zin gehad om uit te gaan zoeken waarom.
Kijk eens in je source. Ik gok op dubbel escapen, waardoor er & amp;quot; komt te staan.

edit: lekkere brakke escaping hier op Fok!, aangezien 'ie van & amp; gewoon "&" maakt.
pi_64691815
Ik wil snel een lijstje van alle tijden tussen 0:00 en 24:00, met een half uur of kwartier er tussen
0:00
0:30
1:00
enz. Hoe kan ik dit makkelijk doen?
0:00
0:15
0:30
0:45
1:00
enz
pi_64692310
"een lijstje" == een array? Een string?
pi_64692678
quote:
Op maandag 5 januari 2009 16:45 schreef Flaccid het volgende:
Ik wil snel een lijstje van alle tijden tussen 0:00 en 24:00, met een half uur of kwartier er tussen
0:00
0:30
1:00
enz. Hoe kan ik dit makkelijk doen?
0:00
0:15
0:30
0:45
1:00
enz
1
2
3
4
5
6
7
8
9
10
11
<?php
$teller = 0;
for($i = 0; $i < 24; $i++)
{
   for($j = 0; $j < 60; $ j+= 15) //of +=30
   {
      $val[$teller] = "$i:$j";
      $teller++;
   }
}
?>


zoiets
pi_64695474
quote:
Op maandag 5 januari 2009 17:04 schreef Database het volgende:

[..]
[ code verwijderd ]

zoiets
Thanks
  maandag 5 januari 2009 @ 21:25:45 #225
75592 GlowMouse
l'état, c'est moi
pi_64705328
Met sprintf kun je voorloopnullen toevoegen.
1
2
3
4
5
6
7
8
<?php
$val 
= array();
for(
$i=0$i<24$i++) {
    for(
$j=0$j<60$j+= 15) {
        
$val[] = sprintf('%02.0f:%02.0f'$i$j);
    }
}
?>
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64705792
quote:
Op maandag 5 januari 2009 21:25 schreef GlowMouse het volgende:
Met sprintf kun je voorloopnullen toevoegen.
[ code verwijderd ]
Maar $i en $j zijn integers, geen floats. Dus kun je %02d gebruiken ipv %02.0f. Korter en duidelijker
pi_64715823
1
2
3
4
5
<?php
"<br>".$variabele."<br>" 
// of 
"<br>$variabele<br>" 
?>


welke is beter te gebruiken en waarom? hele discussie welke je kan gebruiken.
mij is de 1e geleerd. alleen het kan ook met de 2e waarom ? heeft het voordelen nadelen?
Redacted
pi_64716005
Ik gebruik de bovenste, om het leesbaar(der) te houden.
pi_64717562
ik gebruik de eerste; het schijnt sneller te zijn. je kunt voor een array ook echo("array-veld: {$array['veld']}");, maar ".$array['veld']." is sneller, is mij verteld. Ik weet het verder ook niet, maar er zit wel een beetje logica achter, want het is de normale manier, en die 2 "in-text" variabelen zijn denk ik een beetje van php alleen

en natuurlijk is het wel wat overzichtelijker, zeker als je met een zwart-wit editor werkt

mvg
Marco
pi_64718875
quote:
Op dinsdag 6 januari 2009 01:25 schreef cablegunmaster het volgende:

[ code verwijderd ]

welke is beter te gebruiken en waarom? hele discussie welke je kan gebruiken.
mij is de 1e geleerd. alleen het kan ook met de 2e waarom ? heeft het voordelen nadelen?
Allebei even goed en voor zover ik weet ook even snel, maar gebruik in het eerste geval dan wel enkele quotes ipv dubbele quotes, aangezien dubbele quotes geen nut hebben wanneer je er geen $vars in zet
  dinsdag 6 januari 2009 @ 09:30:39 #231
12221 Tijn
Powered by MS Paint
pi_64718947
quote:
Op dinsdag 6 januari 2009 09:26 schreef Roy_T het volgende:

[..]

Allebei even goed en voor zover ik weet ook even snel, maar gebruik in het eerste geval dan wel enkele quotes ipv dubbele quotes, aangezien dubbele quotes geen nut hebben wanneer je er geen $vars in zet
Ik dacht dat enkele quotes sneller zijn dan dubbele omdat PHP de inhoud van de quotes dan niet hoeft te parsen.
pi_64720044
quote:
Op dinsdag 6 januari 2009 09:30 schreef Tijn het volgende:

[..]

Ik dacht dat enkele quotes sneller zijn dan dubbele omdat PHP de inhoud van de quotes dan niet hoeft te parsen.
Dat bedoelde ik met "maar gebruik in het eerste geval dan wel enkele quotes ipv dubbele quotes" (iets te impliciet misschien). Het klopt inderdaad dat enkele quotes sneller zijn. Het scheelt niet veel en zorgt niet voor een trage app, maar in het kader van "nette code" moet je imo enkele en dubbele quotes gebruiken waar ze voor verzonnen zijn (dus alleen dubbele quotes wanneer er iets in staat wat geparsed moet worden, zoals een $var of /n newline ofzo).
pi_64720799
quote:
Op dinsdag 6 januari 2009 09:30 schreef Tijn het volgende:

[..]

Ik dacht dat enkele quotes sneller zijn dan dubbele omdat PHP de inhoud van de quotes dan niet hoeft te parsen.
Ik denk dat het eerste script waarbij het een merkbaar verschil in snelheid oplevert nog in deze reeks gepost moet worden.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  dinsdag 6 januari 2009 @ 10:45:44 #234
187069 slacker_nl
Sicko pur sang
pi_64720948
quote:
Op dinsdag 6 januari 2009 01:25 schreef cablegunmaster het volgende:

[ code verwijderd ]

welke is beter te gebruiken en waarom? hele discussie welke je kan gebruiken.
mij is de 1e geleerd. alleen het kan ook met de 2e waarom ? heeft het voordelen nadelen?

Ik zou gaan voor het tweede, waarom zou je "dit" . $dat . "daar"; syntax gebruiken als dubbele quotes values expanden, wat dus gebeurd in "dit $dat daar";

Verder valt het snelheidsverschil echt mee tussen de ' en " bij het parsen. Zie Vraag over loginsysteem Je zal zien dat single quotes de ene keer sneller zijn dat de dubbele quotes en omgekeerd.

Heb je echt veel "dat" . $dit . "daar" constructies dan zou ik voor (s)printf functies gaan:

$val = sprintf("dit %s daar", $dat);

Dat is pas echt leesbaar.
In theory there is no difference between theory and practice. In practice there is.
pi_64721295
quote:
Op dinsdag 6 januari 2009 10:45 schreef slacker_nl het volgende:

Dat is pas echt leesbaar.
Nee, dat vind jij

Ik vind het ranzig om het door die functie te gooien "voor de mooi" (en zelfs dat niet imo), en daarmee volledig nutteloze overhead te creëren. Persoonlijk gebruik ik ook altijd 'string' . $var . 'string' voor de leesbaarheid, omdat je dan in één oogopslag ziet waar een $var staat. Maar ieder z'n meug natuurlijk
  dinsdag 6 januari 2009 @ 11:03:14 #236
187069 slacker_nl
Sicko pur sang
pi_64721429
Ik wordt echt helemaal leip van "dit" . $dat . "daar" . $zo . "en " . $zus . "constructies"; dat vind ik lelijk, onleesbaar etc etc. Dan is "dit $dat daar $zo en $zus constructies" vele malen leesbaarder. En sprintf is gewoon leesbaarder plus je kan netjes uitlijnen ed. printf("%-20s echt vet", "Dat is pas");

Maar smaken verschillen inderdaad.
In theory there is no difference between theory and practice. In practice there is.
pi_64721732
Ik zie ook veel liever
1
2
3
<?php
echo $var1 ' tekst ' $var2 ' tekst... ';
?>
dan
1
2
3
<?php
echo "$var1 tekst $var2 tekst"
?>


Veel beter onderscheid tussen 'platte' en 'functionele' tekst / variabelen. Veel andere programmeertalen werken overigens niet met de methode uit mijn tweede voorbeeldstukje. In bijvoorbeeld C(#) kun je ook niet zomaar een variabelenaam in een string knallen. Niet meer dan logisch natuurlijk.
pi_64721788
quote:
Op dinsdag 6 januari 2009 10:58 schreef Roy_T het volgende:

[..]

Nee, dat vind jij

Ik vind het ranzig om het door die functie te gooien "voor de mooi" (en zelfs dat niet imo), en daarmee volledig nutteloze overhead te creëren. Persoonlijk gebruik ik ook altijd 'string' . $var . 'string' voor de leesbaarheid, omdat je dan in één oogopslag ziet waar een $var staat. Maar ieder z'n meug natuurlijk
IDE`s vinden dat ook veul mooier, kijk maar naar de kleurverschillen
pi_64721814
quote:
Op dinsdag 6 januari 2009 11:14 schreef Scorpie het volgende:

[..]

IDE`s vinden dat ook veul mooier, kijk maar naar de kleurverschillen
NotePad++ vindt het inderdaad niet zo fijn om alles maar in stringvorm te parsen.
pi_64721873
quote:
Op dinsdag 6 januari 2009 10:41 schreef SuperRembo het volgende:

[..]

Ik denk dat het eerste script waarbij het een merkbaar verschil in snelheid oplevert nog in deze reeks gepost moet worden.
Dan is er nog altijd het argument dat je voor het typen van ' geen shift nodig hebt, en voor het typen van " wel. Gemak dient de mens, en ik ga niet onnodig " gebruiken als ' volstaat.
pi_64721890
quote:
Op dinsdag 6 januari 2009 11:14 schreef Scorpie het volgende:

IDE`s vinden dat ook veul mooier, kijk maar naar de kleurverschillen
Klopt, al zou je IDE's en code editors nog wel zo kunnen tweaken dat 'ie een $var binnen dubbele quotes een ander kleurtje geeft. En het is een stukje gewenning uit andere talen, zoals Tuvai al aangeeft. Ik programmeer niet alleen in PHP en ben gewend dat je een $var niet zomaar in een string kan knallen. Maar PHP geeft ook weinig om data types uiteraard (rekenen met strings ).
pi_64722057
Sowieso voorkom je voor jezelf als programmeur zo onnodige fouten. Ik had laatst nog iemand op MSN die me vroeg waarom zijn script 'niks deed outputten'. Kwam het op het volgende neer:

1
2
3
4
<?php
$var 
'omfg wtf bbq';
echo 
'$var = ' $var 'hehe';
?>


Wat had deze meneer echter gedaan:

1
2
3
4
<?php
$var 
'omfg wtf bbq';
echo 
"$var = $varhehe";
?>


Oftewel, PHP gaat zoeken naar variabele $varhehe en vindt uiteraard niks. Ik vind het gewoon een slordige gewoonte, alles maar als stringetjes te parsen. PHP zou dat eigenlijk niet moeten toelaten, dat doet het gros van de andere 'grote' programmeertalen ook niet. Ik zie het derhalve als een soort van automatische foutcorrectie voor slechte programmeurs.
pi_64722233
quote:
Op dinsdag 6 januari 2009 11:22 schreef Tuvai.net het volgende:
Sowieso voorkom je voor jezelf als programmeur zo onnodige fouten. Ik had laatst nog iemand op MSN die me vroeg waarom zijn script 'niks deed outputten'. Kwam het op het volgende neer:
[ code verwijderd ]

Wat had deze meneer echter gedaan:
[ code verwijderd ]

Oftewel, PHP gaat zoeken naar variabele $varhehe en vindt uiteraard niks. Ik vind het gewoon een slordige gewoonte, alles maar als stringetjes te parsen. PHP zou dat eigenlijk niet moeten toelaten, dat doet het gros van de andere 'grote' programmeertalen ook niet. Ik zie het derhalve als een soort van automatische foutcorrectie voor slechte programmeurs.
Eensch
pi_64723696
Ik wil de geheime vraag van een gebruiker tonen als deze zijn wachtwoord vergeten is.
Probleem is dat ik elke keer Je geheime vraag: 'Resource id #3' als antwoord krijg en niet de échte geheime vraag zoals die in de database staat.
Waarom krijg ik Resource id #3????

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
<?php
error_reporting
(E_ALL);
mysql_connect("localhost""root""")or die("mysql_error");
mysql_select_db("opdracht1")or die("mysql_error");
$username $_POST['username'];
if (isset(
$_POST['submit']))
{
    
$query "SELECT `vraag` FROM `members` WHERE `username` = '".$username."'";
    
$result mysql_query($query);
    
$rowcountmysql_num_rows($result);
    
    if (
$rowcount 0)
    {
    echo 
"Je geheime vraag: '".$result."'";
    
    <
tr>
        <
td>
        <
input type="text" name="antwoord">
        </
td>
    </
tr>
    <
tr>
        </
td>
        <
input type="submit" name="geefww" value="Geef mijn wachtwoord!";
        
    }
    else
    {
    echo 
"Deze gebruikersnaam is niet bekend bij ons.";
    }
}
else
{
echo 
"Gelieve wel een username in te vullen";
}
?>
Er staan trouwens wel ?> en <?php om dat html heen alleen verwijderd FOK dat op de een of andere manier.
Bodybuilding #1
Hardlopen #2
pi_64723735
quote:
Op dinsdag 6 januari 2009 11:22 schreef Tuvai.net het volgende:

Oftewel, PHP gaat zoeken naar variabele $varhehe en vindt uiteraard niks. Ik vind het gewoon een slordige gewoonte, alles maar als stringetjes te parsen. PHP zou dat eigenlijk niet moeten toelaten, dat doet het gros van de andere 'grote' programmeertalen ook niet. Ik zie het derhalve als een soort van automatische foutcorrectie voor slechte programmeurs.
Eens. Volgens mij kan het in de meeste andere talen ook niet, omdat ze niet eisen dat een variabele met een bepaald teken (bijvoorbeeld $) begint. En als je variabelenaam gewoon een aantal letters is, zoek dan de variabele maar eens tussen de andere letters.
  dinsdag 6 januari 2009 @ 12:09:40 #246
75592 GlowMouse
l'état, c'est moi
pi_64723758
mysql_query($query) geeft niet de vraag terug maar een resource. Je moet die vraag nog opvragen, bijvoorbeeld met mysql_result.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64723761
Omdat $result een Resource is die de MySQL resultaten bevat. Kijk eens naar iets als: http://nl2.php.net/mysql_fetch_assoc
pi_64724097
quote:
Op dinsdag 6 januari 2009 12:07 schreef Kerol het volgende:
Ik wil de geheime vraag van een gebruiker tonen als deze zijn wachtwoord vergeten is.
Probleem is dat ik elke keer Je geheime vraag: 'Resource id #3' als antwoord krijg en niet de échte geheime vraag zoals die in de database staat.
Waarom krijg ik Resource id #3????
[ code verwijderd ]

Er staan trouwens wel ?> en <?php om dat html heen alleen verwijderd FOK dat op de een of andere manier.
1) $resource is gewoon jouw uitvoer van de functie mysql_query(). Je doet verder nog niks met deze uitvoer/query. zoek eens op mysql_fetch_array() of mysql_fetch_assoc().
2) mysql_num_rows() is een erg achterhaalde functie.
3) Je script is erg vatbaar voor SQL Injection; je gebruikt immers rechtstreeks een variabele die gebruik maakt van een $_POST waarde zonder hier ook maar enige controle op uit te voeren.
pi_64724189
Thanks all
Bodybuilding #1
Hardlopen #2
  dinsdag 6 januari 2009 @ 12:32:23 #250
187069 slacker_nl
Sicko pur sang
pi_64724525
quote:
Op dinsdag 6 januari 2009 11:22 schreef Tuvai.net het volgende:
Sowieso voorkom je voor jezelf als programmeur zo onnodige fouten. Ik had laatst nog iemand op MSN die me vroeg waarom zijn script 'niks deed outputten'. Kwam het op het volgende neer:
[ code verwijderd ]

Wat had deze meneer echter gedaan:
[ code verwijderd ]

Oftewel, PHP gaat zoeken naar variabele $varhehe en vindt uiteraard niks. Ik vind het gewoon een slordige gewoonte, alles maar als stringetjes te parsen. PHP zou dat eigenlijk niet moeten toelaten, dat doet het gros van de andere 'grote' programmeertalen ook niet.
Dat los je gewoon op dmv ${var}hehe of zoals php het ook toestaat iirc: {$var}hehe.
In theory there is no difference between theory and practice. In practice there is.
pi_64725269
quote:
Op dinsdag 6 januari 2009 12:19 schreef Tuvai.net het volgende:

3) Je script is erg vatbaar voor SQL Injection; je gebruikt immers rechtstreeks een variabele die gebruik maakt van een $_POST waarde zonder hier ook maar enige controle op uit te voeren.
Vooral dit is een goede Kerol. Want wat zal er gebeuren als iemand als username "';DELETE FROM `members` WHERE 1 OR `username` = '" invult?

Juist, dan krijg je dit...

1
2
SELECT `vraag` FROM `members` WHERE `username` = '';
DELETE FROM `members` WHERE 1 OR `username` = ''


En weg zijn al je members :)
  dinsdag 6 januari 2009 @ 12:58:27 #252
75592 GlowMouse
l'état, c'est moi
pi_64725290
quote:
Op dinsdag 6 januari 2009 12:57 schreef Roy_T het volgende:

[..]

Vooral dit is een goede Kerol. Want wat zal er gebeuren als iemand als username "';DELETE FROM `members` WHERE 1 OR `username` = '" invult?

Juist, dan krijg je dit...
[ code verwijderd ]

En weg zijn al je members
Lees de documentatie bij mysql_query eens goed
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64727575
quote:
Op dinsdag 6 januari 2009 12:58 schreef GlowMouse het volgende:

Lees de documentatie bij mysql_query eens goed
Details

Ondanks dat dit inderdaad niet werkt, is het natuurlijk wel degelijk gevaarlijk om data richting je query niet te escapen (dat weet jij ook wel, maar ik stress het even voor Kerol ).
  dinsdag 6 januari 2009 @ 14:53:41 #254
187069 slacker_nl
Sicko pur sang
pi_64729526
Daarom gebruik je PDO...
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 6 januari 2009 @ 14:54:20 #255
12221 Tijn
Powered by MS Paint
pi_64729554
quote:
Op dinsdag 6 januari 2009 14:53 schreef slacker_nl het volgende:
Daarom gebruik je PDO...
Helaas zijn er teveel hosts die dat niet ondersteunen, net als mysqli.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')