1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>online</title> <META HTTP-EQUIV="refresh" CONTENT="5"> </head> <body> <? //simple user's online script $ip = $_SERVER['REMOTE_ADDR']; $time = time(); $cutoff = 15; //online cut of time $exists = 0; $users = 0; $user = ""; $fp = fopen ("online/room$_GET['room'].txt","r+"); //if the file exists open it while (!feof($fp)) { $user[] = chop(fgets($fp,65536)); } fseek($fp,0,SEEK_SET); foreach ($user as $line) { list($oldip,$oldtime) = explode('|',$line); if ($oldip == $ip) {$oldtime = $time;$exists = 1;} //check to see if the user is already in the text file if ($time < $oldtime + ($cutoff * 60)) //see if the last time the user visited is past the cut off time { fputs($fp,"$oldip|$oldtime\n"); //write the old data to the text file $users = $users + 1; // add one to the user count } } if ($exists == 0) //if the user isn't in the text file already: { fputs($fp,"$ip|$time\n"); //write the new data to the text file $users = $users + 1; //add one to the user count } fclose ($fp); //close the text file print "$users"; //display the number of users online ?> </body> </html> |
quote:
YES het werktquote:Op woensdag 25 maart 2009 20:46 schreef Roy_T het volgende:
Je code is zo insecure als de pest, maar { en } om $_GET['room'] lost het op
Het is in principe mogelijk met dat script iedere willekeurige tekstfile te lezen. (Het besturingssysteem kan nog wel beperkingen opleggen, maar iemand anders kan die rechten ook weer aanpassen. Daar moet je dus niet op vertrouwen.)quote:Op woensdag 25 maart 2009 20:53 schreef bassiedekloon het volgende:
[..]
YES het werkt![]()
Thnx voor de snelle reactie, maar hoe bedoel je insecure?
Ik hoef daar toch alleen rekening mee te houden als ik een database gebruik?
Die gebruik ik nog niet omdat ik nog niet weet hoe.
Kan. Maar fopen() geeft ook gewoon false terug als het bestand niet bestaat.quote:Op woensdag 25 maart 2009 22:02 schreef Catch22- het volgende:
eerst ff een file_exists op de gevraagde filename doen dus
@ voor de functie aanroep,niet echt een nette oplossing,maar het kan...quote:Op woensdag 25 maart 2009 22:07 schreef Light het volgende:
[..]
Kan. Maar fopen() geeft ook gewoon false terug als het bestand niet bestaat.
1 2 | { spul } |
Ik zal deze vandaag eens testenquote:Op woensdag 25 maart 2009 14:24 schreef slacker_nl het volgende:
Beetje simpele variant, kan volgens mij wel mooier:
[ code verwijderd ]
Ok, cool, werkt goed, maar nu wil ik mijn zoekopdracht meer specificeren, dus: mensen die gespecialiseerd zijn in operating system windows of mac en in programming language PHP of ASP.quote:Op dinsdag 24 maart 2009 16:22 schreef Tuvai.net het volgende:
Voorbeeldje om namen op te halen van mensen die gespecialiseerd zijn in OperatingSystem Windows:
[ code verwijderd ]
OF
[ code verwijderd ]
Kort samengevat: Met een LEFT OUTER JOIN ga je vanuit de 'diepere' tabel werken, met RIGHT OUTER JOIN ga je vanuit de bovenliggende tabel werken. Voor de rest is het in jouw geval simpelweg met de WHERE clausule spelen om de goede filtering toe te passen.
1 2 3 4 5 6 7 8 9 10 11 12 | w.name FROM werknemer w RIGHT OUTER JOIN specialiteiten s ON s.werknemer_id = w.id WHERE s.specialiteit_naam = 'OperatingSystems' AND s.waarde IN ('MAC', 'Windows') AND s.specialiteit_naam = 'ProgrammingLanguage' AND s.waarde IN ('PHP', 'ASP') ; |
Dan zul je toch e.e.a. met de WHERE clausule moeten goochelen, je statements met AND / OR aanvullen en eventueel in aparte 'blokjes' zetten, voorbeeld:quote:Op donderdag 26 maart 2009 10:27 schreef markiemark het volgende:
[..]
Ok, cool, werkt goed, maar nu wil ik mijn zoekopdracht meer specificeren, dus: mensen die gespecialiseerd zijn in operating system windows of mac en in programming language PHP of ASP.
[ code verwijderd ]
Hoe doe ik dat dan?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | w.name FROM werknemer w RIGHT OUTER JOIN specialiteiten s ON s.werknemer_id = w.id WHERE ( s.specialiteit_naam = 'OperatingSystems' AND ( s.waarde = 'MAC' OR s.waarde = 'Windows' ) ) AND ( s.specialiteit_naam = 'ProgrammingLanguage' AND ( s.waarde = 'PHP' OR s.waarde = 'ASP' ) ) |
quote:Op donderdag 26 maart 2009 10:52 schreef Tuvai.net het volgende:
[..]
Dan zul je toch e.e.a. met de WHERE clausule moeten goochelen, je statements met AND / OR aanvullen en eventueel in aparte 'blokjes' zetten, voorbeeld:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | w.name FROM werknemer w RIGHT OUTER JOIN specialiteiten s ON s.werknemer_id = w.id WHERE ( s.specialiteit_naam = 'OperatingSystems' AND ( s.waarde = 'MAC' OR s.waarde = 'Windows' ) ) |
Kun je een tipje van de sluier oplichten wat betreft subqueries?quote:Op donderdag 26 maart 2009 11:27 schreef Tuvai.net het volgende:
EDIT: Ah klopt, ik had er even geen rekening mee gehouden dat het over een one-to-many tabel ging.Je selecteert in dit geval immers elke keer een losse 'specialiteiten' record. Je zult vrees ik toch e.e.a. met subqueries moeten doen.
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 | w.naam FROM werknemer w WHERE ( SELECT COUNT(*) FROM specialiteiten s WHERE s.werknemer_id = w.id AND s.specialiteit_naam = 'OperatingSystems' AND s.waarde IN ('MAC', 'Windows') ) > 0 AND ( SELECT COUNT(*) FROM specialiteiten s WHERE s.werknemer_id = w.id AND s.specialiteit_naam = 'ProgrammingLanguages' AND s.waarde IN ('PHP', 'ASP') ) > 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | w.naam FROM werknemer w WHERE ( SELECT COUNT(*) FROM specialiteiten s WHERE s.werknemer_id = w.id AND ( (s.specialiteit_naam = 'OperatingSystems' AND s.waarde IN ('MAC', 'Windows')) OR (s.specialiteit_naam = 'ProgrammingLanguages' AND s.waarde IN ('PHP', 'ASP')) ) ) = 2 |
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 | <FORM METHOD="post" ACTION="mail.php"> <INPUT TYPE="hidden" NAME="to" VALUE="naam@domein.com"> <p> <INPUT TYPE="hidden" NAME="subject" VALUE="Voorbeeldformulier Handleiding HTML"> <strong>Naam*:</strong> <br><INPUT NAME="name" SIZE="45"> <br><strong>E-mail adres*:</strong> <br><INPUT NAME="email" SIZE="45"> <br><strong>Telefoonnummer*:</strong> <br><INPUT NAME="phone" SIZE="45"> <br><strong>Bericht/vraag:</strong> <br><INPUT TYPE="hidden" NAME="required_fields" VALUE="name, from, phone"> <TEXTAREA NAME="message" ROWS="3" COLS="45"></TEXTAREA> <br> <img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" /> svp invullen <br><br> <INPUT TYPE="reset" VALUE="Verwijder invoer"> <INPUT TYPE="submit" VALUE="Verzend gegevens"> </p> </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 | $name=$_POST['name']; $email=$_POST['email']; $phone=$_POST['phone']; $message=$_POST['message']; $ToEmail = "naam@domein.com"; $ToSubject = "Contact Form from domein.com"; $EmailBody = "Name: $name\n Email: $email\n Phone: $phone\n Message: $message\n"; $Message = $EmailBody; $headers .= "Content-type: text; charset=iso-8859-1\r\n"; $headers .= "From:".$email."\r\n"; mail($ToEmail,$ToSubject,$Message, $headers); header( "Location: contact2.html" ); ?> |
EDIT: snap hem al...quote:Op donderdag 26 maart 2009 12:13 schreef SuperRembo het volgende:
Die kan je ook samenvoegen:
[ code verwijderd ]
Ik denk dat er niet veel regels zijn waarbij specialiteit_naam = 'OperatingSystems' en specialiteit_naam = 'ProgrammingLanguages' is.quote:Op donderdag 26 maart 2009 13:05 schreef markiemark het volgende:
[..]
Kan ik daar ook dit van maken?
[ code verwijderd ]
* AND ipv OR
Hehe nee ik snap hem al..quote:Op donderdag 26 maart 2009 13:26 schreef SuperRembo het volgende:
[..]
Ik denk dat er niet veel regels zijn waarbij specialiteit_naam = 'OperatingSystems' en specialiteit_naam = 'ProgrammingLanguages' is.
Ik heb hem gelimit op 5, en dat duurt 6 seconden... Hoe kan dat?quote:Op donderdag 26 maart 2009 13:27 schreef markiemark het volgende:
[..]
Hehe nee ik snap hem al..
Je geeft denk ik een goede oplossing voor mij, maar mijn mysql server lijkt het niet te slikken...
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |