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"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $books = array(); foreach($bookids as $bid) { $res = mysql_query("SELECT Title, Subtitle FROM Book WHERE BookID = $bid"); list($title, $subtitle) = mysql_fetch_array($res); $res2 = mysql_query("SELECT PersonID FROM AuthorBookLink WHERE BookID=$bid"); $authors = array(); while(list($pid) = mysql_fetch_array($res2)) { $res3 = mysql_query("SELECT Name FROM Person WHERE PersonID=$pid"); list($name) = mysql_fetch_array($res3); array_push($authors, array("AUTHOR"=>$name)); } array_push($books, array("ID"=>$bid,"TITLE"=>$title,"SUBTITLE"=>$subtitle,"AUTHORS"=>$authors)); } // $books = sort($books); $template->AddParam("CATLIST", $books); } |
1 2 3 | $res = mysql_query("SELECT Title, Subtitle FROM Book WHERE BookID = $bid ORDER BY Title ASC, Subtitle ASC"); ?> |
Inmiddels is het probleem gevonden. Het bleek dat de hoster alleen mail door laat als dit naar een e-mailadres wordt gestuurd met dezelfde domeinnaam als de website waar het vandaan komt.quote:Op dinsdag 20 mei 2008 22:56 schreef Farenji het volgende:
Ik heb je emailadres weggehaald. Voor de rest zou dit script gewoon moeten werken hoor. Als je nog geen mail ontvangt zou ik even checken of alle instellingen voor je hostingaccount (zoals emailadres) wel goed ingesteld staan, en anders even contact met je hoster opnemen.
1 2 3 4 5 6 | FROM Book b LEFT OUTER JOIN AuthorBookLink a ON a.BookID = b.BookID LEFT OUTER JOIN Person p ON p.PersonID = a.PersonID WHERE b.BookID IN (1, 2, 3, 4, 5) ORDER BY b.Title, b.Subtitle, b.BookID, p.Name, p.PersonID |
Er valt niet veel te sorteren al je maximaal 1 resultaat krijgtquote:
Whehe... lekker lomp van me ookquote:Op woensdag 21 mei 2008 20:03 schreef SuperRembo het volgende:
[..]
Er valt niet veel te sorteren al je maximaal 1 resultaat krijgt
MySQL kan het sorteren dan wel goed optimaliserenquote:Op woensdag 21 mei 2008 20:03 schreef SuperRembo het volgende:
[..]
Er valt niet veel te sorteren al je maximaal 1 resultaat krijgt
Ik heb er dit van gemaakt:quote:Op woensdag 21 mei 2008 20:01 schreef SuperRembo het volgende:
Databases zijn goed in het sorteren van gegevens, maak daar gebruik van. Van die 3 losse query's zou ik 1 query maken waar alle gegevens meteen in de goede volgorde uit komen rollen:
[ code verwijderd ]
Je mag zelf uitzoeken hoe je hiermee je $books array vult :P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $books = array(); $res = mysql_query("SELECT BookID, Title, Subtitle FROM Book WHERE BookID IN (".join(", ", $bookids).") ORDER BY Title, Subtitle, BookID"); while(list($bid, $title, $subtitle) = mysql_fetch_array($res)) { $res2 = mysql_query("SELECT PersonID FROM AuthorBookLink WHERE BookID=$bid"); $authors = array(); while(list($pid) = mysql_fetch_array($res2)) { $res3 = mysql_query("SELECT Name FROM Person WHERE PersonID=$pid"); list($name) = mysql_fetch_array($res3); array_push($authors, array("ID"=>$pid,"AUTHOR"=>$name)); } array_push($books, array("ID"=>$bid,"TITLE"=>$title,"SUBTITLE"=>$subtitle,"AUTHORS"=>$authors)); } $template->AddParam("CATLIST", $books); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function booklist($template, $bookids) { $books = array(); $res = mysql_query("SELECT b.BookID, b.Title, b.Subtitle, p.PersonID, p.Name FROM Book b, AuthorBookLink ab, Person p WHERE b.BookID IN (".join(", ", $bookids).") AND b.BookID = ab.BookID AND ab.PersonID = p.PersonID ORDER BY b.Title, b.Subtitle, b.BookID"); $i = 0; $books = array(); while(list($bid, $title, $subtitle, $pid, $name) = mysql_fetch_array($res)) { $books[$bid]['title'] = $title; $books[$bid]['subtitle'] = $subtitle; $books[$bid]['authors'][$pid] = $name; } $template->AddParam("CATLIST", $books); } ?> |
1 2 3 4 | //maak van bijvoorbeeld [32]paginanaam[/32] een link die paginanaam heet en linkt naar pageid nr 32 $content = preg_replace("#\[([0-9]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />\]([a-z]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />\[/(\\1)\]#e", "'<a href=\"'.page_link($1).'\" target=\"_blank\">'.$2.'</a>'", $content); ?> |
je beschrijving klopt niet echt iigquote:Op maandag 26 mei 2008 00:38 schreef Likkende_Lassie het volgende:
Kan dit vertagend werken?
[ code verwijderd ]
zojuist in elkaar geprutst....
net getest, werkt prima!
Jaquote:Op maandag 26 mei 2008 01:15 schreef wieweetwat het volgende:
Kan iemand mij vertellen hoe ik onderstaande kan maken??
[ afbeelding ]
Met uileg natuurlijkquote:
Sorryquote:
Er is niet een 'het script'. Als je het precies zo wil als in je voorbeeld moet je het aan The_terminator vragen, anders moet je zelf zoeken naar GD-scripts die ook animated gifs kunnen makenquote:Waar kan ik het script downloaden?? Google leverde mij hierop geen resultaten.
Titel http://www.google.nl/search?hl=nl&rls=GGLJ%2CGGLJ%3A2006-34%2CGGLJ%3Aen&q=%22terminator%27s+icoon+text+scriptje%22&meta=quote:Op maandag 26 mei 2008 01:28 schreef qu63 het volgende:
Oh, en als google geen resultaat geeft, vraag ik me toch af wat je als zoekopdracht invult
Dat is dus het stukje animatedquote:Op maandag 26 mei 2008 01:35 schreef wieweetwat het volgende:
[..]
Ik zou graag de bewegende tekst willen
ik vraag the_terminator, weet iemand zijn email?
Als je het precies zo wil hebben moet je The_Terminator hebben.quote:Op maandag 26 mei 2008 01:32 schreef wieweetwat het volgende:
[..]
Titel http://www.google.nl/search?hl=nl&rls=GGLJ%2CGGLJ%3A2006-34%2CGGLJ%3Aen&q=%22terminator%27s+icoon+text+scriptje%22&meta=
Daar staat de bron niet
Probeer zn profiel eensquote:Op maandag 26 mei 2008 01:35 schreef wieweetwat het volgende:
ik vraag the_terminator, weet iemand zijn email?
Hij mailde terug dat hij die code niet deeltquote:
zoekquote:Op maandag 26 mei 2008 01:57 schreef wieweetwat het volgende:
[..]
Hij mailde terug dat hij die code niet deeltHij noemde nog imagemagick... en daar weet ik niets van :S
Mwoh, zo simpel is het nog niet hoor. Mijn script gebruikt Imagemagick alleen om de animated gif weg te schrijven, de tekst word in een achergrondplaatje afgedrukt dmv imagefttext, en dan gewoon x een paar pixels per frame laten opschuiven. Mijn icoon heeft ook een dynamische grootte, meer tekst betekend meer frames en dus een groter bestand. Ik pak hiervoor gewoon de lengte van 1 teken, laten we zeggen dat dat 10 pixels is. Ook zit er een beetje ruimte tussen de tekens, ongeveer 2 pixels. Als ik elke frame de tekst 12 pixels opschuif weet ik precies hoeveel ik nodig heb aan de hand van de lengte van de tekst.quote:
Dit heb ik al geprobeerd:quote:Geef het mailadres weer van alle gebruikers die in de maand juni zijn geboren en die een HTML-based Direct Mail hebben
1 2 3 4 5 6 7 8 9 10 | FROM persoon WHERE `HTML` = '1' AND ( MONTH( 06( ) ) - MONTH( `GEBOORTEDATUM` ) ) - |
Wat voor error?quote:Op maandag 26 mei 2008 12:55 schreef donroyco het volgende:
Beste MySQL-fanaten..
ik wil het volgende uit een database halen:
[..]
Dit heb ik al geprobeerd:
[ code verwijderd ]
Hij geeft alleen een error aan bij regel 10, en ik weet niet hoe het te verhelpen..thanks in advance
quote:
quote:MySQL retourneerde: Documentatie
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MONTH( `GEBOORTEDATUM` ) )
LIMIT 0, 30' at line 10
Wat wil je bereiken met "MONTH( 06( ) )"?quote:Op maandag 26 mei 2008 12:55 schreef donroyco het volgende:
Beste MySQL-fanaten..
ik wil het volgende uit een database halen:
[..]
Dit heb ik al geprobeerd:
[ code verwijderd ]
Hij geeft alleen een error aan bij regel 10, en ik weet niet hoe het te verhelpen..thanks in advance
Best leuk hé, ooit had een user (volgens mij SuperRembo) daar ook een stukje script voor geschreven!quote:Op maandag 26 mei 2008 01:38 schreef qu63 het volgende:
[..]
Dat is dus het stukje animated
[ afbeelding ]
Nou, dat was meer als proberenquote:Op maandag 26 mei 2008 17:46 schreef SuperRembo het volgende:
[..]
Wat wil je bereiken met "MONTH( 06( ) )"?
Staat er na de regel met `GEBOORTEDATUM` nog meer, het sql statement lijkt in ieder geval niet compleet.
Verder pak je er natuurlijk even de documentatie van MySQL bij.
Mailadres => `EMAILADRES`quote:Geef het mailadres weer van alle gebruikers die in de maand juni zijn geboren en die een HTML-based Direct Mail hebben
Zoals je in de documentatie kunt zien geeft de functie MONTH een getal terug, in het geval van juni dus 6. Je query zou dan zoiets kunnen zijn:quote:Op maandag 26 mei 2008 19:18 schreef donroyco het volgende:
[..]
Nou, dat was meer als proberen :@ Dit is de eerste keer dat ik met MySQL werk, het is voor school :+
Het lukt me maar niet om een goede query voor de maand te schrijven :( De gegevens die ik eruit wil halen zijn dus als volgt:
[..]
Mailadres => `EMAILADRES`
gebruiker => persoon
HTML-based Direct Mail => `HTML` = '1'
Maand :?
ik heb alleen een geboortedatum => `GEBOORTEDATUM` => yyyy/mm/dd
1 2 3 4 | FROM persoon WHERE HTML = 1 AND MONTH(GEBOORTEDATUM) = 6 |
Thanks HuHu, het werktequote:Op maandag 26 mei 2008 19:32 schreef HuHu het volgende:
[..]
Zoals je in de documentatie kunt zien geeft de functie MONTH een getal terug, in het geval van juni dus 6. Je query zou dan zoiets kunnen zijn:
[ code verwijderd ]
http://superrembo.com/misc/phpgifimage/quote:Op maandag 26 mei 2008 17:59 schreef Chandler het volgende:
[..]
Best leuk hé, ooit had een user (volgens mij SuperRembo) daar ook een stukje script voor geschreven!
1 |
1 |
Toch wel!quote:
1 2 3 4 | //maak van bijvoorbeeld [32]paginanaam[/32] een link die paginanaam heet en linkt naar pageid nr 32 $content = preg_replace("#\[([0-9]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />\]([a-z]<img class="rde_img_smiley" src="http://i.fok.nl/s/shiny.gif" width="15" height="15" alt="" />\[/(\\1)\]#e", "'<a href=\"'.page_link($1).'\" target=\"_blank\">'.$2.'</a>'", $content); ?> |
Op zich gaat dit wel goed denk ik, alleen met je connectivity heb je nu een probleem. Je kunt maar 1 connectivity opslaan, terwijl de meeste telefoons over een combinatie van mogelijkheden beschikken. Je zult daar dus een koppeltabelletje tussen moeten zettenquote:Op dinsdag 27 mei 2008 00:05 schreef Drommelsch85 het volgende:
Mijn vraag is, wat zou er beter kunnen aan mijn model? De bedoeling is dat alle toestel specificaties makkelijk met een querie kunnen worden opgevraagd en gesorteerd kunnen worden op o.a merk, formfactor en features.
ik snapte je code niet, omdat de beschrijving het had over url's, en in je code stonden links naar smileysquote:Op dinsdag 27 mei 2008 08:01 schreef Likkende_Lassie het volgende:
[..]
Toch wel!
De functie page_link maakt van het id vervolgens weer de echte url...
---
wat zou er volgens jou niet werken ?
[ code verwijderd ]
1 2 3 | //blaat ?> |
1 2 3 | //blaat ?> |
Wij gebruiken het hier deels. Meer eigenlijk om tussendoor php tags te openen en sluiten.quote:Op dinsdag 27 mei 2008 12:40 schreef Spike1506 het volgende:
Wat ik me afvraag, hoeveel mensen hier gebruiken nog de PHP shortags?
[ code verwijderd ]
Had gelezen dat deze optie namenlijk in PHP 6 niet meer beschikbaar is en je dus gewoon
[ code verwijderd ]
moet gebruiken.
http://nl.php.net/manual/en/function.ini-get.phpquote:Op dinsdag 27 mei 2008 12:27 schreef ursel het volgende:
Met phpinfo() kan je de settings van je PHP omgeving bekijken en zien welke waardes van php.ini actief zijn.
Ik vroeg me af of er iets vergelijkbaars bestaat om te kijken welke waardes van my.ini nu daadwerkelijk actief zijn??
Volgens mij bedoelt hij de MySQL iniquote:Op dinsdag 27 mei 2008 12:48 schreef Dzy het volgende:
[..]
http://nl.php.net/manual/en/function.ini-get.php
of voor alle functies in 1x
http://nl.php.net/manual/en/function.ini-get-all.php
quote:Op dinsdag 27 mei 2008 13:00 schreef WyriHaximus het volgende:
[..]
Volgens mij bedoelt hij de MySQL ini. (En nee ik weet het niet zo snel uit me hoofd.)
Je kunt deze queries proberen:quote:Op dinsdag 27 mei 2008 13:17 schreef ursel het volgende:
[..]Dat dus..
Ik weet dat als je een ini wijzigt, je de webservice voor apache moet herstarten.
Hier werken we met IIS en volgens mij worden ze dan automatisch over genomen. Maar om dit te controleren wou ik het dus graag via een soortgelijke "pagina" controleren.
1 2 | SHOW GLOBAL VARIABLES; |
quote:Op dinsdag 27 mei 2008 13:22 schreef WyriHaximus het volgende:
[..]
Je kunt deze queries proberen:
[ code verwijderd ]
Gewoon in de lunchpauze restartenquote:Op dinsdag 27 mei 2008 13:55 schreef ursel het volgende:
[..]Bedankt.. weer wat geleerd..
Zal dus moeten restarten. Wordt dus weer een latertje vandaag..
Alsof het systeem niet gebruikt wordt op dat moment??quote:Op dinsdag 27 mei 2008 15:46 schreef Light het volgende:
[..]
Gewoon in de lunchpauze restarten
Hoewel die natuurlijk al geweest is vandaag.
Hoe laat is laat? Updaten doen we hier pas na 22:00. Wat betekend dat je niet voor 0:00 klaar bent.quote:Op dinsdag 27 mei 2008 13:55 schreef ursel het volgende:
[..]Bedankt.. weer wat geleerd..
Zal dus moeten restarten. Wordt dus weer een latertje vandaag..
Het is niet updaten ofzo..quote:Op dinsdag 27 mei 2008 18:28 schreef SuperRembo het volgende:
[..]
Hoe laat is laat? Updaten doen we hier pas na 22:00. Wat betekend dat je niet voor 0:00 klaar bent.
Hoe bedoel je? Wordt het gewoon niet zoiets als ditquote:Op dinsdag 27 mei 2008 08:26 schreef Xcalibur het volgende:
[..]
Op zich gaat dit wel goed denk ik, alleen met je connectivity heb je nu een probleem. Je kunt maar 1 connectivity opslaan, terwijl de meeste telefoons over een combinatie van mogelijkheden beschikken. Je zult daar dus een koppeltabelletje tussen moeten zetten
Neuh, dan zit iedereen toch in de kantine met z'n bammetjesquote:Op dinsdag 27 mei 2008 18:12 schreef ursel het volgende:
[..]
Alsof het systeem niet gebruikt wordt op dat moment??
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 | ; Print out errors (as a part of the output). For production web sites, ; you're strongly encouraged to turn this feature off, and use error logging ; instead (see below). Keeping display_errors enabled on a production web site ; may reveal security information to end users, such as file paths on your Web ; server, your database schema or other information. display_errors = On ; Even when display_errors is on, errors that occur during PHP's startup ; sequence are not displayed. It's strongly recommended to keep ; display_startup_errors off, except for when debugging. display_startup_errors = Off ; Log errors into a log file (server-specific log, stderr, or error_log (below)) ; As stated above, you're strongly advised to use error logging in place of ; error displaying on production web sites. log_errors = On ; Set maximum length of log_errors. In error_log information about the source is ; added. The default is 1024 and 0 allows to not apply any maximum length at all. log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same ; line until ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting ; is On you will not log errors with repeated messages from different files or ; sourcelines. ignore_repeated_source = Off ; If this parameter is set to Off, then memory leaks will not be shown (on ; stdout or in the log). This has only effect in a debug compile, and if ; error reporting includes E_WARNING in the allowed list report_memleaks = On ; Log errors to specified file. error_log = "C:\xx\xampp\apache\logs\phperror.log" |
Hm, ik kan er geen een vinden in mijn windows folder.....quote:Op woensdag 28 mei 2008 18:29 schreef Dzy het volgende:
Die in je windows folder
Daar heb ik ook wel eens mee lopen klooien maar hij zet er ook een in je windows folder of een subdir daarvan, erg irritant. Die moet je hebben. Nog handiger is het path even aan te passen zodat hij wel gewoon in je php installatie dir staat.
Over die instellingen weet ik niet echt eigenlijk, ik heb er nooit gebruik van gemaakt maar ik ben er een paar keer langs gekomen bij instellingen veranderen dus vandaar
De laatstequote:Op woensdag 28 mei 2008 22:18 schreef saban het volgende:
c:\xx\xampp\php\php.ini
c:\xx\xampp\php\apache\bin\php.ini
één van die twee, ik gok de eerste
Kan soms verschillen. Je kunt het achterhalen met een simpel phpinfo scriptjequote:
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | require 'menu.php'; $stage == "1" or exit('Sorry, but you cannot place a bet in this stage of the competition'); ?> Last name starts with: <a href="#A">A</a> <a href="#B">B</a> C D E F G H I J <a href="#K">K</a> L M N O P Q R S T U V W X Y Z <br /> <?php $username = $_SESSION['username']; //voor elke user waarop deze speler nog niet geboden heeftspelers weergeven $sql = "SELECT * FROM euro_bet WHERE username = '$username'"; $result = mysql_query ($sql); while($data=mysql_fetch_array($result)) { $firstname = $data['firstname']; $lastname = $data['lastname']; $sqlb = "SELECT * FROM euro_player WHERE firstname <> '$firstname' or lastname <> '$lastname' or (firstname <>'$firstname' and lastname<>'lastname') ORDER BY lastname"; $resultb = mysql_query ($sqlb); ?> <form action="betnew2.php" method="post"> <?php while($datab=mysql_fetch_array($resultb)) { $lastname = $datab['lastname']; $firstname = $datab['firstname']; $letter = substr($lastname,0,1); $letterb = substr($firstname,0,1); ?> <?php if ($letter <> $currentletter) { echo "<br>"; echo "<br>"; echo "<b>" . $letter . "</b>"; echo "<br>"; echo "<br>"; echo '<A name="' . $letter . '"></A>'; $currentletter = $letter; ?> <input type="submit" name="selected" value=" <?php echo $lastname . ", " . $firstname; ?> " /> <?php } else { echo "<br>"; $currentletter = $letter; ?> <input type="submit" name="selected" value=" <?php echo $lastname . ", " . $firstname ; ?> " /> <?php } } } ?> </form> |
1 2 3 4 5 6 7 | | ID | username | bet | +----+----------+-----+ | 1 | hmail | 1 | | 2 | piet | 1 | | 3 | hmail | 1 | +----+----------+-----+ |
1 |
--- EDIT: Laat maar, al gelukt (zie onder) ---quote:Op donderdag 22 mei 2008 10:04 schreef Light het volgende:
Het is alleen niet erg vriendelijk voor de database om nog eens twee queries per boek te doen (minimaal). Iets aangepaste versie:
[ code verwijderd ]
Maar dit gaat niet helemaal werken in je template.
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 | $order = "author"; $order2 = "title"; $order3 = "subtitle"; $order4 = "bid"; $query = "SELECT b.BookID AS bid, b.Title as x, b.Subtitle AS subtitle, p.PersonID, p.SortBy, ab.RoleID, b.SortBy AS `title`, concat(if(ab.RoleID < 1, 0, 1), IF(ab.RoleID < 1, p.SortBy, '')) as author FROM Book b, AuthorBookLink ab, Person p WHERE b.BookID IN (".join(", ", $bookids).") AND b.BookID = ab.BookID AND ab.PersonID = p.PersonID ORDER BY $order, $order2, $order3, $order4 "; $res = mysql_query($query); $books = array(); while(list($bid, $title, $subtitle, $pid, $name, $role) = mysql_fetch_array($res)) { $books[$bid]['id'] = $bid; $books[$bid]['title'] = $title; $books[$bid]['subtitle'] = $subtitle; $books[$bid]['authors'][$pid]['id'] = $pid; $books[$bid]['authors'][$pid]['name'] = $name; $books[$bid]['authors'][$pid]['role'] = $role; } ?> |
1 2 3 4 5 6 7 8 9 10 11 | $query = "SELECT b.BookID AS bid, b.Title as x, b.Subtitle AS subtitle, p.PersonID, p.SortBy, ab.RoleID, b.SortBy AS `title`, CONCAT(IF(ab.RoleID < 1, 0, 1), IF(ab.RoleID < 1, p.SortBy, '')) AS author FROM Book b LEFT JOIN (AuthorBookLink ab, Person p) ON (p.PersonID = ab.PersonID AND ab.BookID = b.BookID) WHERE b.BookID IN (".join(", ", $bookids).") ORDER BY $order, $order2, $order3, $order4 "; ?> |
Heb ergens gelezen dat de charset hiervoor op utf-8 moet staan. Maar als ik deze wijziging doorvoer, dan nog blijft MySQL het opslaan als HTML entitie.quote:Op woensdag 28 mei 2008 10:30 schreef ursel het volgende:
Als ik een query verstuur met daarin een apastrophe of iets dergelijks, dan maakt MySQL er zelf HTML entities van. Volgens mij is heeft dat met een instelling van MySQL te maken. Iemand enig idee welke dit soort tekens wel gewoon als apastrohe opslaat en niet als HTML-entitie??
Kijk eens hier naar: http://nl3.php.net/manual(...)ini.magic-quotes-gpcquote:Op donderdag 29 mei 2008 12:22 schreef ursel het volgende:
[..]
Heb ergens gelezen dat de charset hiervoor op utf-8 moet staan. Maar als ik deze wijziging doorvoer, dan nog blijft MySQL het opslaan als HTML entitie.
Iemand nog suggesties
Het probleem zit hem volgens mij niet in de query. deze verstuurd de apastrophe gewoon goed. We gebruiken MDB2 van Pear en als ik zijn resultaat dump, dan staat de query er ook gewoon met een apastrophe. Kortom, volgens mijn simpele conclusie maakt MySQL er dus HTML entities van.quote:Op donderdag 29 mei 2008 12:26 schreef HuHu het volgende:
[..]
Kijk eens hier naar: http://nl3.php.net/manual(...)ini.magic-quotes-gpc
Ik heb daar meestal een eigen vervangende functie (voor mysql_query()) voor die én de betreffende query uitvoert, en daarbij afhankelijk van de magic_quotes instelling mysql_real_escape_string() uitvoert. Werkt prima.quote:Op donderdag 29 mei 2008 12:32 schreef ursel het volgende:
[..]
Het probleem zit hem volgens mij niet in de query. deze verstuurd de apastrophe gewoon goed. We gebruiken MDB2 van Pear en als ik zijn resultaat dump, dan staat de query er ook gewoon met een apastrophe. Kortom, volgens mijn simpele conclusie maakt MySQL er dus HTML entities van.
In de PHP dit soort zaken opvangen betekend dat ik overal waar we de query gaan uitvoeren dit moeten gaan aanpassen.
Overigens staat er ook deze warning op je linkje :quote:Op donderdag 29 mei 2008 14:23 schreef Tuvai.net het volgende:
[..]
Ik heb daar meestal een eigen vervangende functie (voor mysql_query()) voor die én de betreffende query uitvoert, en daarbij afhankelijk van de magic_quotes instelling mysql_real_escape_string() uitvoert. Werkt prima.
Gezien wij van de zomer aan het systeem gaan werken richting PHP6 lijkt het me dan niet zo zinvol om er nu dan nog mee aan de slag te gaan..quote:Warning
This feature has been DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
1 2 3 4 5 6 7 8 | mysql_connect("localhost", "root", "******") or die(mysql_error()); mysql_select_db("test"); $q = "SELECT * FROM `wish` LIMIT 0 , 30"; $res = mysql_query($q); $w = mysql_fetch_array($res); print_r($w); ?> |
1 2 3 4 5 6 7 | $records=array(); while ($row = mysql_fetch_array($res)) { $records[]=$row; print_r($row); } |
en hoe prop ik dit er dan bij?quote:Op donderdag 29 mei 2008 16:29 schreef Dzy het volgende:
klopt
Je fetcht met mysql_fetch_array het volgende resultaat uit de resultaat set, als je dit dus 30 keer doet heb je alle 30 records. Dit los je mooi op met bijvoorbeeld:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 | shuffle($w[1]); foreach ($w as $w2) { echo "<li type=\"circle\" dir=\"ltr\" lang=\"nl\">"; if ($w2[2] == 1)echo "<span style=\"text-decoration: line-through;\">"; echo "$w2 "; if ($w2[2] == 1)echo "</span><br />\n"; echo "</li>\n"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql_connect("localhost", "root", "cCy4zxY9") or die(mysql_error()); mysql_select_db("test"); $q = "SELECT * FROM `wish`"; $res = mysql_query($q); $w = mysql_fetch_array($res); shuffle($w[1]); foreach ($w as $w2) { echo "<li type=\"circle\" dir=\"ltr\" lang=\"nl\">"; if ($w2[2] == 1)echo "<span style=\"text-decoration: line-through;\">"; echo "$w2 "; if ($w2[2] == 1)echo "</span><br />\n"; echo "</li>\n"; } ?> |
Welk linkje?quote:Op donderdag 29 mei 2008 14:31 schreef ursel het volgende:
[..]
Overigens staat er ook deze warning op je linkje :
[..]
Ik snap er geen fuck meer van..quote:Op donderdag 29 mei 2008 16:37 schreef Dzy het volgende:
Nou, $records is bij mijn voorbeeld precies hetzelfde als jouw $w. Overigens raad ik je aan geen mysql_fetch_array maar mysql_fetch_assoc te gebruiken, dan krijg je veel mooiere arrays met de namen van de database kolommen als keys.
1 2 3 4 5 6 7 | while ($row = mysql_fetch_assoc($res)) { $records[]=$row; print_r($row); } ?> |
1 2 3 4 | $records[]=$row; echo $records["wid"]; ?> |
quote:Op donderdag 29 mei 2008 16:52 schreef qu63 het volgende:
[..]
Ik snap er geen fuck meer van..
Ik heb nu:
[ code verwijderd ]
Dat geeft netjes alles terug, maar als ik
[ code verwijderd ]
doe, komt er weer niks. Doe ik $records[0]["wid"] krijg ik 28 keer een 1, omdat dat de waarde is van wid bij het eerste record.. $records[]["wid"] is niet geldig..
dus hoer moet het dan :?
1 2 3 4 5 | foreach ($records as $record) { printf("Wid is %s\n", record['wid']) } ?> |
eerst een syntax error, unexpected '[' in regel 3 (in dit geval dus) en daarna een syntax error, unexpected '} in regel 4quote:
Oops, teveel python getikt de afgelopen weken (geen $var, maar var en geen ; aan het einde van je statement nodig dan.. kan wel, maar is niet nodig).quote:Op donderdag 29 mei 2008 17:09 schreef qu63 het volgende:
[..]
eerst een syntax error, unexpected '[' in regel 3 (in dit geval dus) en daarna een syntax error, unexpected '} in regel 4
die eerste heb ik opgelost door er $record['wid'] van te maken, maar die 2e blijft..
1 2 3 4 5 6 7 8 9 10 11 12 | $record = array('wid' => 1, 'wid2' => 2); $records[] = $record; $records[] = $record; print_r($records); foreach($records as $record) { printf("Wid is %s\n", $record['wid']); } |
Beetje laat, maar ik los dit soort of statements vaak op met een hash: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?
Ik heb nu namelijk dit maar het moet makkelijker/netter kunnen:
[ code verwijderd ]
hmz..quote:Op donderdag 29 mei 2008 17:13 schreef slacker_nl het volgende:
[..]
Oops, teveel python getikt de afgelopen weken (geen $var, maar var en geen ; aan het einde van je statement nodig dan.. kan wel, maar is niet nodig).
[ code verwijderd ]
Works for me (tm)
1 2 3 4 5 6 7 | |wid | w | b | +----+----------+-----+ | 1 | wens1 | 0 | | 2 | wens2 | 0 | | 3 | wens3 | 1 | +----+----------+-----+ |
ja, wrom niet gewoon zo oplossen:quote:Op donderdag 29 mei 2008 17:21 schreef qu63 het volgende:
[..]
hmz..
het was gewoon de bedoeling dat mn tabelletje uitgelezen wordt:
[ code verwijderd ]
en dat php de lijst door elkaar gooid, en dat er zoiets uit komt:
- wens2
- wens3
- wens1
Dus alle items door elkaar gegooid, en als b = 1 dan een streep er door..
nog te volgen
1 2 3 4 5 6 7 8 9 10 11 12 13 | $result = mysql_query($query); $num = mysql_num_rows($result); for ($row = 0; $row < $num; $row++) { $data = mysql_fetch_array($result); $wid =$data['wid']; $wens =$data['wens']; $b=$data['b']; # more code here } ?> |
dat werkt idd, thanksquote:Op donderdag 29 mei 2008 17:28 schreef slacker_nl het volgende:
[..]
ja, wrom niet gewoon zo oplossen:
[ code verwijderd ]
Mogelijk kan je ook je query aanpassen:
select wid, wens, b from table en dan even met print_r kijken of de array in de juiste volgorde staat (pas op, data[0] is dan hetzelfde als data['wid'], maar dat staat beschreven in de PHP docs).
shuffle() bedoel je?quote:
Ik heb mbt tot deze code twee tabellen: euro_bet en euro_player.quote:Op donderdag 29 mei 2008 10:33 schreef Hmail het volgende:
Ik weet niet precies hoe je database eruit ziet, maar als het zoiets is:
[ code verwijderd ]
Dan zou je de volgende query kunnen gebruiken:
[ code verwijderd ]
Hiermee telt hij dus het aantal bets, en voegt hij alles onder bij de juiste username. Daarmee voorkom je dubbele resultaten.
ahquote:Op donderdag 29 mei 2008 17:52 schreef slacker_nl het volgende:
Demoest een teken zijn dat die post niet geheel serieus genomen kon worden.
Dat ligt er maar net aan. In PHP6 zijn er geen magic quotes meer. Als je die nu nog wel gebruikt in PHP5 (even controleren met phpinfo() ) dan is het wellicht een goed moment om alvast magic quotes uit te zetten. Als ze al uit staan dan is dat goed, mooi laten staan dusquote:Op donderdag 29 mei 2008 14:31 schreef ursel het volgende:
[..]
Overigens staat er ook deze warning op je linkje :
[..]
Gezien wij van de zomer aan het systeem gaan werken richting PHP6 lijkt het me dan niet zo zinvol om er nu dan nog mee aan de slag te gaan..
1 2 3 4 5 6 | $content = " HOI! : {edwin}"; $vars = array("edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); echo $content; ?> |
quote:Op donderdag 29 mei 2008 22:34 schreef Farenji het volgende:
Die $vars is helemaal geen assoc.array maar gewoon een lijst met slechts 1 element...
1 2 3 4 5 6 | $content = " HOI! : {name}"; $vars = array("name" => "edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars["name"],$content); echo $content; ?> |
1 2 3 4 5 6 | $content = " HOI! : {name}"; $vars = array("name" => "edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); echo $content; ?> |
Oke, en de beste oplossing zou zijn eerst een preg_match te doen? Of de variabele in een string-replace constructie te vervangen?quote:Op donderdag 29 mei 2008 23:09 schreef SuperRembo het volgende:
Logisch. Eerst wordt $vars['\\1'] ge-evalueerd, daarna wordt de regexp uitgevoerd.
Thanks, ga vanavond wel even kijkenquote:Op donderdag 29 mei 2008 23:33 schreef SuperRembo het volgende:
Je zou preg_replace_callback() kunnen gebruiken of preg_replace en dan een regexp met de 'e' modifier.
1 2 3 4 5 6 7 8 9 | $keys = array('naam1'=>'kees', 'naam2'=>'klaas'); $text = "Jantje, <b>{naam1}</b> en {naam2}"; foreach($keys as $what => $withwhat) $text = str_replace('{'.$what.'}', $withwhat, $text); echo $text; ?> |
Daar willen de meningen wel eens over verschillen. Ik ben iig al op onderzoek uitgeweest wat nu precies sneller is, maar blogs e.d spreken elkaar tegen hierover...quote:Op vrijdag 30 mei 2008 10:27 schreef ralfie het volgende:
wron draai je het niet om en gebruik je simpele str_replace waarbij je de search opbouwt met de array die je wil vervangen, iets als
[ code verwijderd ]
Stukken envoudiger, en waarschijnlijk ook veel sneller in uitvoeren...
De vraag is dan waarom jij duizenden waardes inlaadt die niet in de pagina voorkomenquote:Op vrijdag 30 mei 2008 10:29 schreef Scorpie het volgende:
[..]
Daar willen de meningen wel eens over verschillen. Ik ben iig al op onderzoek uitgeweest wat nu precies sneller is, maar blogs e.d spreken elkaar tegen hierover...
Ben het wel met je eens dat het een stuk eenvoudiger is. Echter wil ik niet dat ik straks een enorme array heb met letterlijk duizenden waardes die gecontroleerd worden maar die niet in de pagina voorkomen.
Maar goed, sowieso blijf ik sleutelen aan het ontwerp
Resultset die met paginering pas in de pagina opgenomen wordenquote:Op vrijdag 30 mei 2008 12:13 schreef ralfie het volgende:
[..]
De vraag is dan waarom jij duizenden waardes inlaadt die niet in de pagina voorkomen
1 2 3 4 | header("Location: http://www.site.nl/"); exit; ?> |
http://php.about.com/od/learnphp/ht/phpredirection.htmquote:Op zaterdag 31 mei 2008 00:14 schreef G.Fawkes het volgende:
Ik weet niet of er op dit typstip nog iemand online is in dit topic maar ik ben een echte maar dan ook totale php noob.
Ik wil dat als mijn mensen op mijn website (eyupciftci.nl) komen ze direct geredirect worden naar mijn blog (eyupciftci.nl/blog/) nu heb ik deze code ervoor gebruikt:
[ code verwijderd ]
maar dat resulteert niet in het desgewenste effect (zie mijn website) wat is er verkeerd?
Staat die code wel in een index.php? En heeft de server wel PHP-ondersteuning?quote:Op zaterdag 31 mei 2008 00:14 schreef G.Fawkes het volgende:
Ik weet niet of er op dit typstip nog iemand online is in dit topic maar ik ben een echte maar dan ook totale php noob.
Ik wil dat als mijn mensen op mijn website (eyupciftci.nl) komen ze direct geredirect worden naar mijn blog (eyupciftci.nl/blog/) nu heb ik deze code ervoor gebruikt:
[ code verwijderd ]
maar dat resulteert niet in het desgewenste effect (zie mijn website) wat is er verkeerd?
waarom haal je dan alle waardes op, en niet alleen de waardes die op je pagina staan?quote:Op vrijdag 30 mei 2008 12:16 schreef Scorpie het volgende:
Resultset die met paginering pas in de pagina opgenomen worden
1 2 3 4 5 6 7 8 9 10 11 12 13 | $result = mysql_query($query); $num = mysql_num_rows($result); for ($row = 0; $row < $num; $row++) { $data = mysql_fetch_array($result); $wid =$data['wid']; $wens =$data['wens']; $b=$data['b']; # more code here } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $result = mysql_query($query); $data = array(); while($row = mysql_fetch_array($result) { $data[] = $row; } if(!empty($data)) { shuffle($data) foreach($data as $item) { $wid = $item['wid']; $wens = $item['wens']; #more code here } } ?> |
quote:Op zaterdag 31 mei 2008 12:27 schreef qu63 het volgende:
[ code verwijderd ]
hoe krijg ik de resultaten geshuffled?
1 |
uiteindelijke code is dit geworden:quote:
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 | $query = "SELECT * FROM `wish`"; $result = mysql_query($query); $data = array(); while($row = mysql_fetch_array($result)) { $data[] = $row; } if(!empty($data)) { shuffle($data); foreach($data as $item) { $wid = $item['wid']; $w = $item['w']; $b= $item['b']; echo "<li type=\"circle\" dir=\"ltr\" lang=\"nl\">"; if ($b == 1)echo "<span style=\"text-decoration: line-through;\">"; echo "<a href=\"wl.php?wid=$wid&b=$b\">$w </a>"; if ($b == 1)echo "</span>"; echo "</li>\n"; } } ?> |
query was dus niet al te moeilijk in dit gevalquote:Op zaterdag 31 mei 2008 15:00 schreef Light het volgende:
[..]
Kan ook, hoewel ook afhankelijk van de query.
Niet als je The 'Reluctant Cache' Pattern principe toepast.quote:Op zaterdag 31 mei 2008 12:23 schreef Xcalibur het volgende:
[..]
waarom haal je dan alle waardes op, en niet alleen de waardes die op je pagina staan?
Dit is echt een compleet zinloze load van je server.... zeker als het om veel records gaat ga je dit echt wel merken...
leuk idee eigenlijkquote:Op woensdag 4 juni 2008 13:44 schreef PiRANiA het volgende:
Is er ergens een programma waar je CAPTCHA' s mee kan testen?
Ik ben vanmiddag een beetje bezig geweest, wat denken jullie?
1: [ afbeelding ]
2: [ afbeelding ]
3: [ afbeelding ]
4: [ afbeelding ]
1 2 3 4 5 6 7 8 9 | $raw_config = array( 'Title' => 'Pagina Titel', 'BaseHref' => 'http://www.pagina.nl', 'CmsTitle' => 'CMS titel', 'GuestBook' => 0, 'Poll' => 0 ); ?> |
1 2 3 4 5 6 | require_once('config.php'); if($raw_config[GuestBook]!=0){ include('includes/handle_guestbook.php'); } ?> |
1 |
Ik heb eigenlijk nooit wat gedaan met constantenquote:Op woensdag 4 juni 2008 19:03 schreef Xcalibur het volgende:
ja, quotjes vergeten dus
wat me gelijk op het volgende brengt: waarom gebruik je geen constanten?
Ik neem aan dat je configwaarden nooit wijzigen, en dus ook niet overschreven mogen / kunnen worden, ook niet per ongeluk of via een hack-attempt.
kan ik een constante op een zelfde manier gebruiken als een variabele? dus if(constantnaam=='iets')quote:Op woensdag 4 juni 2008 20:34 schreef Xcalibur het volgende:
goeie reden
maar die kan je dus niet meer wijzigen als ze eenmaal gedeclareerd zijn, vind ik wel een prettig idee voor mijn databaseconnectie enzo ;-)
Een variabele kun je dan weer unsetten. Dan is'ie echt weg en zelfs met echo $GLOBALS krijg je dan geen waarden meer te zien. Voordeel is dat je een db-connectie gemaakt kan worden, en na het maken van die connectie zijn de logingegens niet meer terug te vinden.quote:Op woensdag 4 juni 2008 20:34 schreef Xcalibur het volgende:
goeie reden
maar die kan je dus niet meer wijzigen als ze eenmaal gedeclareerd zijn, vind ik wel een prettig idee voor mijn databaseconnectie enzo ;-)
Ja. De constante dan niet tussen aanhalingstekens zetten natuurlijk (maar dat doe je nu ook goed).quote:Op woensdag 4 juni 2008 20:54 schreef Swetsenegger het volgende:
[..]
kan ik een constante op een zelfde manier gebruiken als een variabele? dus if(constantnaam=='iets')
Ja precies, want dat riep de manual over echo van constanten. Het werkt nuquote:Op woensdag 4 juni 2008 21:11 schreef Light het volgende:
[..]
Ja. De constante dan niet tussen aanhalingstekens zetten natuurlijk (maar dat doe je nu ook goed).
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 | if (substr($folder,-1) != '/') { $folder = $folder.'/'; } if (isset($_GET['img'])) { $imageInfo = pathinfo($_GET['img']); if ( isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) && file_exists( $folder.$imageInfo['basename'] ) ) { $img = $folder.$imageInfo['basename']; } } else { $fileList = array(); $handle = opendir($folder); while ( false !== ( $file = readdir($handle) ) ) { $file_info = pathinfo($file); if ( isset( $extList[ strtolower( $file_info['extension'] ) ] ) ) { $fileList[] = $file; } } closedir($handle); if (count($fileList) > 0) { $imageNumber = time() % count($fileList); $img = $folder.$fileList[$imageNumber]; } } if ($img!=null) { $imageInfo = pathinfo($img); $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ]; header ($contentType); readfile($img); } else { if ( function_exists('imagecreate') ) { header ("Content-type: image/png"); $im = @imagecreate (100, 100) or die ("Cannot initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 0,0,0); imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color); imagepng ($im); imagedestroy($im); } } ?> |
Vaag, hier werkt het namelijk nietquote:Op donderdag 5 juni 2008 12:23 schreef Xcalibur het volgende:
iedere keer als ik refresh krijg ik een andere header te zien in IE6.... wat is het probleem?
1 2 3 | FROM shop_orders_orders, shop_orders_shipments WHERE (shop_orders_orders.id != shop_orders_shipments.orderID) GROUP BY `id` |
1 2 3 4 5 | FROM shop_orders_orders WHERE id NOT IN ( SELECT id FROM shop_orders_shipments); |
1 |
1 |
Je 1e optie heb ik getest, en die werkt ookquote:Op zaterdag 7 juni 2008 21:15 schreef Roönaän het volgende:
Werkt dit niet?
SELECT orders.id FROM shop_order orders LEFT JOIN shop_order_shipments ship ON orders.id = ship.id WHERE ship.id IS NULL
of
SELECT orders.id FROM shop_order orders LEFT JOIN shop_order_shipments ship ON orders.id = ship.id HAVING COUNT(ship.id) = 0
Een LEFT JOIN is juist om ook null-resultaten te leveren. Als de ON-clause een match vindt dan wordt die geleverd, is er geen match dan wordt NULL gebruikt voor de velden van de rechtertable.quote:Op zaterdag 7 juni 2008 21:17 schreef HuHu het volgende:
Kun je die "WHERE ship.id IS NULL" niet weglaten, omdat de LEFT JOIN geen resultaat geeft als er geen match is?
png werkt bout in IE6.quote:Op donderdag 5 juni 2008 12:21 schreef Black-Hole het volgende:
Voor mijn nieuwe forum ben ik op zoek gegaan naar een php-script voor een roterende/random header. Heb een leuk script gevonden en die werkt met IE7 en Firefox maar niet met IE6. Hoe is dat mogelijk? Het gaat om het volgende stuk code:
[ code verwijderd ]
Zelf heb ik bijzonder weinig verstand van php en jullie hulp is dus meer dan welkom. Het script is hier werkzaam te zien.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |