We zijn niet een enorme site, maar zo'n 8600 unieke bezoeken per dagquote:Op woensdag 20 juni 2007 13:58 schreef PiRANiA het volgende:
[..]
als het te lastig is gaan ze gelijk naar andere site...
tenzij je een grote site hebt...
Even goed nog lekkerquote:Op woensdag 20 juni 2007 14:54 schreef Darkomen het volgende:
[..]
We zijn niet een enorme site, maar zo'n 8600 unieke bezoeken per dag
Moet ik hem ff ergens uploaden voor jullie?quote:Op woensdag 20 juni 2007 15:03 schreef PiRANiA het volgende:
You need to be a subscriber and log in to access this file. ><
te fokkin irritantvp
stats zijn altijd leukquote:Op woensdag 20 juni 2007 15:16 schreef Xcalibur het volgende:
Ik gebruik nu ook zo'n vraag-check op een phpBB board trouwens, en die werkt feilloos... sinds 11 mei zo'n 1100 spambots geblocked
Geen idee eigenlijk.quote:Op woensdag 20 juni 2007 13:31 schreef WyriHaximus het volgende:
[..]
Hoe vaak proberen ze het eingelijk? Ook altijd leuk om te weten
Ow valt nog mee dus. Heb tegen woordig een auto ban systeem wat na 3 keer de CAPTCHA in 3 dagen fout je banned voor 3 dagen. En heb tot nu toe eingelijk iedere dag wel 3 bansquote:Op woensdag 20 juni 2007 15:48 schreef fokME2 het volgende:
[..]
Geen idee eigenlijk.De site is niet (zo heel) druk bezocht, maar voor de beveiliging kwamen er zo'n 10 bots per dag langs?
![]()
je mag altijd upload.bruggema.nl misbruiken voor dit soort zaakjes (al zit er wel een limiet opquote:Op woensdag 20 juni 2007 15:08 schreef WyriHaximus het volgende:
[..]
Moet ik hem ff ergens uploaden voor jullie?
http://rapidshare.com/fil(...)07-06-08.tar.gz.html sorry voor de rapidshare link maar dat was ff het makkelijksts en snelst![]()
* WyriHaximus moet eens eigen filehosting gaan bouwen![]()
Zal het onthouden alleen net laptop al afgesloten waar het op staatquote:Op woensdag 20 juni 2007 15:55 schreef Chandler het volgende:
[..]
je mag altijd upload.bruggema.nl misbruiken voor dit soort zaakjes (al zit er wel een limiet op)
tee
vee
[sub]pee[/sup]
ik denk dat voor de eerste 3 keer fout 10 minuten ook wel genoeg is hoor.quote:Op woensdag 20 juni 2007 15:52 schreef WyriHaximus het volgende:
[..]
Ow valt nog mee dus. Heb tegen woordig een auto ban systeem wat na 3 keer de CAPTCHA in 3 dagen fout je banned voor 3 dagen. En heb tot nu toe eingelijk iedere dag wel 3 bans. Zit nog te wachten op de 1e auto ban van iemand die al eens eerder gebanned is, ben ik hem gelijk 6 adgen kwijt
.
True, zit wel te monitoren (krijg mailtjes) wat er fout gaat en het zijn altijd. Nu net laatsts me eerste echte user gehad die het fout had. Op honderd duizenden bot pogingenquote:Op woensdag 20 juni 2007 15:57 schreef PiRANiA het volgende:
[..]
ik denk dat voor de eerste 3 keer fout 10 minuten ook wel genoeg is hoor.
Daarna, na weer 3 keer gewoon permbannen
is de code goed leesbaar?quote:Op woensdag 20 juni 2007 16:00 schreef WyriHaximus het volgende:
[..]
True, zit wel te monitoren (krijg mailtjes) wat er fout gaat en het zijn altijd. Nu net laatsts me eerste echte user gehad die het fout had. Op honderd duizenden bot pogingen. Maar het is een goeie als het een user is is 3 dagen wel veel
![]()
http://beta.wyrihaximus.net/en-guestbook.htmlquote:
Laat maar, ik heb het al:quote:
1 2 3 4 5 6 7 8 9 | b1.naam as fabrikant_naam, b2.naam as leverancier_naam, b3.naam as leverancier2_naam from documentatie as doc, bedrijven as b1, bedrijven as b2 left outer join bedrijven as b3 on doc.leverancier2_id = b3.bedrijf_id and doc.fabrikant_id=b1.bedrijf_id and doc.leverancier_id=b2.bedrijf_id |
oeh, das een enorme captcha :Pquote:Op woensdag 20 juni 2007 18:12 schreef WyriHaximus het volgende:
[..]
http://beta.wyrihaximus.net/en-guestbook.html
Test site voor me site :). (Word later ook de nieuwe CAPTCHA's op zichtbaar :).)
EDIT: Het kan zijn dat je af en toe een error ziet :@
1 |
Ok maar verder wel redelijk goed leesbaar? Ga het er zo ff inzetten dat van jouwquote:Op woensdag 20 juni 2007 18:52 schreef PiRANiA het volgende:
[..]
oeh, das een enorme captcha
soms is het echter niet goed leesbaar...
tip:
[ code verwijderd ]
zomaar ff getypt, probeer het even
als er dan op de link geklikt wordt, herlaadt de code.
Heb je script iets wat aangepast zodat ze niet ff vlug kunnen refreshen snel achter elkaar. Plus je math code werkte niet die er in zit nu wel. Ow en heb javascript:void(0); ipv # gedaan bij href want dan schiet je niet omhoog :).quote:Op woensdag 20 juni 2007 19:44 schreef WyriHaximus het volgende:
[..]
Ok maar verder wel redelijk goed leesbaar? Ga het er zo ff inzetten dat van jouw :D. Danke!
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script language="javascript"> function captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(show) { if(show) { document.getElementById('captcha_refresh_3801a54da81c6d6d28c8b45b2d2c2969').innerHTML = 'You need to wait 5 secconds before you can refresh the image again...'; } setTimeout(function() { document.getElementById('captcha_refresh_3801a54da81c6d6d28c8b45b2d2c2969').innerHTML = '<a href="javascript:void(0);" onClick="javascript:document.getElementById('captcha_3801a54da81c6d6d28c8b45b2d2c2969').src='includes/image_code.php?ih=00dbf059b1cbcdfe16f3dd5fd242367f&random='+Math.floor(Math.random()*65000);captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(true);">Refresh image if you can't read it properly...</a>'; },5000) } captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(false); |
5 secconds?quote:Op woensdag 20 juni 2007 21:06 schreef WyriHaximus het volgende:
[..]
Heb je script iets wat aangepast zodat ze niet ff vlug kunnen refreshen snel achter elkaar. Plus je math code werkte niet die er in zit nu wel. Ow en heb javascript:void(0); ipv # gedaan bij href want dan schiet je niet omhoog.
[ code verwijderd ]
My engls is not zo goedquote:Op woensdag 20 juni 2007 21:31 schreef PiRANiA het volgende:
[..]
5 secconds?
maar verder is het een goede vooruitgang
Als iemand de CAPTCHA passed dan neem ik aan? Niet dat het fout gaat en dat je het daarna wijd open zetquote:Op woensdag 20 juni 2007 21:33 schreef PiRANiA het volgende:
en ik doe meestal bij de 1e comment een captcha, en daarna om de 5 comments
Komt door het design ga ik nog wel aan sleutelenquote:Op woensdag 20 juni 2007 21:32 schreef PiRANiA het volgende:
zou je btw je inputbox-randjes niet wat duidelijker maken?
het is haast niet te lezen... ik moest hoveren met me uis om te kijken waar het input-veld was..
Omdat het het moeilijker voor bots maakt om uit te vogelen wat er neer gezet moet worden, ik maak straks/morgen wel iets dat je op een link klikt en dat je stilstaande versie krijgt voor gevallen zolas jijquote:Op donderdag 21 juni 2007 00:48 schreef super-muffin het volgende:
Waarom geanimeerd?
Op mijn werk kan ik het formulier dus niet gebruiken, want daar zijn geanimeerde afbeeldingen geblokt.
Ik gebruik dit:
http://danielpunt.nl/captcha
Of anders dat idee van de vraag 'wat voor kleur heeft een gele banaan?'
moet dus: seconds zijnquote:Op woensdag 20 juni 2007 21:41 schreef WyriHaximus het volgende:
[..]
My engls is not zo goed.
Was wel de bedoeling ^^.
whehe, neequote:[..]
Als iemand de CAPTCHA passed dan neem ik aan? Niet dat het fout gaat en dat je het daarna wijd open zet.
okeequote:[..]
Komt door het design ga ik nog wel aan sleutelen.
ah, kijkquote:Op woensdag 20 juni 2007 23:57 schreef WyriHaximus het volgende:
Dit is die captcha waar ik het over had:
http://beta.wyrihaximus.net/en-guestbook.html
Misschien nog wat maar randomness er in maar dit is volgens mij voor een heleboel mensen al een stuk beter.
Aye ff doen zoquote:Op donderdag 21 juni 2007 08:42 schreef PiRANiA het volgende:
[..]
moet dus: seconds zijn
[..]
whehe, nee
[..]
okee
En hoe vind je het?quote:
chil, maar wat martijn (zo heet hij denk) zegt:quote:Op donderdag 21 juni 2007 08:56 schreef WyriHaximus het volgende:
[..]
Aye ff doen zo.
Doh.
^^ is nog helemaal standaard eigenlijk ga later wel leuke custom dingetjes er in doen
[..]
En hoe vind je het?![]()
quote:Op donderdag 21 juni 2007 08:58 schreef ikheetmartijn het volgende:
Ziet er leuk uit, grappig bedacht. Maar denk je niet dat de gebruiker het irritant vind omdat hij langer moet wachten?
quote:Op donderdag 21 juni 2007 08:58 schreef ikheetmartijn het volgende:
Ziet er leuk uit, grappig bedacht. Maar denk je niet dat de gebruiker het irritant vind omdat hij langer moet wachten?
Lijkt er wel op jaquote:Op donderdag 21 juni 2007 09:01 schreef PiRANiA het volgende:
[..]
chil, maar wat martijn (zo heet hij denk) zegt:
[..]
correctquote:
Dat zou wel relaxt zijn.quote:Op donderdag 21 juni 2007 09:21 schreef WyriHaximus het volgende:
Duurt nu +/- 5 a 6 sec en wil dat terug brengen naar max 3.
Link naar het script wat ik nu ingebouwd heb staat in het vorige deel dacht ik. Maar je kunt gewoon de tijd instellen hoe lang het duurt voordat i naar het volgende plaatje gaatquote:Op donderdag 21 juni 2007 09:39 schreef ikheetmartijn het volgende:
[..]
correct
[..]
Dat zou wel relaxt zijn.
Ik vind het anders wel een slim idee. Je hebt ook wel eens van die CAPTCHA (wist niet dat dat zo werd genoemd) systemen waar je pas na 3x typen het goede antwoord hebt -> DAT is pas irritant
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 | $a = 3; $c = 22 + $a; $f = array(2,34,6); $r = -1; $e = 22 * ( $f[0]-2 ); $w = $e + 1; for( $x = 0; $x < 17; $x++ ) { $c += 3; while ( $y < 3 ) { $f[$y] +=$c; $y -= $r; } } $s = array_reverse($f); $f[0] = array_pop($f); $f[3] = array_pop($s); for ( $x = 0; $x < $a; $x++) { if ($x == 2) { for($d=0;$d<strlen($f[$e]);$d++) { $t[$d]=substr($f[$e],$d,1); } $f[$e]=array(); $f[$e][$e]=$t[$w]; $f[$e][$w]=$t[$w-1]+2; $f[$e]=implode($f[$e]); } $f[$x+1] += $c; switch ($x * 7) { case $a * 2 + 1: $f[$x] -= 53; case $c - 11: $f[$x] += 6; case $c + 3: $f[$x] -= 5; } } for ( $x = $a-1;$x < 4; $x++) { $f[$x] -= (15 * $x); } $f=array_reverse($f); while ( $p = array_pop($f) ) { printf("%c",$p); } ?> |
Dat kan ik ook :oquote:
1 2 3 | die('bitch!'); ?> |
quote:
SPOILEROm 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.Hoe heb je dat gemaakt?![]()
Uit de losse pols en gelijk in het reageer scherm dus bijt me er niet op vast :P.quote:Op donderdag 21 juni 2007 13:42 schreef Boy_Snakeye het volgende:
Ik had het in het vorig topic over om mijn gastenboek te beveiligen tegen Bots, toen werd CAPTCHA genoemd.
Ik zat te denken, met zo'n vraag van: "welk jaar is het" dat als iemand invult 2007 dat dan de submitbutton klikbaar is.
iemand een idee hoe ik dat het best kan schrijven. Ik weet niet echt hoe ik moet beginnen :{
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <head> <script type="text/javascript"> function checkyear(year){ var d = new Date(); var thisyear = d.getFullYear(); if (year==thisyear){ form1.btn_submit.disabled=false; }else{ form1.btn_submit.disabled=true; } } </script> </head> <body> <form name="form1" id="form1"> Waar voor jaar is het nu?<input type="text" name="txt_year" id="txt_year" onkeyup="checkyear(this.value);" /><br/> <input type="submit" name="btn_submit" id="btn_submit" value="Ok" disabled /> </form> </body> </html> |
Ga ik meteen proberenquote:Op donderdag 21 juni 2007 14:08 schreef ikheetmartijn het volgende:
Zou ik gewoon met javascript doen:
[ code verwijderd ]
In de meest simpele vorm van javascript:quote:Op donderdag 21 juni 2007 13:42 schreef Boy_Snakeye het volgende:
Ik had het in het vorig topic over om mijn gastenboek te beveiligen tegen Bots, toen werd CAPTCHA genoemd.
Ik zat te denken, met zo'n vraag van: "welk jaar is het" dat als iemand invult 2007 dat dan de submitbutton klikbaar is.
iemand een idee hoe ik dat het best kan schrijven. Ik weet niet echt hoe ik moet beginnen :{
1 2 | <input type="submit" id="submitbutton" disabled="disabled"> |
Idd en bots negeren JS eingelijk altijdquote:Op donderdag 21 juni 2007 14:09 schreef Geqxon het volgende:
[..]
In de meest simpele vorm van javascript:
[ code verwijderd ]
Het punt is alleen wel dat bots dit makkelijk uit kunnen lezen
En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?quote:Op donderdag 21 juni 2007 14:14 schreef WyriHaximus het volgende:
Idd en bots negeren JS eingelijk altijd.
Deze werkt niet, aangezien de button disabled blijft.....quote:Op donderdag 21 juni 2007 14:08 schreef ikheetmartijn het volgende:
Zou ik gewoon met javascript doen:
[ code verwijderd ]
Deze werkt welquote:Op donderdag 21 juni 2007 14:09 schreef Geqxon het volgende:
[..]
In de meest simpele vorm van javascript:
[ code verwijderd ]
Het punt is alleen wel dat bots dit makkelijk uit kunnen lezen
Slim.quote:Op donderdag 21 juni 2007 14:16 schreef ikheetmartijn het volgende:
[..]
En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?
1 2 3 4 5 6 7 8 | var submitbutton = document.getElementById('submitbutton'); </script> <form method="post" action="goaway.php" onsubmit="if (submitbutton.disabled == false){ this.action = 'index.php'; }"> <input type="text" onkeyup="if (this.value == '2007') submitbutton.disabled = false; else submitbutton.disabled = true"> <input type="submit" id="submitbutton" disabled="disabled"> </form> |
Mijn ervaring met bots is dat ze uitlezen welke velden er in een form staan. Deze checken ze op bekende veld namen en gooien er dan iets in wat overeen komt met een bekend veldnaam en anders of random crap of niks of iets standaards. Waar door ze infeite altijd al falen met een CAPTCHA (tenzij ze het kennen danquote:Op donderdag 21 juni 2007 14:16 schreef ikheetmartijn het volgende:
[..]
En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?
Goeie die van de submit knop uitschakelenquote:
Nieuwste versie van firefox....kan zijn dat ik iets verkeerd doe....quote:Op donderdag 21 juni 2007 14:27 schreef ikheetmartijn het volgende:
Apart, bij mij werkt het perfect (in IE en Firefox).
Toevallig een ouwe browser?
1 |
Idd of pwnd.php ofzoquote:Op donderdag 21 juni 2007 14:36 schreef Geqxon het volgende:
Bovenstaande methode is nog leuker als je op goaway.php een alternatief gastenboek voor bots neerzet. Laat ze maar rotten, in een speciaal voor zichzelf gemaakte cel. Ook is een IP ban een mogeljjkheid, aangezien een normale (goedwillende) user zo goed als onmogelijk op goaway.php terrecht kan komen.
Mensen die JS uit hebben staan zullen naar mijn weten een grijze submitbutton krijgen, die niet goed te krijgen is. Dus ook die zullen nooit op pwnd.php (quote:Op donderdag 21 juni 2007 14:39 schreef WyriHaximus het volgende:
[..]
Idd of pwnd.php ofzo. Maakt het gelijk een stuk makkelijker om bots te identificeren en gebruikers die angstig zijn om hun privacy en daarom JS uit hebben staan
.
Nee, is hetzelfde, alleen verkort.quote:Op donderdag 21 juni 2007 14:38 schreef Boy_Snakeye het volgende:
[..]
Nieuwste versie van firefox....kan zijn dat ik iets verkeerd doe....
Is die van jou dan minder bots gevoelig dan voor die ander van Geqxon ?
True, en zo veel zijn het er nou ook weer nietquote:Op donderdag 21 juni 2007 14:41 schreef Geqxon het volgende:
[..]
Mensen die JS uit hebben staan zullen naar mijn weten een grijze submitbutton krijgen, die niet goed te krijgen is. Dus ook die zullen nooit op pwnd.php () komen
I don'tquote:Op donderdag 21 juni 2007 14:39 schreef Geqxon het volgende:
En martijn, if you don't mind:
Eerlijk is eerlijk, functies zijn mooier. Iets dat ik normaal altijd wel gebruik, maar niet bij de drie lijntjes code die voor iets als dit nodig zijnquote:Op donderdag 21 juni 2007 14:44 schreef ikheetmartijn het volgende:
[..]
Nee, is hetzelfde, alleen verkort.
Ik hou er alleen van alles lekker overzichtelijk in functies te zetten.
Plus hij heeft m'n tweede opmerking er in verwerkt (het later invullen van de action param). -> wat hem dus idd minder gevoelig maakt voor bots.
ip-range-bannen...quote:Op donderdag 21 juni 2007 14:49 schreef WyriHaximus het volgende:
Wat mij ook opvalt aan de 22 bans in me ban tabel (waarvan er 5 actief zijn) er 5 tussen zitten die op een volgend zijn, waar dus waarschijnlijk hele racks met servers zijn gehuurt. Dat maakt het bannen wel erg makkelijk
. Btw zijn hier niet blacklists voor
?
Bij mij tussen de 50 en 100 perdagquote:Op donderdag 21 juni 2007 15:07 schreef fokME2 het volgende:
Ook wel laggen om op die pwnd.php gewoon de berichten te plaatsen.Vraag me af hoe snel dat gaat.
![]()
Wat denkje dat ik met Dat maakt het bannen wel erg makkelijk bedoeldequote:
helaas, had de eerste 3 berichten binnen een 3 kwartier in het gastenboek.quote:Op donderdag 21 juni 2007 14:39 schreef Geqxon het volgende:
En martijn, if you don't mind:
[ code verwijderd ]
Nog een stapje dichter bij een bot-vrij gastenboek, zonder de user al te veel te pijnigen.
Waarschuwing boven in zetten dat zonder JS ze bepaalde dingen niet kunnen doen?quote:Op donderdag 21 juni 2007 15:42 schreef super-muffin het volgende:
En wat nou als een bezoeker een link plaatst?
@martijn: Zo sluit je de gebruikers zonder JS uit. Ook al is dat maar +/- 5%.
Je bedoeld deze?quote:Op donderdag 21 juni 2007 15:42 schreef ikheetmartijn het volgende:
Ook met die Javascript functie dat hij de action param later invult? vast niet.
1 2 3 4 5 6 7 8 | var submitbutton = document.getElementById('submitbutton'); </script> <form method="post" action="goaway.php" onsubmit="if (submitbutton.disabled == false){ this.action = 'index.php'; }"> <input type="text" onkeyup="if (this.value == '2007') submitbutton.disabled = false; else submitbutton.disabled = true"> <input type="submit" id="submitbutton" disabled="disabled"> <input type="hidden" name="sid" value="1543ac7dee2090c76ace66dc0c5325a3" /><input type="hidden" name="sid" value="1543ac7dee2090c76ace66dc0c5325a3" /></form> |
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 | function getXMLObject(){ if (window.XMLHttpRequest) return new XMLHttpRequest(); else if (window.ActiveXObject) return ActiveXObject("Microsoft.XMLHTTP"); } function sendForm(form){ pars = ""; for (i = 0; i < form.length; i++){ pars += (i > 0 ? "&" : ""); pars += form.elements[i].name + "=" + form.elements[i].value; } http = getXMLObject(); http.open("POST",postURL,true); http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.onreadystatechange = function() { if (http.readyState == 4) { if (http.responseText == postResponse) document.location = forwardURL; else alert(errorMessage); } } http.send(pars); } function tryAnswer(value){ submitButton = document.getElementById("submitbutton"); if (value == secretAnswer) submitButton.disabled = false; else submitButton.disabled = true; } secretAnswer = 2007 // Antwoord op de geheime vraag postURL = "ajax.php"; // Waar het form naar gesubmit wordt forwardURL = "bedankt.php"; // Waar de gebruiker naar doorgestuurd wordt postResponse = "readysetgo"; // Het antwoord dat de postURL geeft als alles oké is errorMessage = "Error!"; // De error als de postURL geen goed antwoord geeft </script> <form> Naam: <br /> <input type="text" name="naam"><br /> Bericht: <br /> <input type="text" name="bericht"><br /> In welk jaar leven we nu? <br /> <input type="text" onkeyup="tryAnswer(this.value)"><br /> <input type="button" id="submitbutton" value="Verstuur" onclick="sendForm(this.form)" disabled="disabled"><br /> </form> |
:S:Pquote:Op donderdag 21 juni 2007 15:29 schreef WyriHaximus het volgende:
[..]
Bij mij tussen de 50 en 100 perdag.
[..]
Wat denkje dat ik met Dat maakt het bannen wel erg makkelijk bedoelde.
beetje variatie kan geen kwaadquote:Op donderdag 21 juni 2007 19:21 schreef Geqxon het volgende:
Daar waar het antwoord op de vraag een door de beheerder in te vullen variabele is heb ik hier dus 2007 van gemaakt. Maar daar kun je zelf natuurlijk alles van maken, desnoods welke kleur een rode auto heeft
Oeps, dit is dus het PHP topic!
<!--quote:Op donderdag 21 juni 2007 20:19 schreef Geqxon het volgende:
Heerlijk dat Fok!, plakt het zomaar mijn session-id tussen mijn sourcecode.
Yup, en dan hopen dat er niks op IP gelocked itquote:Op vrijdag 22 juni 2007 18:36 schreef PiRANiA het volgende:
wat nou als je iemands sessioncode heb? wat dan?
in het koekje zetten?
quote:Op vrijdag 22 juni 2007 19:14 schreef WyriHaximus het volgende:
Tof heb me pwnd.php geïmplementeerd.
quote:Your IP (xx.xx.171.153) has been banned from this site for the following reason: Trapped in the anti-spambot trap and is banned forever!!!
pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daarquote:
noem het anders guestbook.html en plaats het in een link: "sign my guestbook"quote:Op vrijdag 22 juni 2007 19:22 schreef WyriHaximus het volgende:
[..]
pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daar. 1 ding, was pwnd.php niet een hint dat er iets 'slechst' zou komen?
Maakt verder niet uit hoor, ik heb het al het contact met IP 83.98.159.6 bij voorbaat maar stilgelegd in m'n gateway @AMSquote:Op vrijdag 22 juni 2007 19:22 schreef WyriHaximus het volgende:
[..]
pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daar. 1 ding, was pwnd.php niet een hint dat er iets 'slechst' zou komen?
Mwah dan gaan users er op klikken, bots kan ik nog tegenhouwden met rel="nofollow"quote:Op vrijdag 22 juni 2007 19:26 schreef PiRANiA het volgende:
[..]
noem het anders guestbook.html en plaats het in een link: "sign my guestbook"
Hahahaha! Ja het is foutgevoelig. Submit knop word standaard uitgezet en tegelijkertijd met de form.action aanpassing op enabled gezet. Dan heb ik nog wel het probleem dat users zonder javascript geen comments ergens op kunnen maken. Was 5% wat iemand zei (is evengoed nog veel), moet nog iets verzinnen dat hun het wel kunnen of gewoon niet want ze zijn irritantquote:Op vrijdag 22 juni 2007 19:30 schreef JeRa het volgende:
[..]
Maakt verder niet uit hoor, ik heb het al het contact met IP 83.98.159.6 bij voorbaat maar stilgelegd in m'n gateway @AMSdenk je niet dat het enigzins foutgevoelig is? Wat gebeurt er met iemand die javascript heeft uitgeschakeld, om maar wat te noemen?
Ze zijn slim, vrijwel alle XSS exploits gaan via Javascript.quote:Op vrijdag 22 juni 2007 19:34 schreef WyriHaximus het volgende:
of gewoon niet want ze zijn irritant.
Dan moeten ze gewoon opletten waar ze op klikken imoquote:Op vrijdag 22 juni 2007 19:39 schreef JeRa het volgende:
[..]
Ze zijn slim, vrijwel alle XSS exploits gaan via Javascript.En niet alleen in IE, maar ook Fx en Opera.
of je doet het zo:quote:Op vrijdag 22 juni 2007 19:42 schreef WyriHaximus het volgende:
[..]
Dan moeten ze gewoon opletten waar ze op klikken imo :Y . Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software -O- .
1 2 3 4 5 6 | <input style="height:1px; width:1px" name="name"> <input style="height:1px; width:1px" name="email"> <input style="height:1px; width:1px" name="url"> <textarea style="height:1px; width:1px"></textarea> <input type="submit" style="height:1px; width:1px"> |
waaronder ikquote:Op vrijdag 22 juni 2007 19:34 schreef WyriHaximus het volgende:
[..]
Hahahaha! Ja het is foutgevoelig. Submit knop word standaard uitgezet en tegelijkertijd met de form.action aanpassing op enabled gezet. Dan heb ik nog wel het probleem dat users zonder javascript geen comments ergens op kunnen maken. Was 5% wat iemand zei (is evengoed nog veel), moet nog iets verzinnen dat hun het wel kunnen of gewoon niet want ze zijn irritant.
Ow trouwens wat wel grappig is, is dat na jouw bericht nog 5 man hebben geklikt.
Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btwquote:Op vrijdag 22 juni 2007 19:42 schreef WyriHaximus het volgende:
[..]
Dan moeten ze gewoon opletten waar ze op klikken imo. Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software
.
Dus moeten ze gewoon opletten waar ze opklikkenquote:Op vrijdag 22 juni 2007 20:03 schreef super-muffin het volgende:
[..]
Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btw
En dat percentage van gebruikers die Javascript uit hebben was maar uit m'n mouw geschud, maar kwam wel redelijk in de buurt gezien deze pagina.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $arr = explode("i",$str); $str = ""; if(count($arr) > 1) { for($i = 0; $i < count($arr)-2; $i++) { $str = $str . $arr[$i] . "i"; } $str = $str . $arr[count($arr)-2] . "TEST" . $arr[count($arr)-1]; } else { $str = $arr[0]; } return ucfirst($str); } |
quote:Op vrijdag 22 juni 2007 20:58 schreef splendor het volgende:
Ik ben op zoek naar een functie die een bepaalde letter in een zin of woord kan vervangen, maar het moet de laatste zijn als hij meerdere keren voorkomt.
Voorbeeld: Dit is een test zin.
de laatste i, in zin dus, moet vervangen worden door TEST of wat dan ook.
In php5 kan dit met str_replace en dan een -1 als laatste op te geven, maar in php4 werkt dit nog niet. Heeft iemand een idee hoe ik dit makkelijk kan aanpakken? Als het even kan ook nog case insensitive.
Ik heb nu deze functie:
[ code verwijderd ]
Maar dat is erg omslachtig en daarbij werkt hij niet met hoofdletters.
Iemand een idee want dit kan vast veel en veel makkelijker, eventueel met een reg expresion? :s)
1 2 3 4 5 6 7 8 9 | $zoek = ''; $vervang = ''; $text = ''; $ex = explode($zoek,$text); $newtext = $vervang . $ex[(count($ex)-1)]; unset($ex[(count($ex)-1)]); $newtext = implode($zoek,$ex) . $newtex; ?> |
Altijd goed om te kijken of het simpeler kanquote:Op vrijdag 22 juni 2007 21:32 schreef splendor het volgende:
Dat is al een heel stuk compacter ja.En werkt goed volgens mij.
Source? We kunnen zo niet heel veel zienquote:Op vrijdag 22 juni 2007 22:31 schreef derrudyjah het volgende:
Hopelijk weten jullie hier een antwoord op mijn vraag. Ik werk in een bepaald scriptje met sessions. Op mijn eigen servertje draait dit prima, maar als ik dit bij NXS internet op de server zet gaat hij zelf een waarde aan SESSION geven. Ik gebruik session alleen om een userid door te geven, en hier maakt hij altijd 13 of 15 van, terwijl ik toch aan het begin deze uit een database haal, maar dit overschrijft hij dus gewoon.
Kortom; HELP!
Excuus, je hebt gelijkquote:Op vrijdag 22 juni 2007 22:33 schreef WyriHaximus het volgende:
[..]
Source? We kunnen zo niet heel veel zien.
Hmmm dat zou goed moeten zijnquote:Op vrijdag 22 juni 2007 22:39 schreef derrudyjah het volgende:
[..]
Excuus, je hebt gelijk![]()
Hier een voorbeeldje waarin ik een berichtje verstuur aan de hand van de id van de user die dan is ingelogd:
$sendto=$_GET['id'];
$sendfrom=$_SESSION['id'];
$query="select name,avatar,location from users where id='$sendto'";
$result = mysql_query($query);
$record=mysql_fetch_array($result);
$name = $record[name];
?>
<TABLE BORDER="0" CELLSPACING="0" WIDTH="648" BGCOLOR="black">
<TR>
<TD>
<table border="0" width="647" bgcolor="<?echo$color?>">
<TR>
<TD>
Bericht aan <?echo$name?>:</td></tr>
<form action="?page=send_message" method=POST>
<TR><TD><input name="to" value="<?echo$to?>" type="hidden"></td></tr>
<TR><TD><input name="from" value="<?echo$sendfrom?>" type="hidden"></td></tr>
<TR><TD>Onderwerp:</td><td><input type="text" name="subject"></td></tr>
<TR><TD>Bericht:</td><td><textarea name="message" cols="50" rows="10">
----------------------------------
In dit geval zou hij op session 1 uit moeten komen, omdat dat mijn id is uit de db, maar hij maakt er 13 van.
Probeer het eens met FF. Dan kan je het specifieke cookie weg gooienquote:Op vrijdag 22 juni 2007 22:54 schreef derrudyjah het volgende:
Wel session_destroy als je dat bedoelt... browser (IE7) dicht, en opnieuw open. Het mag allemaal niet baten.
Ook niet als je naar Edit -> Preferences -> Privacy -> Show Cookies gaat?quote:Op vrijdag 22 juni 2007 23:09 schreef derrudyjah het volgende:
Daar geeft hij (in tegenstelling tot wanneer ik de boel lokaal had staan) nergens aan dat er cookies of sessions aan het werk zijn....
Klopt want je session word serverside opgeslagen en aan de hand van je cookie tevoorschijn getoverdquote:Op zaterdag 23 juni 2007 00:14 schreef derrudyjah het volgende:
Dan zie ik iid de cookies, maar niet de session
Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?quote:Op zaterdag 23 juni 2007 00:50 schreef derrudyjah het volgende:
ok, in dat geval; al de cookies die ik gebruik (zijn er 2) staan er.
1 2 3 4 5 6 7 8 9 10 | function AddUser($uid, $naam) { $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ". "ID = '$uid'") or die(mysql_error()); $gegevens = mysql_fetch_assoc($resultaat); if ($gegevens["COUNT(*)"]!=0) return; mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'") or die(mysql_error()); } ?> |
Ja, zeker weten.quote:Op zaterdag 23 juni 2007 01:14 schreef WyriHaximus het volgende:
[..]
Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?
Trapped in the anti-spambot trap and is banned forever!!!quote:Op vrijdag 22 juni 2007 19:14 schreef WyriHaximus het volgende:
Tof heb me pwnd.php geïmplementeerd.
quote:Op zaterdag 23 juni 2007 10:32 schreef Igen het volgende:
Het volgende stukje code doet bij bij soms raar:
[ code verwijderd ]
Het programma draait altijd maar één keer tegelijk. Toch knalt het programma af en toe eruit bij de INSERT omdat ik een dubbele ID zou proberen in te voegen. Waarom? :?
1 2 3 4 5 6 7 8 9 | function AddUser($uid, $naam) { $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ". "ID = '$uid'") or die(mysql_error()); $gegevens = mysql_fetch_assoc($resultaat); if ($gegevens["COUNT(*)"]!=0) return; mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'") or die(mysql_error()); } |
quote:Op zaterdag 23 juni 2007 10:56 schreef Darkomen het volgende:
[..]
Trapped in the anti-spambot trap and is banned forever!!!
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/comment.class.php
LINE: 101
CALL: error_die()
FILE:
LINE:
CALL: comment_class->process()
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/module.class.php
LINE: 348
CALL: call_user_method()
FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/index.php
LINE: 252
CALL: module_class->gen_modules_output()
Hhaa ik ben ook gebanned
Heb je het gecontroleert, hoe zeker je het ook weet? (Ook zo vaak gehad dat het lag aan iets waarvan ik zekers wist dat het goed wasquote:Op zaterdag 23 juni 2007 10:44 schreef derrudyjah het volgende:
[..]
Ja, zeker weten.
$_SESSION["id"] = $id;
$id is een regelrechte uitgifte van de DB.
Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier mee spelen denk ik.quote:Op zaterdag 23 juni 2007 11:02 schreef Igen het volgende:
Ja, ID is de primary key. Ik kan hem niet op auto_increment zetten, omdat ik deze tabel construeer uit andere gegevens. Ik wil dus alleen INSERT doen als de betreffende ID nog niet in de database voorkomt.
En mijn programmastukje zou precies dat moeten doen, maar zo heel af en toe werkt het dus niet. Kan het met MyISAM gebeuren dat een INSERT een heel klein beetje vertraagd wordt doorgevoerd?
quote:Op zaterdag 23 juni 2007 12:49 schreef smesjz het volgende:
[..]
Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier niet mee spelen denk ik. Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.
Leesvoer: http://www.xaprb.com/blog(...)and-update-in-mysql/
Samenvatting:
insert ignore gebruiken of een left outer join op dezelfde tabel.
De eerste methode is het snelst, maar een proprietary, non-standard extension. Laatste methode is langzamer, maar wel onderdeel van SQL standaard.
In beide gevallen is het sneller dan je huidige methode (PHP/SQL).
Nu ja, zo'n 350 inserts direct na elkaar, op een 50 Mhz computer...quote:Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.
MySql heeft zelf een qeury browser die wel goed werkt; http://www.mysql.com/products/tools/quote:Op zaterdag 23 juni 2007 22:20 schreef -f het volgende:
Even rond zitten kijken maar kan geen GUI ervan vindenvoornamelijk dus alleen tekst?
Nog een kleine update:quote:Op zaterdag 23 juni 2007 13:38 schreef Igen het volgende:
Dat heb ik niet, dus dan is IGNORE vast de beste oplossing.
Misschien eens converteren naar InnoDB? Illegal instruction en Segmentation fault hebben vaak weinig met rot geheugen te maken, eerder met bugs in je applicatie. Welke versie van mysql gebruik je?quote:Op zondag 24 juni 2007 00:37 schreef Igen het volgende:
[..]
Nog een kleine update:
Het schijnt allemaal symptoombestrijding te zijn, want MySQL werkt bij mij gewoon niet echt lekker. De ene keer zegt SELECT dat iets niet in de database zit, maar met INSERT zeurt hij toch over een duplicate key. Zo nu en dan breekt hij een INSERT ook af met "Incorrect key file for table './igen/user.MYI'; try to repair it". En af en toe crasht mysqld met een "Illegal Instruction". Of met een "Segmentation Fault".
Ik vraag me serieus af of transacties je hier gaan helpen. In principe zou IGNORE gewoon moeten werken, maar het lijkt me gewoon een bug in mysqld. Evt. getriggered door een trage CPU en de sparc arch. Welke versie van Solaris draai je? 7?quote:Op zondag 24 juni 2007 10:06 schreef Igen het volgende:
Ik had ook al het plan bedacht om overal InnoDB van te maken, en alle stukjes code met SELECT-INSERT enzo in transacties te stoppen. Dan moeten de gegevens bij beide opdrachten wel gelijk zijn, lijkt mij zo.
'Het' stukje code bestaat niet, hij doet zo nu en dan gek op elke plaats waar SELECT en dan INSERT staat. En op bepaalde plekken gaat het niet anders dan op deze manier.
Ik gebruik overigens MySQL 5.0.37.Op een 50 Mhz Sparc computer met 96 MB RAM.
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?quote:Op zondag 24 juni 2007 12:00 schreef JeRa het volgende:
Segmentation faults zijn vrijwel altijd pointer bugs in applicaties. Als je die tegenkomt in zoiets als MySQL is er iets goed fout en zou je een bugreport kunnen indienen bij de ontwikkelaars van MySQL
Natuurlijk niet, die één op de 100.000 keer dat het fout gaat kun je bijvoorbeeld opvangen met een debugger en het probleem zo isolerenquote:Op zondag 24 juni 2007 12:46 schreef Igen het volgende:
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
Wat gebruik je als .htaccess code dan?quote:Op zondag 24 juni 2007 12:45 schreef Reneuh het volgende:
Dat ik een 403 forbidden krijg (ik gebruik mod_rewrite), betekent zeker dat er iets veranderd moet worden in de serverinstellingen?
Als je dus naar http://www.hotelmergelland.nl/index.php gaat, dan wordt de url http://www.hotelmergelland.nl/Home. Dan krijg ik die 403. Of ligt dat aan wat anders?
Wat JeRa ook zegt laten afvangen en desnoods dat ding gaan reproduceren door te gaan benchmarken (weet er ff geen beter woord voor) en dan een bug report filen bij MySQLquote:Op zondag 24 juni 2007 12:46 schreef Igen het volgende:
[..]
Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
Dit:quote:Op zondag 24 juni 2007 14:49 schreef WyriHaximus het volgende:
[..]
Wat gebruik je als .htaccess code dan?
1 2 3 4 | RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L] RewriteRule ^([A-Za-z0-9, ']+)/?$ index.php?pid=$1 [L] RewriteRule ^([A-Za-z0-9,_']+)/?$ index.php?pid=$1 [L] |
quote:
1 2 3 4 5 | RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?pid=$1 [L,QSA] |
Helaaschquote:Op zondag 24 juni 2007 15:40 schreef WyriHaximus het volgende:
[..]
[ code verwijderd ]
Probeer dat eens.
MWah goeie kan je uberhaupt mod_rewrite gebruikenquote:Op maandag 25 juni 2007 10:14 schreef Reneuh het volgende:
[..]
HelaaschIk denk dat de host dit moet oplossen.. Volgens mij staat een instelling niet goed.
Hmmm zorgt dat voor een 500? Nooit gewetenquote:Op maandag 25 juni 2007 11:32 schreef JeRa het volgende:
Een 403 (forbidden) heeft niets te maken met 500 (internal server error) wat je zou krijgen als mod_rewrite niet beschikbaar was
Alles wat je fout doet in de Apache config of in een .htaccess levert een 500 op (of compleet vreemd gedrag). Een 403 forbidden krijg je als:quote:Op maandag 25 juni 2007 11:35 schreef WyriHaximus het volgende:
[..]
Hmmm zorgt dat voor een 500? Nooit geweten, daarnaast ook nooit de luxe gehad om een apache zonder mod_rewrite te hebben
.
Het probleem is dat ik niet de beheerder ben, dus ik kan niet zoveel doen... Overigens op mijn eigen webhost werkt het prima (http://www.clixz.nl/ml/Home).quote:Op maandag 25 juni 2007 11:38 schreef JeRa het volgende:
[..]
Alles wat je fout doet in de Apache config of in een .htaccess levert een 500 op (of compleet vreemd gedrag). Een 403 forbidden krijg je als:
1) De rechten van de locatie niet goed staan (bestaat er een map Home? of is ie virtueel?)
2) Je middels een .htaccess doorgeeft dat er een 403 moet komen
3) Je middels PHP doorgeeft dat er een 403 moet komen
4) etc
Veel punten waar Reneuh dus kan kijken
set_time_limit(0), en direct via de command line aanroepen (niet via de webserver).quote:Op maandag 25 juni 2007 20:37 schreef Geqxon het volgende:
Goed, standaard XAMPP installatie, en na een minuut lang laden (zware pagina) stopt hij ermee. Alle timeouts in /xampp/php/php.ini naar 3600 verhoogd, nog steeds het probleem. Zeer frustrerend, iemand tips?
Verschillende codes geprobeerd, maar ik krijg het maar niet aan de gang. Iemand een idee?quote:Op maandag 25 juni 2007 12:28 schreef Reneuh het volgende:
[..]
Het probleem is dat ik niet de beheerder ben, dus ik kan niet zoveel doen... Overigens op mijn eigen webhost werkt het prima (http://www.clixz.nl/ml/Home).
Map Home bestaat niet. Het is gewoon een vervanging van index.php?pid=1 (http://www.clixz.nl/ml/index.php?pid=1). De naam (Home) wordt uit de database gehaald en zo wordt de juiste pagina geladen.
Opties 2 en 3 heb ik iig niet..
Het staat aan neem ik aan? Wat zegt de hosting van hun? Misschien rewrite_base / toevoegen? (Of zoiets uit me hoofd gedaan kan er naast zitten met de exacte naamquote:Op dinsdag 26 juni 2007 09:47 schreef Reneuh het volgende:
[..]
Verschillende codes geprobeerd, maar ik krijg het maar niet aan de gang. Iemand een idee?
Dat staat aan ja.quote:Op dinsdag 26 juni 2007 10:20 schreef WyriHaximus het volgende:
[..]
Het staat aan neem ik aan? Wat zegt de hosting van hun? Misschien rewrite_base / toevoegen? (Of zoiets uit me hoofd gedaan kan er naast zitten met de exacte naam.)
quote:
Je krijgt hier al antwoord voordat je het vraagtquote:Op dinsdag 26 juni 2007 10:52 schreef Geqxon het volgende:
Ik heb het al eens eerder gevraagd, ik heb van super-muffin antwoord gehaden, en ik ben het vergeten.![]()
Het systeem op Fok!, dat je bijvoorbeeld /user/active/22942 in kunt typen, wat was ook alweer de benaming van dit systeem?
Hier op FOK! gebruiken ze geloof ik MultiViewsquote:Op dinsdag 26 juni 2007 10:52 schreef Geqxon het volgende:
Het systeem op Fok!, dat je bijvoorbeeld /user/active/22942 in kunt typen, wat was ook alweer de benaming van dit systeem?
Nou, ik ben eindelijk erachter hoor! Het ligt niet aan MySQL zelf.quote:Op zondag 24 juni 2007 12:50 schreef JeRa het volgende:
[..]
Natuurlijk niet, die één op de 100.000 keer dat het fout gaat kun je bijvoorbeeld opvangen met een debugger en het probleem zo isolerenhet zijn juist dergelijke bugs die het geheel onbetrouwbaar maken, de bugs die elke keer optreden zijn snel te vinden én op te lossen.
Aye redelijk simpel te doen ookquote:Op dinsdag 26 juni 2007 10:56 schreef SuperRembo het volgende:
[..]
[..]
Je krijgt hier al antwoord voordat je het vraagt
Probeer anders eens een rewrite van index.php naar index.html heel simpel kijken of die werkt. En anders zou de hosting het moeten weten zijn hun serverquote:
Lijkt te werken:quote:Op dinsdag 26 juni 2007 11:43 schreef WyriHaximus het volgende:
[..]
Probeer anders eens een rewrite van index.php naar index.html heel simpel kijken of die werkt. En anders zou de hosting het moeten weten zijn hun server :).
1 2 | RewriteRule ^a.html$ b.html |
Op dit moment kan ik niet bij de structuur, maar probeerde het weer eens duidelijk uit te leggen :X en dat is zo verdomde moeilijk :{quote:Op dinsdag 26 juni 2007 10:47 schreef JeRa het volgende:
@Chandler
Dat verhaal van die tabellen en die query moet je toch echt even toelichten, het is nogal wazig zo. Je vergelijkt in de query een relatie_id met een group_id, waarbij die laatste niet eens is terug te vinden in de structuur.
Kun je niet gewoon de structuur vrijwel letterlijk hier plakken en een SELECT * op beide tabellen doen en de output (inclusief kolomnamen :P) hier ook neerzetten? :)
1 2 3 | - relatie_id - titel |
1 2 3 | - relatie_titel - relatie_id |
1 2 3 4 5 6 7 8 9 10 11 12 | 2 - SAP - Persoon b 3 - TOP - persoon c 4 - TIP - persoon d 5 - TOP - persoon e 6 - SAP - persoon f 7 - TOP - persoon g 8 - TOP - persoon h 9 - TAP - persoon i 10 - SOP - persoon j 11 - SOP - persoon k 12 - TAP - persoon l |
1 2 3 4 | 2 - TIP - Groep 1 3 - TOP - Groep 1 4 - SAP - Groep 2 |
1 2 3 4 5 | count(relaties.id) AS total FROM relatiegroepen LEFT JOIN relaties ON relaties.relatie_id = relatiegroepen.relatie_id GROUP BY relatiegroepen.relatie_titel |
1 2 | Groep 2 - 2 |
Hier zie ik anders SERVER ERROR!quote:Op dinsdag 26 juni 2007 11:51 schreef Reneuh het volgende:
Lijkt te werken:
http://www.hotelmergelland.nl/mod_rewrite/a.html
http://www.hotelmergelland.nl/mod_rewrite/b.html
En .htaccess:
Ik kreeg toch echt een SERVER ERRORquote:Op dinsdag 26 juni 2007 12:33 schreef WyriHaximus het volgende:
?
Genept door mijn onderbewustzijn, bedanktquote:Op dinsdag 26 juni 2007 10:56 schreef SuperRembo het volgende:
[..]
[..]
Je krijgt hier al antwoord voordat je het vraagt
Nee hoor, werkt nu netjes!quote:Op dinsdag 26 juni 2007 13:18 schreef WyriHaximus het volgende:
Nu nog steeds dan?
Ik probeer het door een voorbeeld te schetsen!quote:Op dinsdag 26 juni 2007 13:26 schreef JeRa het volgende:
Meer PHP en MySQL, minder Apache. En Chandler, zou je "Voor tabel 1 heb ik data waarbij ik een relatie_id vermeld." kunnen toelichten? :P
1 2 3 4 5 6 7 8 9 10 11 12 13 | Relaties relatie_id == relatie_id Groep Titel Gebruiker 1 TIP Gebruiker 2 TOP Gebruiker 3 TIP TIP (3) Gebruiker 4 SAP TOP (3) Groep 1 (6) Gebruiker 5 TIP SAP (2) Groep 2 (3) Gebruiker 6 SAP SOP (1) Gebruiker 7 TOP Gebruiker 8 TOP Gebruiker 9 SOP |
quote:Op dinsdag 26 juni 2007 14:36 schreef thatsme het volgende:
Ik wil een variabele laten screenen op gebande woorden welke in een string staan. Als een van de woorden terugkomt moet het script gewoon afgebroken worden en niet opgeslagen. Echter ik kom er niet uit hoe ik een variable scan op de woorden uit de string.
1 2 3 | if(str_replace($arraymetstoutewoorden,'',$string)!=$string) ?> |
mijn dankquote:Op dinsdag 26 juni 2007 14:41 schreef WyriHaximus het volgende:
[..]
[ code verwijderd ]
![]()
Zoiets en dan in $arraymetstoutewoorden een array met de gebande woorden en in $string de text waar het over heen moet. Als deze if true is zitten er foute woorden in.
Nu is het duidelijker jaquote:Op dinsdag 26 juni 2007 14:21 schreef Chandler het volgende:
[..]
Nee hoor, werkt nu netjes!
[..]
Ik probeer het door een voorbeeld te schetsen!
[ code verwijderd ]
Zie je wat ik uiteindelijk wil?
1 2 3 4 | $str = 'bla bla bla wat tekst. [PLUGIN:FORM]'; echo preg_replace("$\[PLUGIN:([A-Z]{1,})\]$" , '$1', $str); ?> |
1 |
1 |
Maar wat wil je precies doen? Jouw regex werkt prima, hij vervangt het PLUGIN-gedeelte compleet door wat er na de dubbele punt staatquote:Op dinsdag 26 juni 2007 15:32 schreef super-muffin het volgende:
Die heb ik ook geescaped, maar die zijn verdwenen door Fok!
Dan moet je preg_match() gebruiken en niet preg_replace()quote:Op dinsdag 26 juni 2007 15:50 schreef super-muffin het volgende:
ik wil alleen wat er na de plugin staat.
Dus niet de tekst 'bla bla bla wat tekst.' er bij.
dit omdat de namen van de categorieen vaker voorkomenquote:Op dinsdag 26 juni 2007 15:19 schreef JeRa het volgende:
[..]
Nu is het duidelijker jawaarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
Ja...maar je doet al een GROUP BY op de naam van de categorie, dus die zullen nooit vaker dan één keer voorkomen. Test het maar eensquote:Op dinsdag 26 juni 2007 16:13 schreef Chandler het volgende:
[..]
dit omdat de namen van de categorieen vaker voorkomen
TIP - Groep 1
TOP - Groep 1
SAP - Groep 2
SOP - Groep 2
Ja ik heb de tijden al in timestamps , en zat ook al te klooien met mktime , maar hoe bereken ik het precies of de ene timestamp tussen 2 andere timestamps valt? Daar kom ik niet uit.quote:Op dinsdag 26 juni 2007 19:31 schreef Tijn het volgende:
Ik zou het omrekenen naar timestamps en dan kijken of een gegeven timestamp tussen de 2 timestamps van een lesuur valt.
Je kunt het bijvoorbeeld met mktime() makkelijk doen
heb ik ooit op de GRM gemaakt.quote:Op dinsdag 26 juni 2007 19:28 schreef broodmonkeh het volgende:
ben ik weer met m'n lastige vragen
Ik wil ff op weg geholpen met iets , dat is namelijk iets met de tijd. Als het tussen 8:30 en 9:15 is dan is lesuur 1 bezig , als de tijd tussen 9:15 en 10:00 is is lesuur 2 bezig enz.. Maar hoe bereken ik dit met PHP?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | if (...) { // doe iets } else if (...) { // doe iets anders } else { // doe iets als de bovenstaande condities allemaal onwaar waren } any { // doe iets als minstens één van de bovenstaande condities waar was } ?> |
danku dit werkt perfectquote:Op dinsdag 26 juni 2007 20:02 schreef Geqxon het volgende:
Een nette maar trage manier:
[ code verwijderd ]
In een switch kan je toch default gebruiken?quote:Op dinsdag 26 juni 2007 20:28 schreef Geqxon het volgende:
Dat zou inderdaad erg handig zijn, zoiets had ik laatst in een switch-statement nodig
Zelf werk ik in zulke gevallen met booleans overigens.
Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.quote:Op dinsdag 26 juni 2007 20:39 schreef freiss het volgende:
[..]
In een switch kan je toch default gebruiken?
Ja, ik zag dat ik het verkeerd had gelezenquote:Op dinsdag 26 juni 2007 20:41 schreef Geqxon het volgende:
[..]
Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.
quote:Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $any = false; if (...) { // doe iets $any = true; } else if (...) { // doe iets anders $any = true; } else { // doe iets als de bovenstaande condities allemaal onwaar waren $any = true; } if($any) { // doe iets als minstens één van de bovenstaande condities waar was } ?> |
Maar het werkt wel, als het echt moet.quote:Op woensdag 27 juni 2007 02:16 schreef JeRa het volgende:
[..]
Nee, dat is lelijk, zeker bij veel conditional blocks
functionaliteit > schoonheidquote:Op woensdag 27 juni 2007 02:39 schreef fokME2 het volgende:
[..]
Maar het werkt wel, als het echt moet.![]()
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?quote:Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
[ code verwijderd ]
Keer het dan om:quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $any = true; if (...) { // doe iets } else if (...) { // doe iets anders } else { // doe iets als de bovenstaande condities allemaal onwaar waren $any = false; } if($any) { // doe iets als minstens één van de bovenstaande condities waar was } ?> |
quote:Op dinsdag 26 juni 2007 15:19 schreef JeRa het volgende:
Nu is het duidelijker jawaarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
Goed punt, aangezien hij er vaak over struikelt als je ergens onderop in een niet gebruikt stukje code een punt-komma mist. TVPquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Gevoelsmatig zeg ik dat het niet uitmaakt.... maar onderbouwen kan ik het nietquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Weet niet, ff kijken hoe includes werkenquote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Allemaal kleine bestandjes = meer I/O (en dat vraagt veel) = tragerquote:Op woensdag 27 juni 2007 11:58 schreef WyriHaximus het volgende:
[..]
Weet niet, ff kijken hoe includes werken.
Geen idee, maar PHP parsed toch ook de dingen die hij niet 'hoeft' te doen. Als php niet op regel 50 hoeft te zijn, maar daar zit wel een fout, dan krijg je toch een error. Zit die fout echter in je include dan krijg je geen error totdat die file is geïnclude.quote:Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
[..]je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!
Nu nog een kleine andere vraag over preformance van PHP
Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
Ongetwijfeld, maar het gaat me eerder om dit:quote:Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:
[..]
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taalquote:Op woensdag 27 juni 2007 08:21 schreef WyriHaximus het volgende:
[..]
functionaliteit > schoonheidiig zolang de code maar goed leesbaar blijft
Dat is dus mogelijk ja, maar lelijk.quote:[..]
Keer het dan om:
[ code verwijderd ]
Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
Ik hang liever niet te veel op schoonheid, vind het absoluut belangrijk (zeker tegenwoordig hecht ik er veel meer waarde aan dan vroeger). Maar als ik met een kleine hack de functionaliteit kan krijgen die nodig is zie ik daar geen probleem in. Moet niet een gekkenhuis worden want dan word het ook niet lekker meer leesbaar en ga je er alleen maar op achter uit .quote:Op woensdag 27 juni 2007 13:18 schreef JeRa het volgende:
[..]
Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taalhet is dat ik goed bekend ben met PHP en het voor een scripttaal een goede performance heeft tegenover een korte ontwikkelingstijd.
Preciesquote:Op woensdag 27 juni 2007 14:59 schreef JeRa het volgende:
Zodra ik te vieze hacks moet gaan gebruiken om de functionaliteit te verkrijgen die ik nodig heb, ga ik ernstig twijfelen aan het platform dat ik gekozen heb
Is serialize() geen optie? Meer leesmateriaal.quote:Op woensdag 27 juni 2007 15:09 schreef WyriHaximus het volgende:
[..]
Precies.
Zal forearch($this as $key => $value) werken om alle varriables van een class te cachen en later weer op te vragen?
Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.quote:Op woensdag 27 juni 2007 15:12 schreef JeRa het volgende:
[..]
Is serialize() geen optie? Meer leesmateriaal.
Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?quote:Op woensdag 27 juni 2007 16:02 schreef WyriHaximus het volgende:
[..]
Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.
De uitkomst zijn verschillende arrays binnen een class. En de inhoud van die arrays verschilt per pagina + afhankelijk welke rechten de gebruiker heeft. Dus het is een beetje tricky.quote:Op woensdag 27 juni 2007 16:04 schreef JeRa het volgende:
[..]
Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = 'SELECT DISTINCT COUNT(*) As occurrences, id, timestamp, title, content FROM `'.mysql_real_escape_string($table).'` WHERE ('; // alle woorden langs foreach($words as $word) { $sql .= '(`title` LIKE "%'.mysql_real_escape_string($word).'%") OR (`content` LIKE "%'.mysql_real_escape_string($word).'%") OR'; } $sql = substr($sql,0,(strLen($sql)-3)); // de laatste OR eraf $sql .= ') GROUP BY `id` ORDER BY occurrences DESC, `timestamp` DESC'; ?> |
1 2 3 4 5 6 7 8 9 10 11 | As occurrences, id, timestamp, title, content FROM `internal_news` WHERE ( (`title` LIKE "%vrijdag%") OR (`content` LIKE "%vrijdag%") OR (`title` LIKE "%koffie%") OR (`content` LIKE "%koffie%") ) GROUP BY `id` ORDER BY occurrences DESC, `timestamp` DESC |
Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.quote:Op woensdag 27 juni 2007 18:30 schreef JeRa het volgende:
Verder als oplossing kan ik je de fulltext index van MySQL aanradenheb je 80% van de zoekfunctionaliteit al af.
Dat is allemaal vrij goed te tunen dacht ikquote:Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:
[..]
Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.
De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten. En als bijvoorbeeld het woord "vrijdag" in 10 daarvan voorkomt, wordt het niet meer als een relevant woord gezien en krijg je geen resultaten terug als je hierop zoekt. Wat natuurlijk niet de bedoeling is.
Je kunt zoiets proberen:quote:Op donderdag 28 juni 2007 05:20 schreef Siegfried het volgende:
Goed, SQL vraagje.
Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.
Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..
SELECT * FROM '' WHERE datum =
1 |
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?quote:Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:
De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten.
In Java zou je een try/catch/finally doen met if statements in het try gedeelte.quote:Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:
[..]
Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
[..]
Keer het dan om:
[ code verwijderd ]
Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
Er komen complete boeken in een record te staan?quote:Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:
[..]
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo?quote:Op donderdag 28 juni 2007 09:15 schreef Geqxon het volgende:
[..]
Er komen complete boeken in een record te staan?
Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.quote:Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:
[..]
Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
Hehe, ik gokte maar wat. Maar dan kun je het inderdaad beter per hoofdstuk opslaan.quote:Op donderdag 28 juni 2007 09:17 schreef JeRa het volgende:
[..]
Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo?Tenminste, ik weet niet of het de bedoeling is dat het hele boek gevonden moet worden of dat het om de inhoud gaat.
Dan was je in ieder geval met LIKE tegen de lamp gelopen, aangezien die operator de gehele string moet doorzoeken van elk recordquote:Op donderdag 28 juni 2007 09:31 schreef Tijn het volgende:
[..]
Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.
Ik krijg ditquote:Op donderdag 28 juni 2007 08:59 schreef JeRa het volgende:
[..]
Dit is echt te simpel voor een apart topic. Gebruik zoiets:
[ code verwijderd ]
En dan een cronjob/taakplanner om de 6 uur dit scriptje laten uitvoeren. Volgende keer:
[PHP/(My)SQL] voor dummies - Deel 45
Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaanquote:Op donderdag 28 juni 2007 10:27 schreef Devrim_ het volgende:
[..]
Ik krijg dit
Warning: copy(/feed/rssfeed-2007-06-28-1124.xml): failed to open stream: No such file or directory in /home/www/feed.net/feeds.xml on line 3
Heb ik ook gedaan..Maar krijg nog steeds die error..quote:Op donderdag 28 juni 2007 10:29 schreef JeRa het volgende:
[..]
Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaan
Dan doe je iets foutquote:Op donderdag 28 juni 2007 10:30 schreef Devrim_ het volgende:
[..]
Heb ik ook gedaan..Maar krijg nog steeds die error..
quote:Op donderdag 28 juni 2007 10:30 schreef JeRa het volgende:
[..]
Dan doe je iets fout :) laat eens zien wat je hebt, anders wordt het nogal lastig ;)
1 2 3 4 | $destname = '/filemp3/rssfeed-' . date('Y-m-d-Hi') . '.xml'; copy('-rsslink', $destname); ?> |
Dan moet je die eerste forwardslash in de destination weghalenquote:Op donderdag 28 juni 2007 10:34 schreef Devrim_ het volgende:
[..]
[ code verwijderd ]
en het moet hier in komen
http://nellyf.100webspace.net/filemp3/
_dat_ is pas een ranzige constructie, en nog langzaam ook.quote:Op donderdag 28 juni 2007 08:23 schreef Scorpie het volgende:
[..]
In Java zou je een try/catch/finally doen met if statements in het try gedeelte.
Zo weet je dat finally altijd uitgevoerd wordt, zelfs als er errors in het try gedeelte staat.
Stel dat er bij conditie1, conditie2 én conditie3 iets verschillends moet gebeuren, maar hierna altijd dezelfde handeling wordt uitgevoerd. Die handeling moet niet worden uitgevoerd als er geen van de condities waar zijn. Praktijkvoorbeelden vind je vaak bij rechtenafhandeling, waarbij iemand in verschillende omstandigheden iets mag uitvoeren. Dan is zo'n any imho toch wel handigquote:Op donderdag 28 juni 2007 13:19 schreef SuperRembo het volgende:
[..]
_dat_ is pas een ranzige constructie, en nog langzaam ook.
Er is niets mis met try/catch/finally, zolang het gebruikt wordt waar het echt nodig is. Ik zie de toegevoegde waarde van een speciale constructie als if/else/any nog steeds niet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // Procedure om een post te deleten if (user.hasRight('delete_post') && !topic.isClosed()) { // Verberg post // Voeg notitie toe aan logboek gekoppeld aan user } else if (user.hasRight('delete_post') && user.hasRight('is_admin')) { // Verwijder post } any { // Ga terug naar het topic } else { // Geef foutmelding } ?> |
Het feit dat je ten allen tijde een bepaald blok code wilt uitvoeren, indien alle bovenstaande checks falen?quote:Op donderdag 28 juni 2007 13:19 schreef SuperRembo het volgende:
[..]
_dat_ is pas een ranzige constructie, en nog langzaam ook.
Er is niets mis met try/catch/finally, zolang het gebruikt wordt waar het echt nodig is. Ik zie de toegevoegde waarde van een speciale constructie als if/else/any nog steeds niet.
Hoe geef je aan welke if statements allemaal bij de any horen?quote:Op donderdag 28 juni 2007 13:34 schreef JeRa het volgende:
[..]
Stel dat er bij conditie1, conditie2 én conditie3 iets verschillends moet gebeuren, maar hierna altijd dezelfde handeling wordt uitgevoerd. Die handeling moet niet worden uitgevoerd als er geen van de condities waar zijn. Praktijkvoorbeelden vind je vaak bij rechtenafhandeling, waarbij iemand in verschillende omstandigheden iets mag uitvoeren. Dan is zo'n any imho toch wel handig :)
edit: voorbeeldje:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | { Foo(); } else if (bar) { Bar(); } else { Baz(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | { Foo(); } else { if (bar) { Bar(); } else { Baz(); } } |
Exceptions gebruik je voor, zoals de naam al zegt, uitzonderingen. Exception handling kost behoorlijk wat extra processor tijd. Als je door middel van een simpele reeks if's kan bepalen of een bepaald stuk code moet worden uitgevoerd, dan is het onzinnig om daar een try/finaly blok voor te gebruiken.quote:Op donderdag 28 juni 2007 13:39 schreef Scorpie het volgende:
[..]
Het feit dat je ten allen tijde een bepaald blok code wilt uitvoeren, indien alle bovenstaande checks falen?
Tja, ik ben er nog niet tegenaan gelopen, ik zeg alleen hoe dat in Java over het algemeen opgelost word![]()
nicequote:Op donderdag 28 juni 2007 10:45 schreef JeRa het volgende:
[..]
Dan moet je die eerste forwardslash in de destination weghalendat is namelijk de root, en daar heb jij wrs geen rechten voor.
Hm, nee.. Want morgen is de datum van vandaag weer een anderequote:Op donderdag 28 juni 2007 05:32 schreef doka het volgende:
[..]
Je kunt zoiets proberen:
[ code verwijderd ]
DATE selecteerd het datumgedeelte van een datum of timestamp.
Zie: http://dev.mysql.com/doc/(...)s.html#function_date
quote:Op donderdag 28 juni 2007 05:20 schreef Siegfried het volgende:
Goed, SQL vraagje.
Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.
Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..
SELECT * FROM '' WHERE datum =
Zoals je zelf al aangeeft word bij mij op het werk de try catch vooral gebruikt om excepties e.d te gooienquote:Op donderdag 28 juni 2007 14:37 schreef SuperRembo het volgende:
[..]
Exceptions gebruik je voor, zoals de naam al zegt, uitzonderingen. Exception handling kost behoorlijk wat extra processor tijd. Als je door middel van een simpele reeks if's kan bepalen of een bepaald stuk code moet worden uitgevoerd, dan is het onzinnig om daar een try/finaly blok voor te gebruiken.
Ik zie trouwens ook niet hoe een try/finaly zou kunnen helpen in het if/elseif/any/else geval.
Kan metquote:Op donderdag 28 juni 2007 17:41 schreef Siegfried het volgende:
[..]
Hm, nee.. Want morgen is de datum van vandaag weer een andere
Het moet dus variabel zijn, zoals met NOW(), maar dan echt puur op vandaag..
Iemand anders een oplossing hiervoor:
[..]
Ja, dat was het hele ideequote:Op donderdag 28 juni 2007 14:27 schreef SuperRembo het volgende:
Any zou dus een uitbreiding moeten worden op de if/elseif/else constructie.
En dat is lelijk, imho.quote:Maar met 1 variabele en 2 regels code kom je er ook.
Met LIMIT kun je één kant op, maar niet zowel het id ervoor als erna pakken. Ook kun je niet garanderen dat id 11 links id 10 en rechts id 12 heeft (als er items tussendoor worden verwijderd) wat het geheel nog wat lastiger maaktquote:Op vrijdag 29 juni 2007 16:03 schreef Chandler het volgende:
Maar zonder UNION Selects? Misschien met LIMIT?
quote:Op vrijdag 29 juni 2007 16:03 schreef Chandler het volgende:
Maar zonder UNION Selects? Misschien met LIMIT?
1 2 3 4 5 6 7 | FROM mytable a LEFT OUTER JOIN mytable b ON b.name >= a.name AND b.id != a.id LEFT OUTER JOIN mytable c ON c.name <= a.name AND c.id != a.id WHERE a.id = $id ORDER BY b.name ASC, c.name DESC LIMIT 1 |
Dat had ik ook al geprobeerd maar gaf dezelfde foutmeldingquote:Op vrijdag 29 juni 2007 23:07 schreef SuperRembo het volgende:
Oh, de where en oder by staan verkeerd om.
Voor SQLite heb je sqlite_fetch_all()quote:Op vrijdag 29 juni 2007 23:44 schreef Geqxon het volgende:
Maar bestaat er eigenlijk een kant en klare functie een een mysql_query result compleet doorloopt en alle resultaten in een 2D associatieve array stopt?
Als je precies dezelfde foutmelding krijgt dan heb je de tweede keer ook nog de WHERE direct voor de LIMIT staan, dus de ORDER voor de WHERE.quote:Op zaterdag 30 juni 2007 09:22 schreef Chandler het volgende:
[..]
Dat had ik ook al geprobeerd maar gaf dezelfde foutmelding
1 2 3 4 5 6 7 | FROM mytable a LEFT OUTER JOIN mytable b ON (b.name >= a.name AND b.id != a.id) LEFT OUTER JOIN mytable c ON (c.name <= a.name AND c.id != a.id) WHERE a.id = $id ORDER BY b.name ASC, c.name DESC LIMIT 1 |
Please do share, altijd handig om kennis te vergaren enzovoorts.quote:Op zaterdag 30 juni 2007 11:11 schreef Geqxon het volgende:
Sterker: ATM heb ik de functie al gemaakt, ik zocht gewoon een native functie binnen PHP.
quote:Op zaterdag 30 juni 2007 11:41 schreef Scorpie het volgende:
[..]
Please do share, altijd handig om kennis te vergaren enzovoorts.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $sql = "SELECT * FROM users"; $result = mysql_query($sql); if ($result){ $users = mysql_fetch_all_assoc($result,"ID"); } print_r($users); function mysql_fetch_all_assoc($result,$uniquekey){ $all = array(); while ($row = mysql_fetch_assoc($result)){ $all[$row[$uniquekey]] = $row; } return $all; } ?> |
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 | ( [1] => Array ( [ID] => 1 [Username] => Geqxon [Userlevel] => 2 [Password] => xxx [EmailAddress] => xxx [Timezone] => 1 [RegIP] => [DateAdded] => 0 [DateUpdated] => 0 ) [8] => Array ( [ID] => 8 [Username] => Heinz [Userlevel] => 0 [Password] => xxx [EmailAddress] => ketchup@hotmail.com [Timezone] => 1 [RegIP] => [DateAdded] => 0 [DateUpdated] => 0 ) [21] => Array ( [ID] => 21 [Username] => Testcase [Userlevel] => 0 [Password] => xxx [EmailAddress] => testcase@hotmail.com [Timezone] => 1 [RegIP] => [DateAdded] => 0 [DateUpdated] => 0 ) [27] => Array ( [ID] => 27 [Username] => asdf [Userlevel] => 0 [Password] => xxx [EmailAddress] => asdf [Timezone] => 1 [RegIP] => 127.0.0.1 [DateAdded] => 1182898662 [DateUpdated] => 0 ) ) |
IS NULL of IS NOT NULLquote:Op zaterdag 30 juni 2007 22:28 schreef Geqxon het volgende:
Zo, weer een MySQL vraagje
Mijn resultatenset van een query met een left-join heeft op sommige velden een "NULL" , omdat er geen bijpassend record is. Nu wil ik hier op filteren, maar "b.ID = NULL" of "b.ID = 'NULL'" werkt helaas niet. Wat moet ik hiervoor gebruiken?
PS: Ja, ik wil het op deze manier, en liever geen andere manier
Eingelijk is SQL schitterendquote:Op zaterdag 30 juni 2007 22:51 schreef Geqxon het volgende:
My god, dat MySQL zo simpel is. Prachtige "taal" , dat MySQL! De meest complexe querys zijn nog leesbaar, en je kunt er vanalles mee. Thanks guys!
Dat werkt inderdaad welquote:Op zaterdag 30 juni 2007 11:39 schreef WyriHaximus het volgende:
[ code verwijderd ]
Zo misschien? Misschien dat die haakjes uit maken![]()
1 2 3 | 2e keer: 12, 5 secs 3e keer: Toon Records 0 - 0 (1 totaal, Query duurde 0.0003 sec) |
1 2 3 | 490 een jongen of een meisje 490 een jongen of een meisje |
Vraagje, waarom wil je het niet via een UNION SELECT oplossen?quote:Op zondag 1 juli 2007 00:58 schreef Chandler het volgende:
[..]
Dat werkt inderdaad welmaar......
[ code verwijderd ]![]()
en de uitkomst is niet wat ik zoek
ID = 2000
[ code verwijderd ]
Twee seconden nazoekwerk, documentatie, vanaf MySQL 4.0.0 dusquote:Op zondag 1 juli 2007 08:41 schreef Chandler het volgende:
Wil dat dan ook draaien op MySQL 4.1.22-community-nt ?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |