1 2 3 4 5 6 7 8 9 10 11 12 | $test['hoi'] = "blaat"; switch (TRUE) { case(isset($test['hoi'])): echo "Hoi!<br>"; case (!empty($test['doei']): echo "Doei!"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <cfhttpparam type = "FormField" name = "xml_file" value = "#ConversieXml#"> <cfhttpparam type = "FormField" name = "fa" value = "download_image_from_web"> <cfhttpparam type = "FormField" name = "CFID" value = "#Session.sessionID#"> </cfhttp> <cfset NewXmlContent=cfhttp.FileContent> |
Dan moet je niet deze switch gebruiken... tenzij je een case voor die 'én' situatie maakt.quote:Op vrijdag 1 september 2006 14:32 schreef Hmail het volgende:
Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
Je bedoelt gewoon een formulier in HTML?quote:Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.
In coldfusion gaat dat zoals:
[ code verwijderd ]
1 2 3 4 5 6 7 8 | <input name="tekstveld" type="text" /> <input name="tekstveld_twee" type="text" /> <input type="submit" value="Invoeren" /> </form> |
Heb je niets aan array_push() en in_array()?quote:Op vrijdag 1 september 2006 13:57 schreef Hmail het volgende:
Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...
Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....
[ code verwijderd ]
Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
Met deze class b.v. http://scripts.incutio.com/httpclient/index.phpquote:Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.
In coldfusion gaat dat zoals:
[ code verwijderd ]
1 |
Het staat hier uitgelegd: http://gathering.tweakers.net/forum/list_messages/1133525quote:Op vrijdag 1 september 2006 19:59 schreef Piles het volgende:
Ik heb de volgende tabel:
id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg
Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):
[ code verwijderd ]
Maar nu krijg ik de oudste eerst![]()
Ikke niet snappe![]()
1 2 3 4 | FROM foto GROUP BY id ORDER BY maxdatum DESC |
Jep (als DATETIME, als dat nog uitmaakt).quote:Op vrijdag 1 september 2006 21:18 schreef CraZaay het volgende:
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
Hier gaat het fout:quote:Op zaterdag 2 september 2006 00:29 schreef the_disheaver het volgende:
code misschien handig?![]()
weet ik anders veel, misschien explode je wel op spaties ofzo..
1 2 3 4 5 | *gegevens uit de db halen en verwerken* <td class="table_cell"><?php print "<a href = ".$Rij['download'].">Download</a>";?></td> |
1 |
1 |
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:quote:Op zaterdag 2 september 2006 01:54 schreef warezguy05 het volgende:
bij deze een echte n00b vraag;
ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter
voorbeeld:
$color maar zo heel af en toe weer: $color.
wat heeft die punt voor functie?
1 2 3 4 5 6 | $string2 = 'def'; $output = $string1 . ' ' . $string2; echo $output; // abc def |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //voer de MySQL query uit $result = mysql_query('SELECT * FROM leden'); echo "<table border='1'>"; while($row = mysql_fetch_array($result)) { echo "<tr>\n"; echo "<td>$row[id]</td> <td>$row[naam]</td> <td><a href='$server?id=$row[id]'>verwijder</a></td>\n"; echo "</tr>\n"; } echo "</table>"; //dit stond eerst in een ander document if(isset($_GET['id']) ) { mysql_query('DELETE FROM leden WHERE id='.$_GET['id']); } ?> |
uh een submit gebruiken (m.b.v. javascript je link dus een formulier laten submitten met een veld dat het id als waarde heeft) en dan checken of je een post waarde hebt?quote:Op zaterdag 2 september 2006 11:28 schreef super-muffin het volgende:
oke dat was makkelijk
en dat voor mijn edit? Hoe verhelp ik dat?
1 2 3 | mysql_query('DELETE FROM leden WHERE id='.$_GET['id']); } |
Tja, als je zo bang bent om het verkeerde te deleten, kan je beter geen delete optie inbouwenquote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
jaa leukquote:Op zaterdag 2 september 2006 12:18 schreef Knut het volgende:
Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
in eerste instantie deed ik dat ook altijd, en aan de ene kant heeft het ook zeker voordelen. maar aan de andere kant wordt je database er niet schoner en kleiner op. ik ben er vanaf gestapt, zonder spijt tot nog toe.quote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
Want?quote:Op zaterdag 2 september 2006 12:29 schreef Desdinova het volgende:
[..]
jaa leuk![]()
probeer het maar eens en bederf je eigen voorpret
niet mijn stukje codequote:Op zaterdag 2 september 2006 12:31 schreef Swetsenegger het volgende:
[..]
Want?
je stukje code staat wijd open voor sqlinjection hoor
Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.quote:Op zaterdag 2 september 2006 12:38 schreef Desdinova het volgende:
[..]
niet mijn stukje codemaar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
ok topquote:Op zaterdag 2 september 2006 12:42 schreef Swetsenegger het volgende:
[..]
Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
ok duidelijkquote:Op zaterdag 2 september 2006 02:35 schreef JeRa het volgende:
[..]
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:
[ code verwijderd ]
Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
http://www.php.net/mysql_real_escape_stringquote:Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:
$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);
Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.
Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
1 2 3 4 5 6 7 8 9 | // Prepare statement $stmt = $db->prepare('DELETE FROM `leden` WHERE `naam` = :naam'); $stmt->bindValue('naam', 'Danny'); // Execute $stmt->execute(); unset($stmt); |
1 |
1 2 3 | $data = array (10, 20, 30, 15, 39, 29, 3); ?> |
dat is een goeiequote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
Die snap ik niet? Als ik het volgende heb:quote:Op zaterdag 2 september 2006 19:47 schreef Swetsenegger het volgende:
$row['aantal'] is toch al een array
1 2 3 | $result = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100"); ?> |
Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebbenquote:Op vrijdag 1 september 2006 21:22 schreef Piles het volgende:
[..]
Jep (als DATETIME, als dat nog uitmaakt).
Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto![]()
mysql_fetch_array of mysql_fetch_assoc?quote:Op zaterdag 2 september 2006 20:01 schreef HuHu het volgende:
[..]
Die snap ik niet? Als ik het volgende heb:
[ code verwijderd ]
Hoe krijg ik dan daar een array uit?
Dit voorbeeld is niet voor een CMS of zo. Maar ik wil het wel gaan gebruiken in een heel erg basis CMS waar voor moet ingelogd worden zo dat niet iedereen er bij kan.quote:Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:
$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);
Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.
Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |