doe datquote:Op maandag 12 mei 2008 16:23 schreef JortK het volgende:
Ik zal de ontbrekende delen even in de OP zetten
Ja dat kan maar die query wordt best vaak uitgevoerd, en ging er van uit datquote:Op maandag 12 mei 2008 16:15 schreef SuperRembo het volgende:
Waarom tel je eerst het totaal aantal records? Dat is overbodig, je kunt gewoon een (absurd) groot getal voor het maximaal aantal records dat er verwijderd mag worden.
1 2 3 | $num_records = $db->result('SELECT COUNT(id) FROM stat_info'); ?> |
1 2 3 | $db->query('DELETE FROM stat_info ORDER BY date DESC LIMIT ?,?',array($limit,$num_records)); ?> |
Het kan ook wel handig zijn om niet te sorteren op datum maar op id. Hoewel dat niet zo heel veel uit zal maken als je een index op datum hebt. Alles wordt neem ik aan toegevoegd met steeds oplopende id'squote:Op maandag 12 mei 2008 18:30 schreef wipes66 het volgende:
[..]
Ja dat kan maar die query wordt best vaak uitgevoerd, en ging er van uit dat
[ code verwijderd ]
een stuk sneller is dan
[ code verwijderd ]
vandaar
mja, alleen kom ik er net achter dat die site het via het ftp-protocol doetm dus valt er niks uit te lezenquote:Op maandag 12 mei 2008 20:27 schreef Xcalibur het volgende:
Lijkt me dat die data (en met name de foto) via een multipart POST verstuurd wordt.
Dus als je je $_POST array doorloopt zou je een heel eind moeten zijn?
Dat was iets wat ik ook al aan het bekijken was jaquote:Op maandag 12 mei 2008 20:35 schreef Xcalibur het volgende:
Kan je het script niet naar jouw pagina laten posten, waarna jij het weer doorpost naar Flickr?
Het is juist heel nuttig om allerlei scenario's te bedenken waarop iets fout kan gaan. Er zijn allerlei dingen die je in een test-omgeving niet of nauwelijks tegen komt, maar die je in een live-omgeving (waar veel meer tegelijk gebeurt, waar gebruikers rare dingen doen) wel voor kunnen komen.quote:Op maandag 12 mei 2008 18:57 schreef Xcalibur het volgende:
Hee, zitten we ineens in een nieuw topic
Wat betreft bovenstaande queries.... waarom probeer je ze niet gewoon in een kopie van de database?
Lijkt me een stuk gemakkelijker dan hier allerlei scenario's te bedenken waarop het fout zou kunnen gaan....
ok, project opgehevenquote:Op maandag 12 mei 2008 20:41 schreef qu63 het volgende:
[..]
Dat was iets wat ik ook al aan het bekijken was ja
't gaat mij vooral om de geo-tags die toegevoegd worden, en wil het liefst alles zelf beheren
Alleen nu nog een script wat alle denkbare info er uit poept in een log
Dan kan $_REQUEST handig zijn. En vergeet $_FILES niet als je bestanden gaat uploaden.quote:Op maandag 12 mei 2008 20:41 schreef qu63 het volgende:
[..]
Dat was iets wat ik ook al aan het bekijken was ja
't gaat mij vooral om de geo-tags die toegevoegd worden, en wil het liefst alles zelf beheren
Alleen nu nog een script wat alle denkbare info er uit poept in een log
hoe bedoel je dat dan?quote:Op maandag 12 mei 2008 21:59 schreef Light het volgende:
[..]
Dan kan $_REQUEST handig zijn. En vergeet $_FILES niet als je bestanden gaat uploaden.
(En ja, ik heb gelezen dat je het project inmiddels alweer gestopt hebt.)
Bijvoorbeeld. Je kunt dat dan ook naar een bestand schrijven, heb je iets om makkelijker terug te zoeken. Een pc is vast makkelijker om dingen te lezen dan een telefoonschermpje van 10 regels met 20 tekens.quote:Op maandag 12 mei 2008 22:29 schreef qu63 het volgende:
[..]
hoe bedoel je dat dan?
print_r($_REQUEST) oid?
ik heb het project voor nu even stop gezet, als ik denk dat ik het weet ga ik weer verder
dat klopt ja, en het is zelfs zo dat ik er op mn telefoon niks van zie omdat het programma het post. Alleen weet ik nog steeds niet hoe die verbinding nou aangegaan wordt. Of mn telefoon eerst controleerd of ik aangemeld ben, en daarna pas dingen gaat versturen. Als dat zo is moet ik wel heel veel moeite gaan doenquote:Op maandag 12 mei 2008 22:45 schreef Light het volgende:
[..]
Bijvoorbeeld. Je kunt dat dan ook naar een bestand schrijven, heb je iets om makkelijker terug te zoeken. Een pc is vast makkelijker om dingen te lezen dan een telefoonschermpje van 10 regels met 20 tekens.
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 | function google_suggestion($str) { if (strlen(trim($str)) < 3) return false; $url = 'http://www.google.com/search?hl=eng&q='.urlencode($str).'+-60349032&btnG=Zoeken&lr='; $html = file_get_contents($url); if ($html == false) return false; if (eregi("Did you mean",$html) && eregi("spell\=1\" class\=p\>([^-60349032]+)",$html,$regs)) { if (isset($regs[1])) { if (strlen(trim($regs[1])) < 3) return false; return trim(strip_tags($regs[1])); } } elseif (!eregi("Did you mean",$html)) { preg_match_all('@(<b>([^<]+)</b>)@Uis', $html, $a); if (isset($a[2])) { $words = array(); $top = ''; $top_count = 0; foreach($a[2] as $word) { if (!isset($words[$word])) $words[$word] = 1; else $words[$word]++; if ($words[$word] > $top_count) { $top_count = $words[$word]; $top = $word; } } $compair_str = strtolower(str_replace(array('"',"'"),'',$str)); if ($top !== $str && strtolower($top) != $compair_str && $top_count > 5 && $top != '...') return $top; } } return false; } ?> |
Hoe automatisch is automatisch? Ga je naar een pagina en worden dan meteen al de foto's van je telefoon getrokken (lijkt me niet prettig)? Wat meot je doen voordat 't ge-upload wordt?quote:Op maandag 12 mei 2008 19:18 schreef qu63 het volgende:
Heb een website gevonden die foto's automatisch van mn telefoon upload naar flickr en naar een ftp-website.
het is software op mn telefoon, ik moet dus wel eerst een foto selecteren, en dan op send drukken. Ik hoop dus dat ik het via een php-script kan laten lopen die dan alle data er uit filtert (een proxy dus, alleen wordt er niks doorgestuurd naar een andere website). Zo heb ik wel mijn weblog kunnen updaten via mms-berichten, dus ik hoop dat het nu ook werkt..quote:Op maandag 12 mei 2008 22:54 schreef SuperRembo het volgende:
[..]
Hoe automatisch is automatisch? Ga je naar een pagina en worden dan meteen al de foto's van je telefoon getrokken (lijkt me niet prettig)? Wat meot je doen voordat 't ge-upload wordt?
1 2 3 4 5 6 7 8 9 10 11 12 | $handle = fopen("log.txt", 'a'); $arr = array(); $arr = $_REQUEST; $result = ""; foreach ($arr as $k => $v) { $result .= "$k => $v<br>\n\r"; } fwrite($handle, $result); fclose($handle); ?> |
log blijft leeg, en helaas geeft de software op mn telefoon dus een foutmelding..quote:Op maandag 12 mei 2008 23:16 schreef qu63 het volgende:
Deze code heb ik nu, eens kijken of dat genoeg is..
[ code verwijderd ]
Geen idee, maar ik weet wel dat ereg/eregi niet de meest efficiente functie is. Als je zoekt naar een vaste string heb je meer aan strpos of strstr, en als je met reguliere expressies gaat werken heb je meer aan preg_match. Die is meestal sneller.quote:Op maandag 12 mei 2008 22:52 schreef wipes66 het volgende:
ik heb net een functie gemaakt die de "Did you mean ..." suggestie van google af haalt.
Misschien dat iemand er iets aan heeft?![]()
[ code verwijderd ]
ik vraag me alleen af of google hier moeilijk om doet
probeer het eens met getallheaders()quote:Op maandag 12 mei 2008 23:23 schreef qu63 het volgende:
[..]
log blijft leeg, en helaas geeft de software op mn telefoon dus een foutmelding..
de software zal denk ik dus eerst een reactie terug willen voordat er iets verstuurd wordt
maar dan zou er toch íets in mn log moeten staan
Kan veul sneller:quote:Op maandag 12 mei 2008 23:16 schreef qu63 het volgende:
Deze code heb ik nu, eens kijken of dat genoeg is..
[ code verwijderd ]
het gaat mij nu in eerste instantie niet om snelheid, maar meer om haalbaarheid/werkzaamheidquote:Op dinsdag 13 mei 2008 18:30 schreef slacker_nl het volgende:
[..]
Kan veul sneller:
$array = array(1,2,3,4);
$result = print_r($array, 1);
print $result . "\n"
Kan je daarna $result weer printen..
En volgens mij kan je $arr = $_REQUEST wel laten, aangezien $_REQUEST ook aan array is, en zou je dus gewoon kunnen loopen door $_REQUEST... Maar goed, je probleem is er niet mee opgelost.
heb de oplossing al gevonden door ghostscript command line te gebruiken vanuit php.quote:Op dinsdag 13 mei 2008 15:34 schreef DionysuZ het volgende:
Is er een class of iets dergelijks dat ik kan gebruiken om uit een PDF een pagina te halen en die als een plaatje te renderen?
Ik heb wel een tip: iets meer info zou wel helpen.quote:Op dinsdag 13 mei 2008 21:15 schreef Xcalibur het volgende:
heeft iemand ervaring met Smarty?
Ik probeer een plugin te maken die weer een andere plugin gebruikt. Maar die kan ik niet aanroepen... tips?
heb me al kapot zitten zoeken, heb jij een link?quote:Op dinsdag 13 mei 2008 22:17 schreef Farenji het volgende:
Google heeft een mooie webservices api voor maps en daar behoort dit vast ook tot de mogelijkheden. Alleen even een key aanvragen en dan kun je zo connecten vanuit je script.
Hier ergens http://code.google.com/. Zoeken naar Google Maps API.quote:Op dinsdag 13 mei 2008 22:20 schreef Schepseltje het volgende:
[..]
heb me al kapot zitten zoeken, heb jij een link?
Het is nooit meer dan een schatting of een gemiddelde. Natte vingerwerk. Een bejaarde met een kunstheup en rollator zal veel langer doen over 2km dan een jonge getrainde atleet. En als je van Utrecht naar Amsterdam gaat met de auto dan zal dat zaterdags 's nachts veel sneller gaan dan midden in de maandagochtendspits... dat lijkt me vrij vanzelfsprekend.quote:Op dinsdag 13 mei 2008 23:40 schreef Schepseltje het volgende:
ik ga ff kijken of ik hier iets mee kan, de laatste keer dat ik getDuration gebruikte was het nogal onbetrouwbaar
das logisch, alleen ik kreeg af en toe geen waarde terug, en na nog een keer proberen wel, waren ook klachten over op het forum, maar zal waarschijnlijk wel gefixt zijnquote:Op dinsdag 13 mei 2008 23:58 schreef Farenji het volgende:
[..]
Het is nooit meer dan een schatting of een gemiddelde. Natte vingerwerk. Een bejaarde met een kunstheup en rollator zal veel langer doen over 2km dan een jonge getrainde atleet. En als je van Utrecht naar Amsterdam gaat met de auto dan zal dat zaterdags 's nachts veel sneller gaan dan midden in de maandagochtendspits... dat lijkt me vrij vanzelfsprekend.
Je had natuurlijk ook meteen in je openingspost kunnen melden dat je bekend bent de Google API inclusief getDuration()quote:Op dinsdag 13 mei 2008 23:40 schreef Schepseltje het volgende:
ik ga ff kijken of ik hier iets mee kan, de laatste keer dat ik getDuration gebruikte was het nogal onbetrouwbaar
1 2 3 4 5 | Group: Person Person: Mr. Nobody Label: test label Last album: test cd |
1 2 3 4 5 6 7 8 | $ar = array("Genre", "Group", "Person", "Label", "Last album"); foreach ($ar AS $zoek) { // code } ?> |
1 2 3 4 5 | Group: * Person: * Label: * Last album: * |
1 2 3 4 5 6 | if(preg_match_all("/" . $zoek . "\:(.*)/i", $buf, $matches)) { // doe iets met matches[1] } ?> |
Opgelostquote:Op woensdag 14 mei 2008 08:39 schreef Xcalibur het volgende:
Ik heb zelf een plugin geschreven die mijn <a> tags schrijft. Afhankelijk van of mod_rewrite aanstaan of niet krijg ik een 'mooie' link of een link met querystringvariabelen.
Nu ben ik bezig een paginanummering / pagination plugin te schrijven, maar daar heb ik dus die <a> plugin bij nodig, om de links op de juiste manier op te maken. Maar het lukt met niet om de <a> plugin aan te roepen vanuit de paginanummering plugin.
Afhankelijk van hoe ik hem probeer te benaderen krijg ik een foutmelding in de trant van "Call to undefined method"....
1 2 3 4 5 6 7 8 9 10 11 12 | $cat = array("Genre", "Group", "Person", "Label", "Last album"); $file_contents = split("\n", file_get_contents("file")); foreach($file_contents as $v) { list($id, $data) = split(':', $v); if (in_array($id, $cat)) { printf("ID %s - DATA %s\n", $id, $data); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | $cat = array("Genre", "Group", "Person", "Label", "Last album"); $regexp = join("|", $cat); $file_contents = split("\n", file_get_contents("file")); foreach($file_contents as $v) { if (preg_match("/^($regexp):\s+(.*)/", $v, $matches)) { printf("ID %s - DATA %s\n", $matches[1], $matches[2]); } } ?> |
Dat zei ik ook, je probleem is er niet mee opgelost, maar vond het nogal omslachting, vooral omdat print_r precies doet wat jij wilt doen..quote:Op dinsdag 13 mei 2008 19:31 schreef qu63 het volgende:
[..]
het gaat mij nu in eerste instantie niet om snelheid, maar meer om haalbaarheid/werkzaamheid
maar print_r poept het uit op het scherm, en niet in een file, tochquote:Op woensdag 14 mei 2008 11:27 schreef slacker_nl het volgende:
[..]
Dat zei ik ook, je probleem is er niet mee opgelost, maar vond het nogal omslachting, vooral omdat print_r precies doet wat jij wilt doen..
Ja, lijkt me wel tof!quote:Op woensdag 14 mei 2008 01:43 schreef RM-rf het volgende:
of verwacht je dat hier iemand anders kant-en-klare code voor je gaat aanleveren?
weer wat geleerd dusquote:Op woensdag 14 mei 2008 12:09 schreef slacker_nl het volgende:
Zo wel (kijk eens naar de code die ik eerder postte, daar zie je dat ik $result = print_r($array, 1); uitvoer. Die boolean na de $array is een boolean om ervoor te zorgen dat print_r niet naar STDOUT print, maar dit als value aan je retourneert. Dan kan je er alles mee doen, ook in een file opslaan:
$array = array(1,2,3,4);
file_put_contents($file, print_r($array, 1));
idd handig maar had het opgelost met "/" . $search . "\:\s+(.*)/i"quote:Op woensdag 14 mei 2008 11:19 schreef slacker_nl het volgende:
Je kan de regels ook gewoon splitten..
[ code verwijderd ]
Of je doet dit:
[ code verwijderd ]
Je zegt het zelf al, apache alleen laten luisteren op 127.0.0.1, en anders kan je in apache voor deze vhost ook een allow,deny doen ala:quote:Op woensdag 14 mei 2008 13:28 schreef Dzy het volgende:
TVP. Ben met een systeempje bezig met cURL en iMDB zoals eerder maar nu lokaal draaiend. Ik heb nog een kort vraagje en heeft meer met apache te maken dan met php/mysql maar hoe zet ik uit dat mensen van buiten kunnen connecten naar mijn apache? Het is toch alleen voor mezelf, een soort van admin panel met meerdere dingen als to do list, agenda en film archiveer module en het is veiliger gewoon alles te negeren behalve localhost dan met password e.d. werken.
1 2 3 4 5 6 7 | Order Allow,Deny Allow from 127.0.0.1 Allow from <ander IP> # Verkeer uit andere IP space wordt gedenied. </Location> |
quote:Op woensdag 14 mei 2008 10:45 schreef Devrim_ het volgende:
Heeft er iemand een PHP scriptje dat ervoor zorgt dat een file bijv. voor maximaal 1000MB gedownload kan worden?
Dat er dus niet meer dan 1GB traffic kan worden door een map/filequote:Op woensdag 14 mei 2008 12:20 schreef slacker_nl het volgende:
Maximaal voor 1000MB, je wilt er voor zorgen dat een file niet meer traffic kan genereren dan 1Gb, of je wilt dat ie 1000 keer gedownload kan worden? Of je wilt dat een file niet groter dan 1 Gb op je server gezet kan worden: upload_max_filesize = 1024M
Fuck, verkeerde topic.quote:Op woensdag 14 mei 2008 13:41 schreef Farenji het volgende:
Je moet gewoon in de google javascript code kijken wat er precies onderwater gebeurt; waarschijnlijk wordt er gewoon een url aangeroepen met parameters en daaruit komt XML of JSON.
(nu maar hopen dat die javascript code niet obfuscated is!!)
mja ik ook.. nou is mijn topic helemaal fuckedquote:Op woensdag 14 mei 2008 18:58 schreef Farenji het volgende:
[..]
Fuck, verkeerde topic.
-edit- toch niet.Mergen van topicsDacht al dat ik dement aan het worden was....
helaas werkt dat alleen als php op apache draait, en mn host draait IIS, en ik zelf draai abyss..quote:
je kan er wel een document.write aanvast plakken, maar meer kan je serverside niet doenquote:Op woensdag 14 mei 2008 01:18 schreef Schepseltje het volgende:
ok, maar nu het volgende probleem, die functies als getDuration werken via javascript, wat ik wil is 2 locaties in php opgeven zodat ik de reistijd terugkrijg, dan is het niet handig om met javascript te werken
zijn er methodes om dit serverside te doen? net als de geocoder bv?
Onzin, een client sided ajax request is op geen enkel opzicht anders dan een server sided request via iets als curl.quote:Op woensdag 14 mei 2008 20:31 schreef qu63 het volgende:
[..]
je kan er wel een document.write aanvast plakken, maar meer kan je serverside niet doen
ok maar dan moet ik dus ajax als tussenstap gebruiken? dus eerst de waarden uit de database halen, daarmee een google javascriptje maken die de reisafstand uitrekent en verolgens een ajax call die deze in de db opslaat?quote:Op woensdag 14 mei 2008 20:43 schreef Farenji het volgende:
[..]
Onzin, een client sided ajax request is op geen enkel opzicht anders dan een server sided request via iets als curl.
Neen. Zoals ik al zei een ajax call is niks speciaals maar gewoon een standaard http call naar een url waar xml of json uitkomt. Je hebt geen javascript /ajax nodig, je moet alleen erachter zien te komen *wat* er in die javascript precies aangeroepen wordt. En dat moet je dus in je php simuleren mbv curl of iets dergelijks.quote:Op woensdag 14 mei 2008 20:57 schreef Schepseltje het volgende:
[..]
ok maar dan moet ik dus ajax als tussenstap gebruiken? dus eerst de waarden uit de database halen, daarmee een google javascriptje maken die de reisafstand uitrekent en verolgens een ajax call die deze in de db opslaat?
Maar vaak zit er wel een check in, ongeveer op deze manier :quote:Op woensdag 14 mei 2008 22:19 schreef Farenji het volgende:
[..]
Neen. Zoals ik al zei een ajax call is niks speciaals maar gewoon een standaard http call naar een url waar xml of json uitkomt. Je hebt geen javascript /ajax nodig, je moet alleen erachter zien te komen *wat* er in die javascript precies aangeroepen wordt. En dat moet je dus in je php simuleren mbv curl of iets dergelijks.
1 2 3 4 5 6 | if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) OR $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { die('Illigal request'); } ?> |
Je pakt een packet sniffer en kijkt wat er allemaal met de AJAX call word mee gestuurd, vervolgens bouw je deze zo goed mogelijk na (met bijvoorbeeld fsockopen of curl what ever suits you), dus alle healders en andere dingen die in die call worden meegestuurd stuur jij ook mee. Op die manier zal de server aan de andere kant niet doorhebben dat het een script ipv browser is die de call maaktquote:Op donderdag 15 mei 2008 00:19 schreef super-muffin het volgende:
[..]
Maar vaak zit er wel een check in, ongeveer op deze manier :
[ code verwijderd ]
Is dat makkelijk te simuleren zoals jij zegt?
Uiteraard, met curl kun je elke willekeurige header meesturen. Ook dingen als useragent etc.quote:Op donderdag 15 mei 2008 00:19 schreef super-muffin het volgende:
[..]
Maar vaak zit er wel een check in, ongeveer op deze manier :
[ code verwijderd ]
Is dat makkelijk te simuleren zoals jij zegt?
1 2 3 4 5 6 7 8 | $test = "[[test|test]]"; if(preg_match("/^\[\[[A-Za-z0-9\|]+\]\]/", $test, $matches)) { echo '<pre>', print_r($matches, 1), '</pre>'; } else { echo "Nee, helaas :("; } ?> |
1 2 3 4 5 | preg_match('@^(?:http://)?([^/]+)@i', "http://www.php.net/index.html", $matches); $host = $matches[1]; ?> |
Je hebt geen matches.. Whot? Nou, je doet een regexp match op met een reguliere expressie die nooit matches teruggeeft, aangezien je de gevonden resultaten niet captured.quote:Op donderdag 15 mei 2008 12:57 schreef Hmail het volgende:
1 2 3 4 5 6 7 8 9 10 | $test = "[[test|test]]"; if(preg_match("/^\[\[([\w\|]+)\]\]/", $test, $matches)) { print $matches[1] . "\n"; // test|test $params = split("|", $matches[1]) $func = array_shift($params); } else { echo "Nee, helaas <img class="rde_img_smiley" src="http://i.fok.nl/s/frown.gif" width="15" height="15" alt="" />"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 | $line = "Hello world"; if (preg_match("/Hello \w+/", $line, $matches)) { print_r($matches); // Zit niks in.. } if (preg_match("/Hello (\w+)/", $line, $matches)) { print_r($matches); // Bevat Hello World (matches[0]) en matches[1] is world } ?> |
Een server laten crashen met een regexp, hoe doe je dat?quote:Op donderdag 15 mei 2008 15:39 schreef Xcalibur het volgende:
ik heb gisteren m'n server laten crashen met een brakke regex, dus ik wens je veel succes
Er zijn wel wat functies voor.quote:Op donderdag 15 mei 2008 22:31 schreef qu63 het volgende:
Is het mogelijk om dmv php een mailbox/adres uit te lezen en de bijlagen ergens op te slaan, en de body van het bericht ook? eventueel beide in een database..
is zeg maar een andere aanpak van mn eerdere probleem aangezien ik daar niet uitkom
hmz, dat wordt dan flink puzzelenquote:
het was een redirect in de htaccess, met een typo... waardoor die feitelijk naar zichzelf redirect (eigenlijk naar een error pagina), daar dezelfde regex vond, weer redirecte, etc....quote:Op donderdag 15 mei 2008 19:51 schreef Light het volgende:
[..]
Een server laten crashen met een regexp, hoe doe je dat?
Gewoon kijken bij de functies voor message body. Daar is vast wat mee te doen. Een attachment wordt verzonden als deel van de body (het is geen header, dus het is body).quote:Op donderdag 15 mei 2008 22:47 schreef qu63 het volgende:
[..]
hmz, dat wordt dan flink puzzelen
alleen staat er daar ook niks over bijlagen...
hmz, van het weekend maar eens mee gaan spelen dan. alhoewel die pop3-class ook wel wat lijktquote:Op donderdag 15 mei 2008 23:01 schreef Light het volgende:
[..]
Gewoon kijken bij de functies voor message body. Daar is vast wat mee te doen. Een attachment wordt verzonden als deel van de body (het is geen header, dus het is body).
Dat laatste is gewoon een Slecht Idee TM.quote:Op donderdag 15 mei 2008 22:58 schreef Xcalibur het volgende:
Ik weet niet of er iets als een script timeout in Apache bestaat, maar die kwam dus niet... bovendien wordt er vanaf de errorpagina een mail gestuurd....
Zal Danny dat ook aan hebben staan dan??quote:Op vrijdag 16 mei 2008 09:36 schreef Dzy het volgende:
Omdat het een manier is voor kwaadwilligen om heel makkelijk je server plat te krijgen, zodra ze daar achter zijn is in principe F5-en op een pagina met een fout erin al genoeg.
quote:Op vrijdag 16 mei 2008 09:37 schreef ursel het volgende:
[..]
Zal Danny dat ook aan hebben staan dan??
1 2 3 4 5 6 7 8 | `id` int(11) NOT NULL auto_increment, `title` varchar(128) NOT NULL, `start_range` bigint(11) NOT NULL, `end_range` bigint(11) NOT NULL, `lastdate` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ; |
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 | INSERT INTO `ipranges` VALUES (2, '@Home Maastricht Headend block', 1411268608, 1411280383, '2008-05-16 16:10:22'); INSERT INTO `ipranges` VALUES (3, 'AOL', 1043529728, 1043562495, '2008-05-16 16:13:48'); INSERT INTO `ipranges` VALUES (4, 'Essent Kabelcom B.V.', 1410859008, 1411383295, '2008-05-16 16:20:06'); INSERT INTO `ipranges` VALUES (5, 'CPE Customers NL', 1345961472, 1345965823, '2008-05-16 16:20:08'); INSERT INTO `ipranges` VALUES (6, 'Essent Kabelcom', -646193152, -646184961, '2008-05-16 16:20:38'); INSERT INTO `ipranges` VALUES (7, 'Casema BV', 1398237184, 1398239231, '2008-05-16 16:21:46'); INSERT INTO `ipranges` VALUES (8, 'Versatel Consumer is one of the largest ISP\\''s in the Netherlands', 1473445888, 1473462271, '2008-05-16 16:24:16'); INSERT INTO `ipranges` VALUES (9, 'Telenet Operaties N.V.', 1421869056, 1422131199, '2008-05-16 16:29:50'); INSERT INTO `ipranges` VALUES (10, 'XS4ALL Internet BV', 1348772352, 1348776703, '2008-05-16 16:41:01'); INSERT INTO `ipranges` VALUES (11, 'Versatel Consumer is one of the largest ISP\\''s in the Netherlands', 1473511424, 1473527807, '2008-05-16 16:41:01'); INSERT INTO `ipranges` VALUES (12, 'Essent Kabelcom', -646234112, -646217729, '2008-05-16 16:42:03'); INSERT INTO `ipranges` VALUES (13, 'Telfort Internet', 1386938368, 1386975999, '2008-05-16 16:44:45'); INSERT INTO `ipranges` VALUES (14, 'Wanadoo Nederland', 1386020864, 1386086399, '2008-05-16 16:45:46'); INSERT INTO `ipranges` VALUES (15, 'Telfort Internet', 1386938368, 1386975999, '2008-05-16 16:47:26'); INSERT INTO `ipranges` VALUES (16, 'ADSL18', 1414987776, 1415053311, '2008-05-16 16:49:09'); INSERT INTO `ipranges` VALUES (17, 'XS4ALL Internet BV', 1350434816, 1350500351, '2008-05-16 16:49:13'); INSERT INTO `ipranges` VALUES (18, 'Woonstichting De Key', -1854668800, -1854662657, '2008-05-16 16:53:35'); INSERT INTO `ipranges` VALUES (19, 'Essent Kabelcom B.V.', 1380450304, 1380712447, '2008-05-16 16:53:50'); INSERT INTO `ipranges` VALUES (20, 'ADSL-GO-PLUS', 1374724096, 1374728191, '2008-05-16 16:54:45'); INSERT INTO `ipranges` VALUES (21, 'Telenet Operaties N.V.', 1369702400, 1369767935, '2008-05-16 16:55:37'); INSERT INTO `ipranges` VALUES (22, '@Home Roosendaal Headend block', 1410990080, 1411055615, '2008-05-16 16:56:05'); INSERT INTO `ipranges` VALUES (23, 'CPE Customers NL', 1308107264, 1308109055, '2008-05-16 16:58:18'); INSERT INTO `ipranges` VALUES (24, '@Home Venlo Headend block', 1411186688, 1411206143, '2008-05-16 16:58:35'); INSERT INTO `ipranges` VALUES (25, 'Casema NV', 1398035456, 1398036479, '2008-05-16 16:58:46'); INSERT INTO `ipranges` VALUES (26, 'ADSL17', 1414922240, 1414987775, '2008-05-16 17:00:59'); INSERT INTO `ipranges` VALUES (27, 'NTL Internet', 1375731712, 1377828863, '2008-05-16 17:05:05'); INSERT INTO `ipranges` VALUES (28, 'Telenet Operaties N.V.', 1421869056, 1422131199, '2008-05-16 17:09:45'); INSERT INTO `ipranges` VALUES (29, 'Telenet', 1309933568, 1310195711, '2008-05-16 17:11:21'); INSERT INTO `ipranges` VALUES (30, 'Wanadoo ADSL Customers with static addresses', 1435500544, 1435762687, '2008-05-16 17:15:44'); INSERT INTO `ipranges` VALUES (31, 'Alice DSL', 1310400512, 1310408703, '2008-05-16 17:16:34'); INSERT INTO `ipranges` VALUES (32, 'ADSL16', 1414856704, 1414922239, '2008-05-16 17:18:32'); INSERT INTO `ipranges` VALUES (33, 'CPE Customers NL', -725942272, -725935617, '2008-05-16 17:19:28'); INSERT INTO `ipranges` VALUES (34, 'Wanadoo ADSL Customers with static addresses', 1435500544, 1435762687, '2008-05-16 17:21:50'); INSERT INTO `ipranges` VALUES (35, 'ADSL34', 1449066496, 1449132031, '2008-05-16 17:26:08'); INSERT INTO `ipranges` VALUES (36, 'ADSL-GO-PLUS', 1374720000, 1374724095, '2008-05-16 17:31:09'); INSERT INTO `ipranges` VALUES (37, 'UPC Broadband Operations B.V.', 411303936, 411369471, '2008-05-16 17:31:30'); INSERT INTO `ipranges` VALUES (38, 'ADSL10', 1372520448, 1372585983, '2008-05-16 17:31:48'); |
1 2 3 4 5 6 7 8 | $sql = "SELECT id FROM ipranges WHERE (start_range >= " . ip2long(getIp()) . " AND end_range <= " . ip2long(getIp()) . ") LIMIT 1"; $query = mysql_query($sql); $items = mysql_num_rows($query); ?> |
CIDR formaat is dit:quote:Op vrijdag 16 mei 2008 18:18 schreef Chandler het volgende:
cidr formaat?de range haal ik sowieso via ripe op
maar deze wil ik in de database zetten voor later/huidig gebruik.
Maar ziet iemand waar ik de fout in ga?
Het zal vast aan mij liggen, maar ik zie geen dubbelen.quote:Op vrijdag 16 mei 2008 17:35 schreef Chandler het volgende:
Ik heb een vraagje, ik wil ranges van IP adressen opslaan echter wil ik deze niet dubbel in mijn lijst hebben.
Voorbeeld qua MySQL opzet
[ code verwijderd ]
en wat voorbeelden
[ code verwijderd ]
Zoals je ziet zitten hier dubbele in. Echter doe ik wel een check met de volgende code
[ code verwijderd ]
Nu snap ik niet waar ik fout ga, want de query lijkt mij goed.
Iemand?
Je vind het vreemd dat een query met LIMIT 1 niet meer dan 1 row oplevert?quote:Op vrijdag 16 mei 2008 17:35 schreef Chandler het volgende:
[...]
Nu snap ik niet waar ik fout ga, want de query lijkt mij goed.
check entry 13 && 15, beide van telfort en hebben dezelfde begin/eind waardes.quote:Op vrijdag 16 mei 2008 18:51 schreef Light het volgende:
[..]
Het zal vast aan mij liggen, maar ik zie geen dubbelen.
SuperRembo, dat hoeft toch ook niet. Als de regel bestaat dan krijg ik 1 ID terug bestaat deze niet dan krijg ik 0 terug!quote:Op vrijdag 16 mei 2008 19:00 schreef SuperRembo het volgende:
[..]
Je vind het vreemd dat een query met LIMIT 1 niet meer dan 1 row oplevert?
Kijk nou eens goed wat je conditie is: start_range moet kleiner dan of gelijk aan x zjin en end_range moet groter dan of gelijk aan x zijn. Met andere woorden: end_range moet kleiner zjin dan start_range, of start_range is gelijk aan end_range. Daar komt nooit een record uit natuurlijk.quote:Op vrijdag 16 mei 2008 22:19 schreef Chandler het volgende:
[..]
SuperRembo, dat hoeft toch ook niet. Als de regel bestaat dan krijg ik 1 ID terug bestaat deze niet dan krijg ik 0 terug!
Er gaat iets fout in de where al snap ik niet wat
1 2 3 4 5 6 7 8 | $sql = "SELECT id FROM ipranges WHERE (start_range >= " . ip2long("255.255.255.10") . " AND end_range <= " . ip2long("255.255.255.10") . ") LIMIT 1"; $query = mysql_query($sql); $items = mysql_num_rows($query); ?> |
Kijk er nog maar eens naar als je wakker bent danquote:Op vrijdag 16 mei 2008 23:18 schreef Chandler het volgende:
start range 255.255.255.0
end range 255.255.255.255
ls ik nu 255.255.255.10 dan klopt mijn query toch
[ code verwijderd ]
Ik zie de fout niet... zoals je hierboven hebt beschreven, maar zal ook wel komen omdat ik gewoon moe ben![]()
U zei?quote:Op zaterdag 17 mei 2008 00:25 schreef SuperRembo het volgende:
Of gebruik BETWEEN, dan kan je 't niet verkeerd doen :P
1 2 3 | $query = 'SELECT id FROM ipranges WHERE start_range BETWEEN ip AND end_range'; ?> |
Never underestimate the power of stupid people using powerful toolsquote:
Ik heb het gedaan en het werkt! al snap ik het niet geheel waarom je kleiner dan en groter dan om moest draaien...quote:Op vrijdag 16 mei 2008 23:23 schreef Farenji het volgende:
Draai het nou gewoon maar om, suffie.
Ik zou zeggen, start er een en stel je vragen!!!quote:Op zaterdag 17 mei 2008 01:21 schreef Juicyhil het volgende:
Is er geen dergelijk topic voor C#/.NET ? Tenminste de èchte talen...
Inderdaad! En maak mij gelijk lid wil jequote:Op zaterdag 17 mei 2008 10:59 schreef Chandler het volgende:Ik zou zeggen, start er een en stel je vragen!!!
Goed punt, [PHP/(My)SQL] voor dummies - deel 59quote:Op zaterdag 17 mei 2008 00:25 schreef SuperRembo het volgende:
Of gebruik BETWEEN, dan kan je 't niet verkeerd doen
niemand?quote:Op zaterdag 17 mei 2008 09:43 schreef Flaccid het volgende:
Ik weet niet of dit hier hoort maar:
Ik heb een contactscriptje gemaakt, met een mail commando (php). Maar als je accenten gaat toevoegen zoals ü en dergeljke komt hij er heel raar uit te zien. Hoe kan je dat verhelpen?
1 2 3 4 5 6 7 8 9 | if (date('l') == "Monday") { $today = "maandag"; } if (date('l') == "Tuesday") { $today = "dinsdag"; } if (date('l') == "Wednesday") { $today = "woensdag"; } if (date('l') == "Monday") { $today = "donderdag"; } if (date('l') == "Thursday") { $today = "vrijdag"; } if (date('l') == "Saturday") { $today = "zaterdag"; } if (date('l') == "Sunday") { $today = "zondag"; } ?> |
Dan moet je strftime() gebruiken.quote:Op zondag 18 mei 2008 12:25 schreef saban het volgende:
date('l'); geeft Sunday terug, is er niet iets om bijvoorbeeld de taal vast te stellen? date('l','NL'); bijvoorbeeld voor zondag?
Dan moet locales wel geinstalleerd op de server zijn geloof ik, want ik krijg namelijk als output:quote:
1 |
1 2 3 4 | setlocale(LC_TIME, "nl_NL"); echo strftime("in Dutch is %A"); ?> |
example 2quote:Op zondag 18 mei 2008 12:42 schreef saban het volgende:
[..]
Dan moet locales wel geinstalleerd op de server zijn geloof ik, want ik krijg namelijk als output:
[ code verwijderd ]
met
[ code verwijderd ]
Die code is goed, daar ligt het niet aan. Dus het zal toch een ontbrekende locale zijn. Dat moet je hoster installeren.quote:Op zondag 18 mei 2008 12:42 schreef saban het volgende:
[..]
Dan moet locales wel geinstalleerd op de server zijn geloof ik, want ik krijg namelijk als output:
[ code verwijderd ]
met
[ code verwijderd ]
quote:Op zondag 18 mei 2008 12:49 schreef Light het volgende:
[..]
Die code is goed, daar ligt het niet aan. Dus het zal toch een ontbrekende locale zijn. Dat moet je hoster installeren.
1 2 3 4 | en_US.ISO-8859-1... done nl_NL.ISO-8859-1... done Generation complete. |
Een bedrijf is toch altijd gekoppeld aan een woonplaats. Hoe wil je die woonplaats opzoeken als alle woonplaatsen verdeeld zijn over 26 tabellen? Wil je een voor een al die tabellen af gaan lopen?!? Die data moet in 1 tabel zitten zodat je daar met 1 identificerend veld (numeriek ID) naar kan verwijzen; Of wil je ook in de bedrijventabel de beginletter van de woonplaats bij gaan houden zodat je de juiste tabel er bij kan vinden? Dat is echt een rampzalig slecht idee.quote:Op zondag 18 mei 2008 12:21 schreef Likkende_Lassie het volgende:
nee he![]()
Maar alles gewoon in 1 tabel plaatsen, er wordt eigenlijk alleen maar gezocht op bedrijfsnaam en plaats, die gewoon een index geven?
In totaal zijn het wel iets van 1.4 miljoen records hé
En 2 minuten later werkt het niet meer, krijg weer Sunday ipv zondag :/quote:Op zondag 18 mei 2008 12:57 schreef saban het volgende:
[..]
[ code verwijderd ]
Nu nog even uitzoeken hoe ik het daadwerkelijk ook activeer in Apache/PHP
/edit
Het werkt! Thanks
en mijn optie?quote:Op zondag 18 mei 2008 13:59 schreef saban het volgende:
[..]
En 2 minuten later werkt het niet meer, krijg weer Sunday ipv zondag :/
quote:
1 2 3 | ereg("^[A-Za-z0-9_-]{3,15}$",$username) ?> |
Lijkt goed, maar ik zou preg adviseren ipv ereg. preg is (meestal) sneller.quote:Op zondag 18 mei 2008 14:49 schreef saban het volgende:
Ben ook direct bezig met ereg, betekend dit het volgende:
[ code verwijderd ]
$username is minimaal 3, maximaal 15, bestaande uit
a t/m z
A t/m Z
0 t/m 9
-
_
Opgelost met:quote:Op zondag 18 mei 2008 13:41 schreef R-Mon het volgende:
Ik heb een vraagje. Ik heb deze tabellen:
Schema ( id, name )
Tabel ( id, schemaid, name )
Relation ( id, schemaid, table1id, cardinality1, name, cardinality2, table2id )
Hoe krijg ik in 1 query een Relatie waarbij table1id en table2id omgezet zijn naar de names van die tabellen? Hopelijk is dit duidelijk genoeg. Ik krijg het echt niet voorelkaar.
quote:Op zondag 18 mei 2008 15:46 schreef Light het volgende:
[..]
Lijkt goed, maar ik zou preg adviseren ipv ereg. preg is (meestal) sneller.
1 2 3 | preg_match ('/[^a-zA-Z0-9-_]/', $string) ?> |
quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $CacheFile = $CacheDir . md5($Url); if (!file_exists($File) OR filemtime($File) - time() < $CacheLifetime) { // Hoop andere code $Body = MakeRequest(); $Resource = fopen($CacheFile, 'w'); fwrite($Resource, $Body); fclose($Resource); } else { $Body = file_get_contents($CacheFile); } ?> |
filemtime() is toch nooit groter dan time() ? Dus ik denk dat je die twee beter kunt omdraaien in je berekening.quote:Op zondag 18 mei 2008 17:37 schreef super-muffin het volgende:
[..]
Ik ben nu bezig met een klein programmatje die een XML in laad van een andere server en daar wil ik een cache systeempje voor schrijven. Ik heb nu dit ongeveer : (versimpelde versie)
[ code verwijderd ]
Is dit een beetje waterdicht? Natuurlijk gaat de cache dir een beetje vol lopen op een gegeven moment, maar daar kan ik bijvoorbeeld ook een crontab voor gebruiken.
Het scheelt wel heel wat laad tijd als het eenmaal is gecached, wat dus wel fijn is.
Dat is een foutje in het overtikken, de echte code staat op een andere computer.quote:Op zondag 18 mei 2008 21:16 schreef Light het volgende:
[..]
filemtime() is toch nooit groter dan time() ? Dus ik denk dat je die twee beter kunt omdraaien in je berekening.
Misschien vind je dit iets netter:quote:Op zondag 18 mei 2008 16:04 schreef R-Mon het volgende:
[..]
Opgelost met:
SELECT (SELECT name FROM `Table` WHERE Table.id = Relation.table1id) AS table1, cardinality1, name, cardinality2, (SELECT name FROM `Table` WHERE Table.id = Relation.table2id) AS table2 FROM `Relation`
Maar ik vind het nogal een lelijke oplossing.
1 2 3 4 | FROM `Relation` r LEFT OUTER JOIN `Table` t1 ON t1.id = r.table1id LEFT OUTER JOIN `Table` t2 ON t2.id = r.table2id |
Ja, die werkt en is idd veel mooier. Bedanktquote:Op zondag 18 mei 2008 23:39 schreef SuperRembo het volgende:
[..]
Misschien vind je dit iets netter:
[ code verwijderd ]
Zou 't zelfde resultaat op moeten leveren.
1 2 3 4 5 6 | Your Name: <input type=text name="Name" size=25><br> Your E-Mail: <input type=text name="EMail" size=30><br> Your Comment: <textarea name="Comment" rows=4 cols=30></textarea><br> <input type=submit value="Submit Feedback"> </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 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> // Configuration Settings $SendFrom = "Form Feedback <.....@....nl>"; $SendTo = ".....@....nl"; $SubjectLine = "Feedback Submission"; $ThanksURL = "Uwberichtisverzonden.html"; //confirmation page // Build Message Body from Web Form Input foreach ($_POST as $Field=>$Value) $MsgBody .= "$Field: $Value\n"; $MsgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" . $_SERVER["HTTP_USER_AGENT"]; $MsgBody = htmlspecialchars($MsgBody, ENT_NOQUOTES); //make safe // Send E-Mail and Direct Browser to Confirmation Page mail($SendTo, $SubjectLine, $MsgBody, "From: $SendFrom"); header("Location: $ThanksURL"); </body> </html> ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // Configuration Settings $SendFrom = "Form Feedback"; $SendTo = "email@domein"; $SubjectLine = "Feedback Submission"; $ThanksURL = "Uwberichtisverzonden.html"; //confirmation page // Build Message Body from Web Form Input foreach ($_POST as $Field=>$Value) $MsgBody .= "$Field: $Value\n"; $MsgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" . $_SERVER["HTTP_USER_AGENT"]; $MsgBody = htmlspecialchars($MsgBody, ENT_NOQUOTES); //make safe // Send E-Mail and Direct Browser to Confirmation Page mail($SendTo, $SubjectLine, $MsgBody, "From: $SendFrom"); header("Location: $ThanksURL"); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |