Ja, want leesbare code krijg je natuurlijk door op die manier te coderen...quote:Op vrijdag 23 september 2011 14:04 schreef Thomass het volgende:
[..]
[ code verwijderd ]
Zeer leesbaar uiteraard
Uiteraard kun je het moeilijker doenquote:Op vrijdag 23 september 2011 13:49 schreef GI het volgende:
[..]
Of een implode van de url op / en dan het laatste resultaat imploden op - en dan de eerste pakken ?
1 | http://fok.nl/465407 |
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 | <?php $fok = array( array('Id'=>465398,'Link'=>'http://fok.nl/465398','Title'=>'\'Voedsel wordt schaarser en duurder\'','Descr'=>'Grondstoffen voor voedsel worden de komende tien jaar schaarser. De prijzen stijgen verder en worden nog meer onderhevig aan schommelingen. Dit is op zich geen nieuw fenomeen, maar wat er deze keer gebeurt is echt anders. Dat staat in een rapport...','Date'=>1316959925), array('Id'=>465396,'Link'=>'http://fok.nl/465396','Title'=>'\'Welriekende\' orchidee duikt op in Twente','Descr'=>'In Twente zijn bloeiende exemplaren van de welriekende schroeforchis aangetroffen. De van oorsprong Noord-Amerikaanse orchidee was nog niet eerder in Nederland gesignaleerd, meldt de Werkgroep Europese Orchideeën, die nog niet kan zeggen of...','Date'=>1316959751), array('Id'=>465395,'Link'=>'http://fok.nl/465395','Title'=>'[F1] Uitslag Grand Prix van Singapore','Descr'=>'Sebastian Vettel heeft ook de Grand Prix van Singapore op zijn naam geschreven. De regerend wereldkampioen bleef met de Red Bull de McLaren van Jenson Button en Vettels teamgenoot Mark Webber voor. Door de zege is Vettel nog maar één...','Date'=>1316959685), array('Id'=>465394,'Link'=>'http://fok.nl/465394','Title'=>'Saudische vrouwen mogen stemmen','Descr'=>'Vrouwen in Saudi-Arabië mogen voortaan hun stem uitbrengen bij lokale verkiezingen. Ook mogen ze zich kandidaat stellen. Dat heeft koning Abdullah zondag bekendgemaakt. De koning volgt een voorstel dat de Shura-raad in juni heeft gedaan....','Date'=>1316958965), array('Id'=>465391,'Link'=>'http://fok.nl/465391','Title'=>'\'Graf met 1200 lichamen bij Tripoli gevonden\'','Descr'=>'Bij het cellencomplex Abu Salim in de Libische hoofdstad Tripoli zijn circa 1200 stoffelijke overschotten gevonden. Dat heeft de Arabische nieuwszender al-Jazeera zondag gemeld. Het regime van de verdreven dictator Moammar Gadhafi gebruikte Abu...','Date'=>1316958615), array('Id'=>465390,'Link'=>'http://fok.nl/465390','Title'=>'Pamela Anderson wil aan de slag voor de VN','Descr'=>'Pamela Anderson wil zich graag inzetten voor de Verenigde Naties. De voormalige Baywatch-babe ziet een baantje als goodwill ambassadeur bij de VN wel zitten, vertelt ze in een interview met het Britse Ok! Magazine. \"Ik heb altijd de ambitie gehad...','Date'=>1316958202), array('Id'=>465388,'Link'=>'http://fok.nl/465388','Title'=>'Caisson ontplofte door zeer zwaar explosief','Descr'=>'De caisson op het strand bij Ritthem ontplofte vrijdagavond door een zeer zwaar explosief. Dat blijkt uit politieonderzoek, meldt een woordvoerder zondag. De ontploffing is niet veroorzaakt door een bom uit de Tweede Wereldoorlog. Eerder werd...','Date'=>1316957199), array('Id'=>465385,'Link'=>'http://fok.nl/465385','Title'=>'Limburger gepakt met auto vol wietplanten','Descr'=>'In Heerlen is in de nacht van zaterdag op zondag een 19-jarige man aangehouden die in een auto reed die helemaal was gevuld met wietplanten. Het was nogal duidelijk wat hij vervoerde, laat de Limburgse politie weten. Er staken zelfs nog blaadjes...','Date'=>1316955401), array('Id'=>465384,'Link'=>'http://fok.nl/465384','Title'=>'Politie voorkomt aanslag in Afghanistan','Descr'=>'De Afghaanse politie heeft een zelfmoordaanslag op een regeringsgebouw voorkomen door twee mannen met bomgordels dood te schieten. Dat heeft het ministerie van binnenlandse zaken zondag gezegd. De aanvallers wilden in de zuidelijke provincie Zabul...','Date'=>1316954956), array('Id'=>465383,'Link'=>'http://fok.nl/465383','Title'=>'Uitslag AZ - Feyenoord','Descr'=>'Feyenoord heeft vanmiddag de uitwedstrijd tegen AZ verloren. Na geruime tijd voor te hebben gestaan verloren de Rotterdammers alsnog met 2-1. AZ is door de overwinning nu alleen koploper in de Eredivisie. De eerste helft was aantrekkelijk om te...','Date'=>1316953210), array('Id'=>465382,'Link'=>'http://fok.nl/465382','Title'=>'Zelfmoordaanslag op kerk Indonesië','Descr'=>'Bij een zelfmoordaanslag op een kerk op het Indonesische eiland Java zijn zondag twintig gewonden gevallen. Alleen de terrorist kwam om het leven, zei de politie. De dader bracht zijn explosieven vlak na de mis in de Kepunton-kerk in het stadje...','Date'=>1316953190), array('Id'=>465381,'Link'=>'http://fok.nl/465381','Title'=>'Beleg van Sirte opgevoerd','Descr'=>'De revolutionaire troepen in Libië hebben de belegering van Sirte, de geboortestad van de verdreven leider Moammar Gadhafi, opgevoerd. Er zijn zondag nieuwe wegversperringen opgeworpen, controleposten opgesteld en sluipschutters gestationeerd...','Date'=>1316952580), array('Id'=>465380,'Link'=>'http://fok.nl/465380','Title'=>'Rotterdamse hooligans houden huis in Eindhoven','Descr'=>'De politie heeft zaterdagnacht in het centrum van Eindhoven 25 supporters van Feyenoord aangehouden. Ze gooiden met terrasmeubilair en vernielden enkele ruiten, meldt de politie. De groep hield omstreeks 00.30 uur huis op en rondom de Markt. Er...','Date'=>1316952517), array('Id'=>465376,'Link'=>'http://fok.nl/465376','Title'=>'Acht fans in twaalfkoppige jury Jackson-zaak','Descr'=>'In de twaalfkoppige jury die zich gaat buigen over de rechtszaak tegen lijfarts Conrad Murray zitten acht fans van Michael Jackson. Dat blijkt uit de vragenlijsten die de juryleden in moesten vullen en waarop entertainmentwebsite TMZ de hand wist...','Date'=>1316950483), array('Id'=>465374,'Link'=>'http://fok.nl/465374','Title'=>'Toeristen omgekomen bij vliegtuigcrash Nepal','Descr'=>'Een klein vliegtuig met toeristen is zondag in Nepal bij de landing neergestort. Geen van de negentien inzittenden overleefde het ongeluk, zei de politie. Het toestel van maatschappij Buddha Air was na een rondvlucht boven het Himalaya-gebergte...','Date'=>1316950154), array('Id'=>465369,'Link'=>'http://fok.nl/465369','Title'=>'[upd] Gewonden door op hol geslagen paarden','Descr'=>'Twee mensen zijn zaterdag in het Friese Nieuwhorne gewond geraakt door twee op hol geslagen paarden. Het incident gebeurde tijdens een optocht met meerdere rijtuigen, meldt de politie. Een van de paarden sloeg op hol toen het hoofdstel van het...','Date'=>1316949330), array('Id'=>465365,'Link'=>'http://fok.nl/465365','Title'=>'Hells Angels-baas komt om in vuurgevecht','Descr'=>'Bij een vuurgevecht tussen twee rivaliserende motorbendes in een hotel-casino in de Amerikaanse staat Nevada is de leider van een lokale afdeling van de Hells Angels in Californië om het leven gekomen. Dat heeft de politie bekendgemaakt. Het...','Date'=>1316946479), array('Id'=>465362,'Link'=>'http://fok.nl/465362','Title'=>'Grote brand in centrum Nijverdal','Descr'=>'Een grote brand in het centrum van het Overijsselse Nijverdal heeft een leegstaand pand volledig in de as gelegd. Mogelijk is er asbest vrijgekomen. De brandweer doet onderzoek, meldt een woordvoerder zondag. Het vuur brak rond 05.00 uur uit in...','Date'=>1316945170), array('Id'=>465361,'Link'=>'http://fok.nl/465361','Title'=>'Gewonde bij schietpartij in Den Haag','Descr'=>'Bij een schietpartij in het centrum van Den Haag is zondagochtend een persoon gewond geraakt. De politie heeft vier verdachten aangehouden, meldt een woordvoerder. Het incident vond omstreeks 04.00 uur plaats op de Zwarteweg. Hoe de gewonde er aan...','Date'=>1316945118), array('Id'=>465357,'Link'=>'http://fok.nl/465357','Title'=>'PVV verliest zetels door uitlatingen Wilders','Descr'=>'De uitlatingen van PVV-leider Geert Wilders tijdens de Algemene Beschouwingen heeft de partij in de wekelijkse peiling van Maurice de Hond twee zetels gekost. Ook de steun van het kabinet aan Griekenland speelde daarbij een belangrijke rol. Het...','Date'=>1316944127), array('Id'=>465407,'Link'=>'http://fok.nl/465407','Title'=>'Leidenaar verliest tas met vuurwapens','Descr'=>'Een 58-jarige man uit Leiden heeft zondagochtend een tas met twee vuurwapens verloren. Hij had de canvas tas op het dak van zijn auto gezet en reed weg. In de tas zat overigens geen munitie. Aangekomen bij zijn schietsportvereniging in Leiderdorp...','Date'=>1316963663), array('Id'=>465404,'Link'=>'http://fok.nl/465404','Title'=>'Heldenontvangst voor Abbas bij thuiskomst','Descr'=>'De Palestijnse president Mahmoud Abbas is na zijn bezoek aan de Verenigde Naties zondag bij zijn terugkeer in Ramallah door duizenden Palestijnen als een held onthaald. Abbas diende vrijdag in New York een verzoek in voor een VN-lidmaatschap voor...','Date'=>1316962847), array('Id'=>465403,'Link'=>'http://fok.nl/465403','Title'=>'Sextape Kim Kardashian van de markt','Descr'=>'De sextape van Kim Kardashian is niet langer te koop. Een anonieme bieder had dertig miljoen dollar over voor het pikante filmpje, maar eigenaar Vivid Entertainment heeft besloten de video niet te verkopen. \"Hoewel ons een substantieel aanbod is...','Date'=>1316962084) ); ?> |
1 2 3 4 5 6 7 8 9 10 11 | Tabelstructuur voor tabel `fok` -- CREATE TABLE IF NOT EXISTS `fok` ( `Id` int(11) NOT NULL, `Link` text NOT NULL, `Title` text NOT NULL, `Descr` text NOT NULL, `Date` int(11) NOT NULL, PRIMARY KEY (`Id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
heb je voorbeeldcode en versienummers? Ik vind het een vreemd verhaal namelijk.quote:Op vrijdag 23 september 2011 16:00 schreef Sitethief het volgende:
Iemand ervaring met PDO + InnoDB? Insert queries die met PDO + MyISAM goed liepen doen het met InnoDB niet via PDO, wel direct in de database. Kheb al flink gezocht naar informatie hier over maar kan niet echt specifiek deze case vinden.
Bij Inserts via PDO met InnoDB met gebruik van BindParam() gaat het mis. BindParam() geeft wél true terug, en debugDumpParams () geeft ook aan dat de parameters ook gebonden zijn. Maar er wordt gewoon ':name' ipv 'NaamVanObject' geinsert. Iets wat nog vervelender is als ':key' als string ipv als int in een foreign key veld geinsert wordt (of iig een poging).
Ik heb geen zin om de functionaliteiten van PDO volledig te om zeilen alleen maar omdat Innodb hier blijkbaar niet goed mee om gaat.
Overigens maakt het niet uit hoe je de parameters mee geeft, BindParam, Bindvalue, of direct in de execute();
D'oh!quote:Op zondag 25 september 2011 17:28 schreef GlowMouse het volgende:
@qu63: de ORDER BY in je index bepaalt de volgorde waarin je data weergeeft. De fysieke volgorde in je tabel is onbelangrijk.
Je weet dat je de parameters niet tussen aanhalingstekens moet zetten he? Dan worden ze als string behandeld. Dus niet INSERT [...] VALUES(':name') maar INSERT [...] VALUES(:name).quote:Op vrijdag 23 september 2011 16:00 schreef Sitethief het volgende:
Iemand ervaring met PDO + InnoDB? Insert queries die met PDO + MyISAM goed liepen doen het met InnoDB niet via PDO, wel direct in de database. Kheb al flink gezocht naar informatie hier over maar kan niet echt specifiek deze case vinden.
Bij Inserts via PDO met InnoDB met gebruik van BindParam() gaat het mis. BindParam() geeft wél true terug, en debugDumpParams () geeft ook aan dat de parameters ook gebonden zijn. Maar er wordt gewoon ':name' ipv 'NaamVanObject' geinsert. Iets wat nog vervelender is als ':key' als string ipv als int in een foreign key veld geinsert wordt (of iig een poging).
Ik heb geen zin om de functionaliteiten van PDO volledig te om zeilen alleen maar omdat Innodb hier blijkbaar niet goed mee om gaat.
Overigens maakt het niet uit hoe je de parameters mee geeft, BindParam, Bindvalue, of direct in de execute();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $pdo = new PDO($dsn,$user,$pass); $sql = "INSERT INTO `tecspecvalue2` (`ProductID`,`TSLID`,`TSValue`) VALUES (:pid,:lid,':v')"; $data[] = array(':pid' => 1,':lid'=>49,':v'=>'lala'); $data[] = array(':pid' => 1,':lid'=>48,':v'=>'lili'); $stmt = $pdo->prepare($sql); foreach($data as $k=>$v){ ixecho($data[$k]); $stmt->execute($data[$k]); } ?> |
1 2 3 4 5 6 | <?php [2011-09-26 13:12:36] (ERROR @ test.php : 25) PHP warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens [2011-09-26 13:12:36] (ERROR @ test.php : 25) PHP warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens ?> |
1 2 3 | <?php SQL: [83] INSERT INTO `tecspecvalue2` (`ProductID`,`TSLID`,`TSValue`) VALUES (:pid,:lid,':v') Params: 3 Key: Name: [4] :pid paramno=-1 name=[4] ":pid" is_param=1 param_type=2 Key: Name: [4] :lid paramno=-1 name=[4] ":lid" is_param=1 param_type=2 Key: Name: [2] :v paramno=-1 name=[2] ":v" is_param=1 param_type=2 ?> |
De enige manier is via JS als je de pagina sluit een andere pagina aanroepen die dan zorgt dat dat script stopt. Normaal gaat een webbrowser niet aan de server melden dat je 'em sluit. Maar als iemand JS uit heeft staan gaat dat gewoon niet werken.quote:Op dinsdag 27 september 2011 11:46 schreef dirkjo het volgende:
Heb al wat gelezen, maar kom er niet echt uit. Iemand van jullie die weet hoe je dit kan oplossen?
Normaal wel, tenzij je browser echt crashed. Als je op stop/escape drukt of de pagina/tab sluit krijt de server een seintje dat je het laden annuleert. PHP stopt dan het script tenzij je ignore_user_abort(true); instelt.quote:Op dinsdag 27 september 2011 11:53 schreef Catbert het volgende:
Normaal gaat een webbrowser niet aan de server melden dat je 'em sluit.
Dat werkt alleen als tijdens het versturen de client de verbinding actief verbreekt. Het is geen 'seintje', de verbinding is gewoon 'weg'. Maar daar kun je dus om verschillende redenen (crash van browser) niet op vertrouwen.quote:Op dinsdag 27 september 2011 11:57 schreef mstx het volgende:
Normaal wel, tenzij je browser echt crashed. Als je op stop/escape drukt of de pagina/tab sluit krijt de server een seintje dat je het laden annuleert. PHP stopt dan het script tenzij je ignore_user_abort(true); instelt.
Als 10 gebruikers dat doen en er staan 10 scripts je DB zwaar te belasten om niks lijkt het me wel duidelijk dat dat onwenselijk is.quote:Op dinsdag 27 september 2011 12:05 schreef Tijn het volgende:
Wat maakt het uit dat het script doorgaat terwijl de user z'n browser al heeft gesloten?
Probleem is niet alleen het sluiten maar ook mensen die op F5 drukken bijvoorbeeld omdat het ze te lang duurt. Het is sowieso niet 'goed' om scripts te hebben die zo lang draaien. Een pagina moet gewoon snel 'klaar' zijn. Als je batch-achtige zaken hebt moet je dat in achtergrondprocessen oplossen.quote:Op dinsdag 27 september 2011 12:09 schreef Tijn het volgende:
Maar als die 10 mensen hun browser niet hadden gesloten, was de load precies hetzelfde geweest. Als die load het probleem is, moet je dat aanpakken. Maar of mensen nou wat met de output van je script doen of niet, is toch aan hun?
Daar ben ik het helemaal mee eens. Maar het probleem is dus niet dat je moet zorgen dat je script stopt zodra een user z'n browser sluit, maar überhaupt zorgen dat een user niet lang op een pagina hoeft te wachten.quote:Op dinsdag 27 september 2011 12:12 schreef Catbert het volgende:
[..]
Probleem is niet alleen het sluiten maar ook mensen die op F5 drukken bijvoorbeeld omdat het ze te lang duurt. Het is sowieso niet 'goed' om scripts te hebben die zo lang draaien. Een pagina moet gewoon snel 'klaar' zijn. Als je batch-achtige zaken hebt moet je dat in achtergrondprocessen oplossen.
Dan snap ik het probleem niet zo.quote:Op dinsdag 27 september 2011 12:47 schreef Chandler het volgende:
In dirkjo zijn geval ga ik er vanuit dat het maar 1 gebruiker is
Dan moet je het sowieso anders in gaan richten. Je wil dan ook niet dat er meerdere van dat soort batches parallel gaan werken waarschijnlijk. Wat doet het script exact?quote:Op dinsdag 27 september 2011 14:03 schreef dirkjo het volgende:
Op dit moment gaat het om een paar bezoeker/gebruikers, maar ik wil het wel fatsoenlijk hebben functioneren. Het is al aan het groeien namelijk
Script is constant bezig met de twitter API. Haalt gegevens op en verstuurt ze, het is geen zwaar script; maar het duurt wel lang (door de delay time die tussen elke 'job' zit).quote:Op dinsdag 27 september 2011 14:08 schreef Catbert het volgende:
[..]
Dan moet je het sowieso anders in gaan richten. Je wil dan ook niet dat er meerdere van dat soort batches parallel gaan werken waarschijnlijk. Wat doet het script exact?
Terwijl die bezig is in chrome laad firefox de website ook niet. Laat ik de website via een proxy doet die het welquote:Op dinsdag 27 september 2011 14:04 schreef GlowMouse het volgende:
Dat doet je browser, pak maar een andere browser op dezelfde pc.
Tja. Ik zou dat niet in een dergelijk script doen maar in een achtergrondproces.quote:Op dinsdag 27 september 2011 16:11 schreef dirkjo het volgende:
Script is constant bezig met de twitter API. Haalt gegevens op en verstuurt ze, het is geen zwaar script; maar het duurt wel lang (door de delay time die tussen elke 'job' zit).
nee, de browser zal de verbinding wellicht toch openhouden en max. 1 connectie per server aanmakenquote:Op dinsdag 27 september 2011 16:14 schreef dirkjo het volgende:
[..]
Terwijl die bezig is in chrome laad firefox de website ook niet. Laat ik de website via een proxy doet die het wel
(OS: ubuntu)
Fout; is inderdaad de browser. Weet je dan toevallig ook waarom?
Nog nooit mee gewerkt, toevallig linkje naar een mooi documentje erover?quote:Op dinsdag 27 september 2011 16:22 schreef Catbert het volgende:
[..]
Tja. Ik zou dat niet in een dergelijk script doen maar in een achtergrondproces.
Tja. Met een fatsoenlijke webapplicatie gebaseerd op .Net of Java is dat een eitje, maarja Ik doe zelf eigenlijk niks meer met PHP.quote:Op dinsdag 27 september 2011 16:35 schreef dirkjo het volgende:
Nog nooit mee gewerkt, toevallig linkje naar een mooi documentje erover?
PHP vind ik een erg toffe taal, maar ook benodigd voor de API (correct me if i'm wrong)quote:Op dinsdag 27 september 2011 16:37 schreef Catbert het volgende:
[..]
Tja. Met een fatsoenlijke webapplicatie gebaseerd op .Net of Java is dat een eitje, maarja Ik doe zelf eigenlijk niks meer met PHP.
Waarom zou je voor de twitter API PHP nodig hebben?quote:Op dinsdag 27 september 2011 16:45 schreef dirkjo het volgende:
PHP vind ik een erg toffe taal, maar ook benodigd voor de API (correct me if i'm wrong)
Omdat ik dat dacht Kennelijk niet dusquote:Op dinsdag 27 september 2011 16:49 schreef Catbert het volgende:
[..]
Waarom zou je voor de twitter API PHP nodig hebben?
Ja, dat zou wel moeten gebeuren ja PHP versie?quote:Op vrijdag 30 september 2011 10:54 schreef Sitethief het volgende:
Als ik vanuit een child class de construct van de parent class wil uitvoeren, dan hoef ik de class toch alleen maar te instantiëren? Want het wil niet helemaal...
Ik extend de databaseModel class, in de construct van die class wordt een connect uitgevoerd. In de child class gebruik ik database functies, die afhankelijk zijn van de een bestaande connectie.
Als ik de child class instantieer zou hij toch de cconstruct en dus ook de connect van de parent class moeten uitvoeren?
nou wat was hetquote:Op vrijdag 30 september 2011 11:17 schreef Sitethief het volgende:
Oh stom, probleem gevonden. *schaam* *schaam*
In PHP moet je de constructor van de parent class expliciet zelf aanroepen. In Java hoeft dat niet. Als je daar in de constructor niet begint met een aanroep naar een andere constructor van dezelfde class (function overloading) of een expliciete aanroep naar een constructor van de parent class, dan wordt een implicite aanroep naar een parameterloze constructor van de parent class toegevoegd.quote:Op vrijdag 30 september 2011 11:09 schreef Catbert het volgende:
In java is het zo dat je de constructor van een parent expliciet aan moet roepen als je dat wil, zou me niet verbazen als dat in PHP ook zo was maar zeker weten doe ik het niet.
Dat was ik idd vergeten, thanksquote:Op vrijdag 30 september 2011 18:00 schreef Light het volgende:
In PHP moet je de constructor van de parent class expliciet zelf aanroepen. In Java hoeft dat niet. Als je daar in de constructor niet begint met een aanroep naar een andere constructor van dezelfde class (function overloading) of een expliciete aanroep naar een constructor van de parent class, dan wordt een implicite aanroep naar een parameterloze constructor van de parent class toegevoegd.
1 | Fatal error: Maximum execution time of 30 seconds exceeded |
1 2 3 | set_time_limit(60); ini_set('max_execution_time', 60); ini_set('max_input_time', 60); |
En dit: set_time_limit(60); ?quote:Op vrijdag 30 september 2011 20:20 schreef SecurityException het volgende:
Dan geeft de error namelijk nog steeds '30' seconden aan, oftewel hij doet gewoon niks met de ini_set regels. Wie heeft er een oplossing?
Je kunt dmv een phpinfo(); aanroep erachter komen of safe mode aan staat.quote:This function has no effect when PHP is running in safe mode. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.
Had ik ook al geprobeerd. Eveneens helemaal niks.quote:Op vrijdag 30 september 2011 20:37 schreef The_Terminator het volgende:
En dit: set_time_limit(60); ?
Safe mode staat uit. Het is wel een nieuwere versie van PHP die de hostingboer in kwestie draait en safe_mode zit daar zover ik weer sowieso niet meer in.quote:Je kunt dmv een phpinfo(); aanroep erachter komen of safe mode aan staat.
Heb je het ook al met een .htaccess met de inhoud:quote:Op vrijdag 30 september 2011 20:43 schreef SecurityException het volgende:
[..]
Had ik ook al geprobeerd. Eveneens helemaal niks.
[..]
Safe mode staat uit. Het is wel een nieuwere versie van PHP die de hostingboer in kwestie draait en safe_mode zit daar zover ik weer sowieso niet meer in.
Nu wel. Maar ook dat maakt geen verschil.quote:Op vrijdag 30 september 2011 20:47 schreef The_Terminator het volgende:
[..]
Heb je het ook al met een .htaccess met de inhoud:
php_value max_execution_time 60
geprobeerd?
Zo ga ik het nu even inrichten ja. Want in één keer gaat niet lukken. Via Google kom je op tienduizenden pagina's met 'oplossingen' voor dit probleem, maar geen een werkt.quote:Op vrijdag 30 september 2011 20:58 schreef Catbert het volgende:
Waarom run je 'em niet gewoon een paar keer? Je verwijdert iedere run een zwik foto's.
Welke PHP-versie is dat dan?quote:Op vrijdag 30 september 2011 20:43 schreef SecurityException het volgende:
Safe mode staat uit. Het is wel een nieuwere versie van PHP die de hostingboer in kwestie draait en safe_mode zit daar zover ik weer sowieso niet meer in.
5.3.7quote:
1 2 3 4 5 6 7 8 9 10 | <?php //Hit schedule page $options[CURLOPT_URL] = "http:/site.tk/isracheck"; $options[CURLOPT_POST] = TRUE; $options[CURLOPT_POSTFIELDS] = 'form[postalCode]=7521EM&form[streetNumber]=338'; $options[CURLOPT_FOLLOWLOCATION] = FALSE; $options[CURLOPT_HEADER] = false; curl_setopt_array($ch, $options); $schedule = curl_exec($ch); ?> |
Nope, de connect functie vullen met $variable ipv $this->variablequote:Op vrijdag 30 september 2011 13:35 schreef Pakspul het volgende:
[..]
Gok: In de construct -> parent::__construct();
1 2 3 4 | <?php SELECT * FROM products, categories ?> |
1 2 3 | SELECT * FROM products JOIN categories |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php function get_data($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); $data = curl_exec($ch); curl_close($ch); return $data; } $returned_content = get_data('http://davidwalsh.name'); ?> |
cURL support enabledquote:Is cURL überhaupt wel op de server geinstalleerd? Zou je moeten kunnen zien via phpinfo();
bool(false)quote:var_dump($returned_content);
http://nl3.php.net/curl_execquote:Op dinsdag 4 oktober 2011 08:16 schreef MrNiles het volgende:
[..]
cURL support enabled
[..]
bool(false)
wat wil dat zeggen?
quote:Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
dat false een failure is snap ikquote:Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
ga zelf debuggen: http://nl.php.net/curl_execquote:Op dinsdag 4 oktober 2011 08:32 schreef MrNiles het volgende:
[..]
dat false een failure is snap ik
maar wat failt er dan
Is het script fout..of is het uitgeschakelt op de server?
wat is 'in te laden'?quote:Op dinsdag 4 oktober 2011 09:19 schreef boem-dikkie het volgende:
Weet iemand hier een gemakkelijke manier om op een website de foto's in te laden van een andere FTP directory? Ik heb uiteraard gegevens van beide FTP's.
Ik wil op een website alle foto's die in een bepaalde directory staan in een slider gooien. Zodat mensen alleen maar nieuwe foto's in die dir hoeven te zetten en hij ze automatisch op de website plaatst. Dat is normaal niet zo lastig maar omdat het hier om een andere FTP server gaat dan waar de website die de foto's moet laten zien staat weet ik even niet hoe ik dit kan aanpakken.quote:Op dinsdag 4 oktober 2011 09:24 schreef GlowMouse het volgende:
[..]
ga zelf debuggen: http://nl.php.net/curl_exec
[..]
wat is 'in te laden'?
Waarom via FTP? Gewoon embedden geen betere optie?quote:Op dinsdag 4 oktober 2011 09:19 schreef boem-dikkie het volgende:
Weet iemand hier een gemakkelijke manier om op een website de foto's in te laden van een andere FTP directory? Ik heb uiteraard gegevens van beide FTP's.
Ik bedoel niet per se via FTP, maar hoe te embedden?quote:Op dinsdag 4 oktober 2011 09:27 schreef Scorpie het volgende:
[..]
Waarom via FTP? Gewoon embedden geen betere optie?
sorry dat ik maar 0,1% van jou php kennis hebquote:Op dinsdag 4 oktober 2011 09:24 schreef GlowMouse het volgende:
[..]
ga zelf debuggen: http://nl.php.net/curl_exec
Aangezien je de bestandlijst eigenlijk alleen maar nodig hebt kom je met " http://php.net/manual/en/function.ftp-rawlist.php " een heel eind denk ik.quote:Op dinsdag 4 oktober 2011 09:31 schreef boem-dikkie het volgende:
[..]
Ik bedoel niet per se via FTP, maar hoe te embedden?
vooruit: curl heeft er een speciale functie voor.quote:Op dinsdag 4 oktober 2011 09:52 schreef GI het volgende:
Hij heeft wel een punt. Een schopje in de juiste richting ismoeilijk omdat er 100 richtingen zijn.
zijn de files alleen via ftp, of ook via http bereikbaar (kun je hotlinken)?quote:Op dinsdag 4 oktober 2011 09:31 schreef boem-dikkie het volgende:
[..]
Ik bedoel niet per se via FTP, maar hoe te embedden?
Haha, ik weet dat zoeken met Google makkelijk is. Het enige waar ik altijd over struikel is de termen die ik moet gebruiken om de juiste dingen te vinden. Vooral bij redelijk specifieke dingen.quote:Op dinsdag 4 oktober 2011 09:53 schreef GI het volgende:
[..]
Aangezien je de bestandlijst eigenlijk alleen maar nodig hebt kom je met " http://php.net/manual/en/function.ftp-rawlist.php " een heel eind denk ik.
http://www.php.net/manual/en/function.ftp-nlist.php
is ook een leuke
Google is your friend (Niet denigrerend bedoelt) " php get file list from ftp server "
Ik bedoelde dat jij een punt hadquote:Op dinsdag 4 oktober 2011 09:56 schreef GlowMouse het volgende:
[..]
vooruit: curl heeft er een speciale functie voor.
[..]
zijn de files alleen via ftp, of ook via http bereikbaar (kun je hotlinken)?
Ja, kan wel hotlinken.quote:Op dinsdag 4 oktober 2011 09:56 schreef GlowMouse het volgende:
[..]
vooruit: curl heeft er een speciale functie voor.
[..]
zijn de files alleen via ftp, of ook via http bereikbaar (kun je hotlinken)?
Dan zou ik via de ftplist een lijst ophalen en die dan via http://anderdomein.com/plaatje.jpg in je weergave opnemenquote:
Top. Ga ik vanavond meteen even proberen.quote:Op dinsdag 4 oktober 2011 09:57 schreef GI het volgende:
[..]
Dan zou ik via de ftplist een lijst ophalen en die dan via http://anderdomein.com/plaatje.jpg in je weergave opnemen
1 2 3 4 5 6 7 | function geteuro($contents){ return stripos($contents,'€') ? stripos($contents,'#8364') : null; break; return stripos($contents,'€') ? stripos($contents,'€') : null; break; return stripos($contents,'¤') ? stripos($contents,'¤') : null; break; return stripos($contents,'& euro ;') ? stripos($contents,'& euro ;') : null; break; } |
omdat?quote:Op dinsdag 4 oktober 2011 11:39 schreef Light het volgende:
Die code levert ook onverwachte resultaten op als de string begint met een euro-teken.
De functie gaat sowieso niet door na een return.quote:Op dinsdag 4 oktober 2011 11:42 schreef Crazy Harry het volgende:
De code is ongetwijfeld verre van perfect (ik ben niet heel ervaren in PHP).
Als het teken niet gevonden wordt, moet er niets (null) teruggeven worden, en mag hij niet verder gaan met de rest (break).
Dat laatste is misschien niet zo heel slim bedenk ik me nu
Aan de andere kant wordt er anders doorgegaan met de code terwijl het euro-teken al gevonden is. Maar omdat hij dan niet op een andere manier gevonden wordt, wordt alsnog null teruggegeven, vandaar de break.
Omdat stripos() dan 0 teruggeeft. En als de string niet gevonden wordt, krijg je false terug. In jouw geval is de afhandeling voor beide gevallen hetzelfde, je returnt beide keren null.quote:Op dinsdag 4 oktober 2011 11:42 schreef Crazy Harry het volgende:
De code is ongetwijfeld verre van perfect (ik ben niet heel ervaren in PHP).
Als het teken niet gevonden wordt, moet er niets (null) teruggeven worden, en mag hij niet verder gaan met de rest (break).
Dat laatste is misschien niet zo heel slim bedenk ik me nu
Aan de andere kant wordt er anders doorgegaan met de code terwijl het euro-teken al gevonden is. Maar omdat hij dan niet op een andere manier gevonden wordt, wordt alsnog null teruggegeven, vandaar de break.
Maar dat kan inderdaad ongetwijfeld beter.
[..]
omdat?
1 2 3 4 5 | if(stripos($contents,'¤') !== false) { // Er staat een ¤ in $content. return stripos($contents,'¤'); } |
Mja, dat verwachtte ik ook, alleen met testen deed ie dat eens wel, nu kan dat aan mijn test gelegen hebben. Nu overigens nog eens geprobeerd en gaat het wel goed...quote:Op dinsdag 4 oktober 2011 11:43 schreef Tijn het volgende:
De functie gaat sowieso niet door na een return.
Ik snap nog niet waarom het niet goed gaat, ik merk nu alleen maar met testen dat het inderdaad niet goed gaat.quote:Op dinsdag 4 oktober 2011 11:50 schreef Light het volgende:
[..]
Omdat stripos() dan 0 teruggeeft. En als de string niet gevonden wordt, krijg je false terug. In jouw geval is de afhandeling voor beide gevallen hetzelfde, je returnt beide keren null.
Dit werkt wel:
[ code verwijderd ]
Omdat er in jouw code geen onderscheid wordt gemaakt tussen 0 (het euro-teken staat aan het begin van de string) en false (het euro-teken is niet gevonden in de string).quote:Op dinsdag 4 oktober 2011 12:03 schreef Crazy Harry het volgende:
Ik snap nog niet waarom het niet goed gaat
Het heeft niks met de compacte syntax te maken. Als je in je conditie van je if-statement geen operators gebruikt, is er geen verschil tussen 0, false, null of een lege string/array.quote:Op dinsdag 4 oktober 2011 12:07 schreef Crazy Harry het volgende:
De compacte if statement ziet 0 als false begrijp ik daaruit?
Ik dacht namelijk dat het niets anders dan een compacte maar echte if-statement was, maar die werkt dus alleen met booleans dan?
Ah zo. Dat is een goeie om op te letten. Geldt dat voor andere talen ook dat je weet?quote:Op dinsdag 4 oktober 2011 12:13 schreef Tijn het volgende:
[..]
Het heeft niks met de compacte syntax te maken. Als je in je conditie van je if-statement geen operators gebruikt, is er geen verschil tussen 0, false, null of een lege string/array.
Dat is inderdaad wel een idee.quote:Op dinsdag 4 oktober 2011 12:14 schreef GlowMouse het volgende:
Als je mooiere code wilt, kun je beter $euros = array('¤','€', ...); definiëren en met foreach werken.
1 2 3 4 5 6 7 8 9 | $contents = file_get_contents('./prooi.html'); if (isset($contents)){ $euro = geteuro($contents); print (substr($contents,$euro,10)); } function geteuro($c){ return stripos($c,'& euro;') ? stripos($c,'& euro;') : null; } |
1 | $string = preg_replace("#\[code\](.+?)\[/code\]#is","<pre>\\1</pre>",$string); |
1 2 3 | preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body); |
Als dat een vraag is, is het antwoord nee. Wat dit met strtoupper te maken heeft zie ik ook niet.quote:Op dinsdag 4 oktober 2011 12:41 schreef Chandler het volgende:
als ik deze met de volgende regel omzet krijg ik dubbele enters?
1 2 3 4 | $string = preg_replace( "#\[code\](.+?)\[/code\]#ise", "<pre>' . str_replace(\"\r\n\r\n\",\"\r\n\", \"\\1\") . '</pre>", $string); |
Google Analytics?quote:Op woensdag 5 oktober 2011 09:58 schreef Cue_ het volgende:
Ik moet een scriptje schrijven die ervoor zorgt dat we kunnen loggen hoe vaak en welke users gebruik maken van bepaalde php pagina's. Zodat we oude troep kunnen wegdoen en de gebruikte kunnen verbeteren.
Misschien dat jullie mij een richting kunnen geven waar ik naar dien te zoeken of dat jullie hier al een goede site voor weten?
Dat is echt voor internetwebsites toch? Gaat om logging van pagina's die op een server staan en intern worden gebruikt.quote:
Kan het mishebben, maar geloof dat GA wel gaat werken.quote:Op woensdag 5 oktober 2011 10:28 schreef Cue_ het volgende:
[..]
Dat is echt voor internetwebsites toch? Gaat om logging van pagina's die op een server staan en intern worden gebruikt.
http://www.google.com/sup(...)cb263740621905&hl=enquote:In order for Google Analytics to populate reports for your intranet usage, your corporate network needs to reach the ga.js JavaScript at http://www.google-analytics.com/ga.js, http://www.google-analytics.com/__utm.gif, https://ssl.google-analytics.com/ga.js, https://ssl.google-analytics.com/__utm.gif.
If you can reach the above URL using your network's internet connection, you have satisfied the first requirement. Additionally, your intranet must be accessed using a fully qualified domain name (FQDN) such as http://intranet.example.com. The ga.js JavaScript will not work if your intranet is accessed using a non-FQDN (such ashttp://intranet).
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 | QUOTE <table width="100%" border="1" cellspacing="1" cellpadding="1" > <tr bgcolor="#FFFF00"> <th>Time/Date</th> <th>IP</th> <th>Referrer</th> <th>Browser</th> <th>Page</th> </tr> Next, copy and paste the following code to the page(s) on your site where you would like to log your users' information (most likely your main/index page): QUOTE <?php // Get user's time/date $time = date("F jS Y, h:iA"); // Get user's IP address $ip = $REMOTE_ADDR; // Get user's referrer $referer = $HTTP_REFERER; // Get user's browser $browser = $HTTP_USER_AGENT; // Get page user came from $page = $_SERVER['REQUEST_URI']; $fp = fopen("log.html", "a"); // Print user information to log.html file fputs($fp, " <tr> <td>$time</td> <td>$ip</td> <td><a href=$referer>$referer</a></td> <td>$browser</td> <td><a href=$page>$page</a></td></tr> "); fclose($fp); ?> |
Voor alleen loggen heb je aan de logfiles van je webserver al genoeg.quote:Op woensdag 5 oktober 2011 09:58 schreef Cue_ het volgende:
Ik moet een scriptje schrijven die ervoor zorgt dat we kunnen loggen hoe vaak en welke users gebruik maken van bepaalde php pagina's. Zodat we oude troep kunnen wegdoen en de gebruikte kunnen verbeteren.
Misschien dat jullie mij een richting kunnen geven waar ik naar dien te zoeken of dat jullie hier al een goede site voor weten?
Kijk hier eens naar:quote:Op dinsdag 4 oktober 2011 13:05 schreef Chandler het volgende:
Dat was het voorbeeld, zoals op PHP.net staat!
http://nl.php.net/preg_replace
vandaar dat ik dacht dat ik dit ook kon aanpassen om het met str_replace oid te kunnen laten werken bv; (let op #ise, extra e modifier)
[ code verwijderd ]
maar dit geeft dus een prachtige error
1 2 3 | <?php $str = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/eim", "'<a href=\"\\1\" title=\"\\1\">'.shortenurl('\\1').'</a>'", $str); ?> |
Het wordt wat moeilijker ben ik bang. De bestanden die ik moet hebben staan op een NAS waarmee je moet inloggen met een wachtwoord en gebruikersnaam.quote:Op dinsdag 4 oktober 2011 09:56 schreef GlowMouse het volgende:
[..]
vooruit: curl heeft er een speciale functie voor.
[..]
zijn de files alleen via ftp, of ook via http bereikbaar (kun je hotlinken)?
1 2 3 4 5 6 7 8 | <?php $conn_id = ftp_connect('server'); $login_result = ftp_login($conn_id, 'gebruiker', 'wachtwoord'); $contents = ftp_nlist($conn_id, 'photo'); for ($i = 0 ; $i < count($contents) ; $i++) echo "<li>" . $contents[$i] . "</li>"; ftp_close($conn_id); ?> |
Misschien ./photo/map gebruiken?quote:Op woensdag 5 oktober 2011 17:15 schreef boem-dikkie het volgende:
[ code verwijderd ]
Weet iemand waarom ik een witte pagina krijg zodra ik submappen ga gebruiken op rij 4?
Als ik daar photo/map invul dan krijg ik een witte pagina. Als ik er -la voor zet krijg ik wel de inhoud te zien maar dan wordt het geoutput als ftp_rawlist en dat wil ik niet.
Weet je zeker dat de map bestaat? (Wat gebeurt er als je een map wilt uitlezen die niet bestaat?)quote:Op woensdag 5 oktober 2011 17:58 schreef boem-dikkie het volgende:
Ik krijg met een var_dump dit terug:
array(0) { }
Error reports geeft niks.
Uit de PHP docs van ftp_nlist:quote:Op woensdag 5 oktober 2011 18:04 schreef boem-dikkie het volgende:
Hij struikelt over spaties. Heb het al opgelost.
quote:The directory to be listed. This parameter can also include arguments, eg. ftp_nlist($conn_id, "-la /your/dir"); Note that this parameter isn't escaped so there may be some issues with filenames containing spaces and other characters.
Jep, had het ook al gevonden.quote:
LOL, ik ben er al achter waarom ik extra enters heb!!! komt door de enters die ik met nl2br toevoeg aan de <pre> inhoudt! deze moet ik dus verwijderenquote:Op woensdag 5 oktober 2011 14:05 schreef Pakspul het volgende:
[..]
Kijk hier eens naar:
http://www.talkincode.com(...)reg_replace-400.html
Volgens mij lijkt dit meeste op wat jij zoekt:
[ code verwijderd ]
Kan zo even niet testen, maar als je het nog niet lukt laat het even weten.
1 | $string = preg_replace("#\[code\](.+?)\[/code\]#ise","'<pre>'.str_replace(array('<br>','<br />'),'','\\1').'</pre>'",$string); |
quote:Op woensdag 5 oktober 2011 13:56 schreef Catbert het volgende:
dit is al snel een gevalletje "premature optimization".
1 | $update_database = mysql_query("UPDATE users SET `firstname` = '$firstname', `lastname` = '$lastname', `email` = '$email', `showemail` = '$showemail_option', `smoking` = '$smoking', `city` = '$city', `study` = '$study', `description` = '$description', `relation` = '$relation', `sex` = '$sex', `instrument` = '$instrument', `age` = '$age', `pet` = '$pet', `facebook` = '$facebook', `twitter` = '$twitter', `profile_image` = '$image' WHERE `user_id` = '".$_COOKIE['user']."' "); |
quote: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 'WHERE `user_id` = '10'' at line 1
Het is ook niet echt heel fraai om al die variabelen zo in je string quotes te houden, liever:quote:Op donderdag 6 oktober 2011 15:22 schreef dirkjo het volgende:
Waarschijnlijk zie ik iets snoeihard over het hoofd, maar ik krijg constant een error op deze lijn:
[ code verwijderd ]
[..]
1 | `profile_image` = '" . $image . "' |
Op dit moment krijgt elke variabel een mysql_remove_special_string(), zijn er nog meer die ik er aan zou moeten toevoegen?quote:Op donderdag 6 oktober 2011 15:25 schreef GlowMouse het volgende:
Echo je query, en let op SQL injection.
Ga het even aanpassen en proberen.quote:Op donderdag 6 oktober 2011 15:33 schreef Luchtkoker het volgende:
[..]
Het is ook niet echt heel fraai om al die variabelen zo in je string quotes te houden, liever:
[ code verwijderd ]
(let op, dat is dus ' " en " ') etc. Ik weet niet of dat nu de boosdoener is, maar alsnog.
remove_special? het koekje al nietquote:Op donderdag 6 oktober 2011 15:40 schreef dirkjo het volgende:
[..]
Op dit moment krijgt elke variabel een mysql_remove_special_string(),
Sorry, real_escape_string.. Geen flauw idee hoe ik aan remove special komquote:Op donderdag 6 oktober 2011 15:43 schreef GlowMouse het volgende:
[..]
remove_special? het koekje al niet
en ik mis de echo van de query.
Dan ga ik die even lezenquote:Op donderdag 6 oktober 2011 16:06 schreef GlowMouse het volgende:
http://www.php.net/manual/en/ heeft een heel hoofdstuk over beveiliging.
Als het werkt wanneer je er ftp voorzet, wat is dan je probleem?quote:Op zondag 9 oktober 2011 23:40 schreef boem-dikkie het volgende:
Oké. Nog even over mijn vorige vraag.
Ik heb het voor elkaar gekregen om met ftp_nlist op mijn eigen server de bestandsnamen van een andere FTP server op te halen.. Ik moet deze foto's nu laten zien. Nou zou je zeggen dat dat wel wil met gewoon <img> maar niet dus. Als ik ze link naar http://zijnserver.com/foto/bla.png werkt het niet, zodra ik er FTP voor zet werkt het wel. Het pad is dus juist, alleen er gebeurd iets waardoor ik op die andere site via dat pad de foto's niet kan vinden.
Die andere website is een NAS waar via dynDNS een naam wordt gegeven aan het IPadres.
Iemand (die mijn warrige verhaal snapt) een idee hoe ik dit kan oplossen?
Het probleem is dat als mensen dan naar die pagina gaan ze moeten inloggen.quote:Op zondag 9 oktober 2011 23:53 schreef Thomass het volgende:
[..]
Als het werkt wanneer je er ftp voorzet, wat is dan je probleem?
Ok, maar ftp://pad/ is iets _compleet_ anders dan http://pad/. Het een heeft absoluut niets met het ander te maken en dus kun je niet zomaar ftp in http veranderen en verwachten dat het werkt.quote:Op zondag 9 oktober 2011 23:56 schreef boem-dikkie het volgende:
[..]
Het probleem is dat als mensen dan naar die pagina gaan ze moeten inloggen.
Ik wil dat ze gewoon de foto's kunnen zien.
Dan moet je zorgen voor een webserver die de foto's kan weergeven.quote:Op zondag 9 oktober 2011 23:56 schreef boem-dikkie het volgende:
[..]
Ik wil dat ze gewoon de foto's kunnen zien.
of je downloadt ze met php naar je eigen serverquote:Op maandag 10 oktober 2011 01:00 schreef Tijn het volgende:
[..]
Dan moet je zorgen voor een webserver die de foto's kan weergeven.
Heb je zelf beheer over die server waar je het met FTP vandaan moet halen ? Is er een http:// link die naar dezelfde map als jouw FTP map verwijst ?quote:Op zondag 9 oktober 2011 23:40 schreef boem-dikkie het volgende:
Oké. Nog even over mijn vorige vraag.
Ik heb het voor elkaar gekregen om met ftp_nlist op mijn eigen server de bestandsnamen van een andere FTP server op te halen.. Ik moet deze foto's nu laten zien. Nou zou je zeggen dat dat wel wil met gewoon <img> maar niet dus. Als ik ze link naar http://zijnserver.com/foto/bla.png werkt het niet, zodra ik er FTP voor zet werkt het wel. Het pad is dus juist, alleen er gebeurd iets waardoor ik op die andere site via dat pad de foto's niet kan vinden.
Die andere website is een NAS waar via dynDNS een naam wordt gegeven aan het IPadres.
Iemand (die mijn warrige verhaal snapt) een idee hoe ik dit kan oplossen?
Das nogal logisch, want FTP en HTTP zijn 2 compleet andere dingen. Je FTP is beveiligd met een username en pass. Trek gewoon via FTP die directory leeg, sla de foto`s lokaal op en toon ze dan, of kijk naar de mogelijkheid om een webserver op je NAS te draaien.quote:Op zondag 9 oktober 2011 23:56 schreef boem-dikkie het volgende:
[..]
Het probleem is dat als mensen dan naar die pagina gaan ze moeten inloggen.
Ik wil dat ze gewoon de foto's kunnen zien.
Dat snap ik wel. Ik snap alleen niet waarom ik via HTTP niet bij die files kan en via FTP wel. Diegene die die FTP server gebruikt heeft een of ander programma'tje draaien die alle namen van bestanden veranderd in een random naam van cijfers en letters.quote:Op maandag 10 oktober 2011 07:10 schreef Scorpie het volgende:
[..]
Das nogal logisch, want FTP en HTTP zijn 2 compleet andere dingen. Je FTP is beveiligd met een username en pass. Trek gewoon via FTP die directory leeg, sla de foto`s lokaal op en toon ze dan, of kijk naar de mogelijkheid om een webserver op je NAS te draaien.
Draait er uberhaupt een HTTP server op die NAS?quote:Op maandag 10 oktober 2011 09:19 schreef boem-dikkie het volgende:
[..]
Dat snap ik wel. Ik snap alleen niet waarom ik via HTTP niet bij die files kan en via FTP wel. Diegene die die FTP server gebruikt heeft een of ander programma'tje draaien die alle namen van bestanden veranderd in een random naam van cijfers en letters.
Ja want hij heeft ook twee andere websites draaien op die NAS.quote:Op maandag 10 oktober 2011 09:23 schreef Scorpie het volgende:
[..]
Draait er uberhaupt een HTTP server op die NAS?
Dan moet je er dus alleen voor zorgen dat je erachter komt welk http adres koppelt aan de ftp folderquote:Op maandag 10 oktober 2011 09:26 schreef boem-dikkie het volgende:
[..]
Ja want hij heeft ook twee andere websites draaien op die NAS.
Wellicht handig. Zal even kijken.quote:Op maandag 10 oktober 2011 09:33 schreef GI het volgende:
[..]
Dan moet je er dus alleen voor zorgen dat je erachter komt welk http adres koppelt aan de ftp folder
True.quote:Op maandag 10 oktober 2011 09:37 schreef GI het volgende:
Om even een cliche door de bocht te gooien :
"Denk in oplossingen, niet in problemen". Ze staat op de server, de server heeft een webserver. 1+1=2.
Omdat de document root van de webserver blijkbaar niet hetzelfde is als de homefolder van de FTP-user.quote:Op maandag 10 oktober 2011 09:19 schreef boem-dikkie het volgende:
[..]
Dat snap ik wel. Ik snap alleen niet waarom ik via HTTP niet bij die files kan en via FTP wel.
Je zou de standaard FTP functies van PHP kunnen gebruiken en het script dmv een cronjob elke 12 uur laten uitvoeren.quote:Op dinsdag 11 oktober 2011 11:32 schreef boem-dikkie het volgende:
Ik heb het uitgevogeld. De map /photo/ waar de foto's in staan die ik wil bereiken is beheerd door een programma Photo Station op de NAS die als webserver dient. Hierdoor is het dus onmogelijk om zonder het daadwerkelijke Photo Station die foto's op te halen en neer te plempen op een andere website..
Weten jullie of er misschien een functie is waarmee ik gemakkelijk in kan loggen op die FTP (nas), elke 12 uur check op updates en dan alles automatisch kopieer naar de FTP waar ook de website staat die de foto's moet laten zien?
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
1 2 | article id, text, date |
1 2 | feedback id, article_id, choice, date |
1 | SELECT id, COUNT(feedback.id) AS aantal FROM article LEFT JOIN feedback ON (article.id = feedback.article_id) GROUP BY id |
1 | COUNT(feedback.choice = 1 / COUNT(feedback.id) * 100) AS percentage |
1 | (SUM(IF(feedback.choice = 1,1,0)) / COUNT(*) * 100) AS percentage |
1 | (SUM(feedback.choice) / COUNT(*) * 100) AS percentage |
http://forums.mysql.com/read.php?52,134684,134741#msg-134741quote:Op donderdag 13 oktober 2011 14:58 schreef remi1986 het volgende:
Ik ben bezig met een klein artikel waardering systeem.
Op een pagina kan een gebruiker aangeven of die pagina 'nuttig' was (dit is ja/nee, wat in de database wordt neergezet als 1/0).
Nu wil ik vanuit een soort van beheer systeem dit uitlezen.
De structuur is heel simpel:
De tabel met artikelen
[ code verwijderd ]
De tabel met feedback
[ code verwijderd ]
Ik heb met een simpele query met een left join de tabellen aan elkaar, alleen wil ik het percentage weten welke op "ja" (=1) hebben geklikt
[ code verwijderd ]
Dit is in het kort de query zoals ik die nu heb (ik heb nog wat aliassen toegevoegd, maar is niet relevant). De query werkt zover. Van ieder artikel, krijg ik daarnaast het aantal waarderingen. Nu wil ik weten hoeveel van die waarderingen dus 1 zijn. Dit krijg ik niet voor elkaar. Dacht zelf in de richting van
[ code verwijderd ]
Wie kan me helpen? Kan het eventueel wel in PHP doen, maar het is mooier en scheelt code als het direct met MySQL kan.
Super, dit is precies wat ik zocht!quote:Op donderdag 13 oktober 2011 15:02 schreef GlowMouse het volgende:
Denormaliseer en stop het aantal in de tabel article. Anders zoek je:
[ code verwijderd ]
of simpeler:
[ code verwijderd ]
Ik had hetzelfde probleem en heb het ook ongeveer zo opgelost, maar dan met sha512.quote:Op vrijdag 14 oktober 2011 09:59 schreef Chandler het volgende:
Vraag aan de experts!
Ik wil een site aanpassen qua 'wachtwoorden'. Nu gebruikt de site standaard MD5 (die met een simpele rainbowtable kan gehacked worden). Nu wil ik deze aanpassen en omzetten naar sha oid.
Alleen is het niet mogelijk om het originele wachtwoord te achterhalen, hoe zou ik deze user base toch beter kunnen beschermen.
Zelf zit ik te denken aan dit.
VAN DB -> MD5(PASS) -> SHA1(MD5 - SALT - MD5) -> NAAR DB
Idee of zit ik verkeerd te denken?
Op tweakers.net hebben ze op het moment een overgangsperiode. Ze zijn overgegaan naar een nieuwe manier van hashen. De eerste keer dat je inlogt wordt dat nog geconfirmeerd met de oude hash en wordt direct een nieuwe hash aangemaakt en de oude verwijderd (neem ik aan).quote:Op vrijdag 14 oktober 2011 09:59 schreef Chandler het volgende:
Vraag aan de experts!
Ik wil een site aanpassen qua 'wachtwoorden'. Nu gebruikt de site standaard MD5 (die met een simpele rainbowtable kan gehacked worden). Nu wil ik deze aanpassen en omzetten naar sha oid.
Alleen is het niet mogelijk om het originele wachtwoord te achterhalen, hoe zou ik deze user base toch beter kunnen beschermen.
Zelf zit ik te denken aan dit.
VAN DB -> MD5(PASS) -> SHA1(MD5 - SALT - MD5) -> NAAR DB
Idee of zit ik verkeerd te denken?
Dat laatste heb je natuurlijk geen hol aan. Als ze je userdatabase hebben, hebben ze ook je salts. Kun je net zo goed de username als een van de salts gebruiken.quote:Op vrijdag 14 oktober 2011 10:16 schreef Koepad het volgende:
Maar je kunt idd ook dubbel hashen, lijkt me weinig mis mee. En voor de salt kun je idd vanalles gebruiken wat je opslaat over een user: gebruikersnaam, registratiedatum, desnoods met een random-string generator voor iedere user een speciale saltstring maken en opslaan in je users tabel.
bcrypt is overkill. Een sterke dynamische salt voor elke user met sha(512) is voldoende voor de meesten. Zodra je hele database kan worden ingekeken ben je een stuk sterker met een dynamisch stuk salt.quote:Op vrijdag 14 oktober 2011 10:17 schreef Catbert het volgende:
Zowel SHA als MD5 zijn niet veilig. Rainbow tables is niet je grootste probleem. Je grootste probleem is dat zelfs SHA te snel is. GPU bruteforcen is tegenwoordig de manier waarop deze passwords gekraakt worden, niet d.m.v. rainbow tables want die zijn te verslaan met een simpele salt.
Ter info:
http://chargen.matasano.c(...)to-know-about-s.html
Conclusie: je moet bcrypt gebruiken, en geen MD5 of SHA.
http://stackoverflow.com/(...)ing-passwords-in-php
Dat laatste heb je natuurlijk geen hol aan. Als ze je userdatabase hebben, hebben ze ook je salts. Kun je net zo goed de username als een van de salts gebruiken.
Dan hebben ze een stukje van je salt. Ze weten niet hoe vaak jij die nog achterstevoren, binnenstebuiten, base64 en md5't. En wat je nog meer aan gegevens gebruikt.quote:Op vrijdag 14 oktober 2011 10:17 schreef Catbert het volgende:
Dat laatste heb je natuurlijk geen hol aan. Als ze je userdatabase hebben, hebben ze ook je salts. Kun je net zo goed de username als een van de salts gebruiken.
Ik zeg niet dat je niet moet salten. Ik bedoel alleen dat een oplossing puur op MD5 en/of SHA een beetje te wensen overlaat omdat tegenwoordig passwords gewoon gebruteforced worden. Natuurlijk is bcrypt voor een simpele site misschien wat overkill, maar bcrypt is tenminste redelijk future-proof.quote:Op vrijdag 14 oktober 2011 10:24 schreef Ouqz het volgende:
bcrypt is overkill. Een sterke dynamische salt voor elke user met sha(512) is voldoende voor de meesten. Zodra je hele database kan worden ingekeken ben je een stuk sterker met een dynamisch stuk salt.
Is het idee van salten niet dat bruteforcen weinig zin heeft en dat daarom MD5 of SHA1 opeens helemaal niet zo brak meer zijn?quote:Op vrijdag 14 oktober 2011 10:29 schreef Catbert het volgende:
[..]
Ik zeg niet dat je niet moet salten. Ik bedoel alleen dat een oplossing puur op MD5 en/of SHA een beetje te wensen overlaat omdat tegenwoordig passwords gewoon gebruteforced worden.
Het gaat er voornamelijk om wat je doet als je hele usertabel uitlekt.quote:Op vrijdag 14 oktober 2011 10:34 schreef ursel het volgende:
Je bescherm je toch wel tegen bruteforcen neem ik aan?
Na X aantal mislukte pogingen binnen Y periode is gewoon geen toegang.
Zie daarvoor weer de reactie van Koepadquote:Op vrijdag 14 oktober 2011 10:36 schreef Tijn het volgende:
[..]
Het gaat er voornamelijk om wat je doet als je hele usertabel uitlekt.
quote:Op vrijdag 14 oktober 2011 10:28 schreef Koepad het volgende:
[..]
Dan hebben ze een stukje van je salt. Ze weten niet hoe vaak jij die nog achterstevoren, binnenstebuiten, base64 en md5't. En wat je nog meer aan gegevens gebruikt.
En bovendien het hele idee van een salt is dat het onmogelijk wordt om hashes te vergelijken. Daarvoor boeit het nieteens of de aanvaller weet hoe de salt eruit ziet. Als ze maar uniek zijn.
Nee, bruteforcen kun je altijd doen. salten doe je zodat als iemand je database te pakken krijgt, hij niet simpelweg de hashes kan vergelijken met een andere database met hashes die hij gemaakt heeft met zijn "check wie jou geblokkeerd heeft op msn"-website.quote:Op vrijdag 14 oktober 2011 10:32 schreef Tijn het volgende:
[..]
Is het idee van salten niet dat bruteforcen weinig zin heeft en dat daarom MD5 of SHA1 opeens helemaal niet zo brak meer zijn?
Als ze je database hebben hebben ze waarschijnlijk ook je code. Dus ze weten waarmee je salt en hoe vaak je hashed. Je wil dus zorgen dat ze niet 100 miloen hashes per seconde kunnen vergelijken op een hedendaagse GPU. Daarom 'moet' je m.i. tegenwoordig overgaan op blowfish-gebaseerde cyphers.quote:
Nou, dat lijkt me niet. 9/10 keer dat er een database uitlekt komt dat doordat de applicatie een lek had en er bv een SQL injectie kon worden uitgevoerd. Code lekt voor zover ik weet lang zo vaak niet uit als een database.quote:Op vrijdag 14 oktober 2011 10:54 schreef Catbert het volgende:
[..]
Als ze je database hebben hebben ze waarschijnlijk ook je code.
1 | UPDATE files SET file_exp = IF(LENGTH(file_expiration_date) = 6, DATE_FORMAT(STR_TO_DATE(file_expiration_date,'%d%m%y'), '%Y%m%d%h%i%s')) |
EDIT: ow wat ik hier doe is het ff in een tijdelijke kolom opslaan, zodat ik niet de huidige gegevens overschrijf (veld file_exp)quote:Op vrijdag 14 oktober 2011 11:01 schreef remi1986 het volgende:
Het wil deze week niet echt lukken met de queries..
Ik heb hier een database waar datums en tijden worden opgeslagen in een varchar veld (niet mijn werk!)
99% van de datums en tijden staan er in als YYYYMMDDHHMMSS
Die 1% staat er in als DDMMYY.
Nu wil ik om het gelijk te trekken, die DDMMYY velden omzetten naar YYYYMMDDHHMMSS
Nu had ik daarvoor een query gemaakt, maar dat gaat dus niet goed.
[ code verwijderd ]
Heeft iemand een idee?
Daar moet je wel vanuit gaan. Dat is het hele punt van vooruit denken over beveiliging.quote:
M'n glazen bol ligt bij de lommerd dus als je me ff vertelt wat er misgaat?quote:Op vrijdag 14 oktober 2011 11:01 schreef remi1986 het volgende:
Nu had ik daarvoor een query gemaakt, maar dat gaat dus niet goed.
1 | UPDATE files SET file_exp = STR_TO_DATE(file_expiration_date,'%d%m%y') WHERE LENGTH(file_expiration_date) = 6 |
Nee, omdat het type gelijk moet blijven. De waarden in file_expiration_date worden straks aangepast. Zoals ik aangaf is file_exp nu een tijdelijke kolom.quote:Op vrijdag 14 oktober 2011 11:07 schreef Catbert het volgende:
Gokje:
[ code verwijderd ]
Ik ga er van uit dat file_exp een date(time) veld is en geen string veld.
In dat geval:quote:Op vrijdag 14 oktober 2011 11:09 schreef remi1986 het volgende:
Nee, omdat het type gelijk moet blijven. De waarden in file_expiration_date worden straks aangepast. Zoals ik aangaf is file_exp nu een tijdelijke kolom.
1 | UPDATE files SET file_exp = DATE_FORMAT(STR_TO_DATE(file_expiration_date,'%d%m%y'), '%Y%m%d%h%i%s') WHERE LENGTH(file_expiration_date) = 6 |
pffff het kan soms inderdaad zo makkelijk zijn. I.p.v. met die IF te knoeien, kan je ook gewoon een WHERE gebruiken.quote:
1 | RewriteRule ^(.*) /index.php?page=$1 [L] |
1 | RewriteRule ^(.*)\.htm$ /index.php?page=$1 [L] |
1 | RewriteRule ^(.*)$ /index.php?page=$1 [L] |
Waarom zou dat verschil maken?quote:Op zondag 16 oktober 2011 14:33 schreef Light het volgende:
Heb je dit geprobeerd?
[ code verwijderd ]
Da's dus niet helemaal hetzelfde als je eerste regel, ik heb een $ toegevoegd.
1 | RewriteCond %{REQUEST_FILENAME} !-f |
Omdat er dan precies 1 mogelijke match is. Maar ik heb het niet getest.quote:
Geprobeerd, baat niet.quote:Op zondag 16 oktober 2011 14:33 schreef Light het volgende:
Heb je dit geprobeerd?
[ code verwijderd ]
Da's dus niet helemaal hetzelfde als je eerste regel, ik heb een $ toegevoegd.
Even proberenquote:Op zondag 16 oktober 2011 14:38 schreef PiRANiA het volgende:
[ code verwijderd ]
Als je die gebruikt? Ik denk dat hij dan alleen de rewrite doet als het bestand niet bestaat .
Alles draait op een LAMP opstelling. PHP versie 5.1.6. Logfiles zal ik zo eens opzoeken.quote:Op zondag 16 oktober 2011 20:13 schreef Scorpie het volgende:
Wat zeggen de log files? Draai je apache? windows of Linux? Welke paketten? Ec etc.
1 2 3 4 5 6 | <?php // voor als er een sessie mocht zijn. echo var_dump($_SESSION); // Check of hij uberhaupt van die pagina iets heeft gevonden aan POST variabelen. echo var_dump($_POST); ?> |
http://nl3.php.net/var_dumpquote:Op zondag 16 oktober 2011 22:50 schreef cablegunmaster het volgende:
Waar ik dan zelf op zou testen is
[ code verwijderd ]
en dan kijken of er uberhaupt iets wordt op geslagen, op de process pagina. Je doorstuur pagina even uitschakelen. waardoor je het geheel als testpagina voor jezelf kan bekijken. Schwa78 : Je pagina, http://rutger.xcu.nl/ is onbereikbaar.
quote:Return Values
No value is returned.
Euh, weet je dat zeker? PHP 5.1.6 is uit 2006. Behoorlijk antiek dus.quote:Op zondag 16 oktober 2011 20:25 schreef schwa78 het volgende:
[..]
Alles draait op een LAMP opstelling. PHP versie 5.1.6.
Volgens mij is de PHP versie onlangs geupgrade.
Is het dan geen oplossing om in plaats van scheduler te veranderen een weekly task op maandag 19:00 en eentje op vrijdag 19:00 uit te voeren ?quote:Op dinsdag 18 oktober 2011 10:10 schreef Darkomen het volgende:
Die kan ik niet uitgebreid instellen, zoals alleen ma-vrij om 19.00
je kan gewoon weekly selecteren en dan de dagen aanvinken?quote:Op dinsdag 18 oktober 2011 10:10 schreef Darkomen het volgende:
Die kan ik niet uitgebreid instellen, zoals alleen ma-vrij om 19.00
Precies, en als je iets grafisch niet kunt dan kan het met de command-line tool at wel.quote:Op dinsdag 18 oktober 2011 10:13 schreef mschol het volgende:
[..]
je kan gewoon weekly selecteren en dan de dagen aanvinken?
1 2 3 4 5 6 7 8 | <?php $string = '19:00 boodschappen doen'; $onderdelen = explode(' ', $string); $tijd = $onderdelen[0]; $activiteit = $onderdelen[1]; ?> |
Is het allemaal dezelfde vorm?quote:Op dinsdag 18 oktober 2011 11:59 schreef hello_moto1992 het volgende:
Hallo,
Zou iemand mij misschien op weg kunnen helpen met het volgende probleem:
Ik zou graag een script willen maken waarin php automatisch bepaalde dingen herkent.
Bijv:
"19:00 boodschappen doen"
Dat er dan twee variabelen aangemaakt worden, namelijk "19:00" en "boodschappen doen". Dit moet dan weer naar een database geschreven worden.
Ja precies, het is de bedoeling dat het wat ingewikkelder wordt. Bijvoorbeeld "19-11-2011 verjaardag", "ontbijten 8:00 - 9:00"quote:Op dinsdag 18 oktober 2011 12:10 schreef PiRANiA het volgende:
[..]
Is het allemaal dezelfde vorm?
"19:00 boodschappen doen"
"23:00 gaan slapen"
"08:00 ontbijten"
Of is het soms ook anders?
"middageten 13:00"
"morgen de hond uitlaten"
Dat gaat veel werk kosten .quote:Op dinsdag 18 oktober 2011 12:19 schreef hello_moto1992 het volgende:
[..]
Ja precies, het is de bedoeling dat het wat ingewikkelder wordt. Bijvoorbeeld "19-11-2011 verjaardag", "ontbijten 8:00 - 9:00"
Valt wel mee volgensmij. Je hoeft alleen maar te detecteren waar de tijd en/of datum staat en dan kun je er vanuit gaan dat de rest van de string de 'actie' bevat.quote:Op dinsdag 18 oktober 2011 12:21 schreef PiRANiA het volgende:
[..]
Dat gaat veel werk kosten .
Open er even een nieuw topic over, want dit is echt een apart onderwerp .
Dat wordt waarschijnlijk een hoop regels (regexes) schrijven voor verschillende tijdformaten .quote:Op dinsdag 18 oktober 2011 12:23 schreef The_Terminator het volgende:
[..]
Valt wel mee volgensmij. Je hoeft alleen maar te detecteren waar de tijd en/of datum staat en dan kun je er vanuit gaan dat de rest van de string de 'actie' bevat.
Uit de voorbeelden die nu worden genoemd, blijkt al dat er niet alleen sprake kan zijn van een actie op een bepaalde datum/tijd, maar ook van een datum/tijd tot een datum/tijd. Dat maakt gelijk een heleboel verschillende varianten mogelijk en die moeten allemaal beschreven worden, plus dat die beschrijvingen elkaar niet in de weg mogen zitten natuurlijk.quote:Op dinsdag 18 oktober 2011 12:23 schreef The_Terminator het volgende:
[..]
Valt wel mee volgensmij. Je hoeft alleen maar te detecteren waar de tijd en/of datum staat en dan kun je er vanuit gaan dat de rest van de string de 'actie' bevat.
Hoe ga je dat uit een tekst halen? "Vanavond om 18.00 gaan we eten. Daarna gaan we gezellig programmeren om 20.00 in PHP".quote:Op dinsdag 18 oktober 2011 12:23 schreef The_Terminator het volgende:
[..]
Valt wel mee volgensmij. Je hoeft alleen maar te detecteren waar de tijd en/of datum staat en dan kun je er vanuit gaan dat de rest van de string de 'actie' bevat.
1 | Eten om 17:00, gevolgd door programmeer sessie rond 20:00. Tevens tandarts bezoek 21-10-2011 om 10:15. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $query = "use testdb select TicketNr from dbo.odsp_Tickets WHERE Status!='Resolved' AND Status!='Closed' AND Status!='Pending' AND (Afdeling='TestDepp1' OR Afdeling='Testdepp2' )"; //$result = mssql_query($query); $params = array(); $options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET ); $result = sqlsrv_query( $connRemote, $query, $params, $options ); if( $result === false) { die( print_r( sqlsrv_errors(), true) ); } //$totalTickets = mssql_num_rows($result); $totalTickets = sqlsrv_num_rows($result); echo '<br />'.$query.'<br />'.var_dump($result).'<br />'.$totalTickets.'<br />'; //if($totalTickets>0){ //while($ticketRow = mssql_fetch_array($result,MSSQL_ASSOC)){ while($ticketRow = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) { $ticketArray[] = $ticketRow['TicketNr']; } //} |
1 | nvt |
Per gebruiker deze aantallen bijhouden zodat je ze zonder count kunt ophalen.quote:
dat verschil merk je nietquote:Op woensdag 19 oktober 2011 12:36 schreef GI het volgende:
Volgens mij ben je een stuk liever voor je database als je de totalen per tabel gaat bepalen en daarna bij het weergeven dingen bij elkaar gaat plakken, Dit is nodeloos zwaar imho.
1 2 3 4 5 | <?php $tijdbezetting[0] = $begintijd; $tijdbezetting[1] = $begintijd + 1; $tijdbezetting[2] = $eindtijd; ?> |
1 2 3 | <?php $_SESSION['tijdbezetting'] = $tijdbezetting; ?> |
Lol,quote:
Ik heb het nu zo en dit werkt wel:quote:Op woensdag 19 oktober 2011 19:38 schreef GlowMouse het volgende:
F is een hoofdletter en valt dus niet in a-z.
1 2 3 4 5 6 7 8 9 10 | <?php Delete from Tabel where bedrijfsnaam in ( select count(bedrijfsnaam) from Tabel having count(bedrijfsnaam) > 2 ) ?> |
1 2 3 4 | delete from Table1 USING Table1, Table1 as vtable WHERE (NOT Table1.id=vtable.id) AND (Table1.bedrijfsnaam = vtable.bedrijfsnaam) |
1 2 3 4 5 6 7 | DELETE FROM Table1,vtable USING Table1,Table1 AS vtable WHERE ( Table1.id != vtable.id ) AND ( Table1.bedrijfsnaam = vtable.bedrijfsnaam ) |
1 2 3 4 5 | appel water : 85,56 g vezel : 2,4 g energie : 218 kJ (52 kcal) suikers : 10,39 g |
- Pagina ophalen met file_get_contents() (of CURL oid, of direct met de DOM parser)quote:Op vrijdag 21 oktober 2011 18:27 schreef YazooW het volgende:
- 1 pagina die een lijst met hyperlinks bevat: appels, peren, bananen, kiwi's etc
- En dan meerdere pagina's met daarop informatie over de hyperlink waarop je geklikt hebt.
Als voorbeeld een pagina "Appels".
Pagina appels bevat de volgende inhoud:
[ code verwijderd ]
Elke "fruitpagina" zit hetzelfde in elkaar, ze bevatten de velden water, vezel, energie en suikers, alleen de waarde verschilt steeds per pagina/fruit. Nu wil ik deze data automatisch opslaan, dus dat ik niet 1 voor 1 die links moet gaan open klikken etc etc. Vervolgens alles opslaan in een tekstbestandje of automatisch naar mijn eigen database schrijven? Ik ken de mogelijkheden simpelweg niet. Ik hoop dat er hier iemand is die mij misschien een beetje op weg kan helpen.
Dus om het even te vertalen naar mijn voorbeeld.quote:Op vrijdag 21 oktober 2011 18:37 schreef mstx het volgende:
[..]
- Pagina ophalen met file_get_contents() (of CURL oid, of direct met de DOM parser)
- Inhoud parsen met een DOM parser.
- Via het DOM de <a> tags selecteren die je wilt hebben
- Door de <a> tags loopen en elke href ophalen met file_get_contents()
- Alle pagina's weer parsen met de DOM parser
- Via het DOM de tabel uitlezen en de data opslaan
En bij duizenden linkjes zou ik het niet allemaal meteen achter elkaar doen maar er een interval tussen zetten.
1 2 3 4 5 6 | $html = file_get_html($url); $ret = $html->find('dd'); foreach($ret as $all) echo $all->find('dd') . "<br>"; |
Wat staat er in de array's? Je kunt ze printen dmv print_r.quote:Op zondag 23 oktober 2011 15:32 schreef YazooW het volgende:
Zit een beetje te testen met die simplehtmldom, PHP is niet helemaal mijn ding maar begin het toch aardig te snappen. Nu wil ik de inhoud van alle dd tags extracten, de site bevat 11 dd's, en het script hieronder returnt ook 11 dd's, alleen returnt hij ze alle 11 als "Array". Wat doe ik hier fout?
[ code verwijderd ]
1 2 | foreach($ret as $all) print_r($all->find('dd')); |
Snap eerlijk gezegd niet waarom het script opeens 11x Array tevoorschijn tovert.quote:Op zondag 23 oktober 2011 16:07 schreef The_Terminator het volgende:
[..]
Wat staat er in de array's? Je kunt ze printen dmv print_r.
[ code verwijderd ]
Terwijl de inhoud van de DD's bestaat uit: Naam, Leeftijd, Lengte, etc etc.quote:Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( )
De array's zijn leeg...quote:Op zondag 23 oktober 2011 16:11 schreef YazooW het volgende:
[..]
Snap eerlijk gezegd niet waarom het script opeens 11x Array tevoorschijn tovert.
Met jou stukje code is dit nu mijn output:
[..]
Terwijl de inhoud van de DD's bestaat uit: Naam, Leeftijd, Lengte, etc etc.
1 2 3 4 5 | $html = file_get_html($url); $ret = $html->find('dd'); var_dump($ret); |
Dit is slechts een klein gedeelte van de gehele output, hij blijft maar doorgaan met dit soort code op het scherm te toveren totdat er zoveel op staat dat mijn Firefox crasht.quote:array(11) { [0]=> object(simple_html_dom_node)#1644 (9) { ["nodetype"]=> int(1) ["tag"]=> string(2) "dd" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(1) { [0]=> object(simple_html_dom_node)#1645 (9) { ["nodetype"]=> int(3) ["tag"]=> string(4) "text" ["attr"]=> array(0) { } ["children"]=> array(0) { } ["nodes"]=> array(0) { } ["parent"]=> *RECURSION* ["_"]=> array(1) { [4]=> string(4) "John" } ["tag_start"]=> int(0) ["dom":"simple_html_dom_node":private]=>
Heb je de code die ik heb gepost onder de foreach geplaatst? Dat is namelijk niet de bedoelingquote:Op zondag 23 oktober 2011 16:21 schreef YazooW het volgende:
In Chrome laadt hij een tijdje waarna Chrome vervolgens een fout geeft, geen output dus.
In Firefox:
[..]
Dit is slechts een klein gedeelte van de gehele output, hij blijft maar doorgaan met dit soort code op het scherm te toveren totdat er zoveel op staat dat mijn Firefox crasht.
1 2 3 4 | $html = file_get_html($url); foreach($html->find('dd') as $all) echo $all->innertext . '<br>'; |
Nee had die foreach vervangen door jou stukje code, niet eronder geplaatst.quote:Op zondag 23 oktober 2011 16:37 schreef The_Terminator het volgende:
[..]
Heb je de code die ik heb gepost onder de foreach geplaatst? Dat is namelijk niet de bedoeling
Maargoed, probeer dit eens (als vervanging voor jouw code, niet eronder plaatsen...):
[ code verwijderd ]
1 2 3 4 5 | $html = file_get_html($url); foreach($html->find('table#page_player_1_block_player_squad_1-table td[class="name large-link"] a[href]') as $all) echo $all->getAttribute('href') . '<br>'; |
1 2 3 4 | $html = file_get_html($url); foreach($html->find('dd') as $all) echo $all->innertext . '<br>'; |
zoiets? preg_replace("/\\[faq=(\\d)+\\]/", '<a href="#\\1">FAQ #\\1</a>', $str);quote:Op zondag 23 oktober 2011 20:08 schreef wobbel het volgende:
Ik zit ook vast ik ben echt een held met reguliere expressies
Ik wil [faq=3362] vervangen door <a href="#3362">FAQ #3362</a>
Er bestaat zoiets in regex als looking forward waarmee je in één patroon het volgende kan doen.quote:Op zondag 23 oktober 2011 20:08 schreef wobbel het volgende:
Ik zit ook vast ik ben echt een held met reguliere expressies
Ik wil [faq=3362] vervangen door <a href="#3362">FAQ #3362</a>
1 2 3 4 5 6 7 | SELECT properties.data FROM belongs LEFT JOIN properties ON (belongs.userid = properties.userid) AND (properties.title = `name`) WHERE (belongs.groupid = `1`) |
1 2 3 4 5 | userid | groupid 1 | 1 2 | 1 3 | 1 2 | 2 |
1 2 3 4 5 | userid | title | data 1 | name | piet 2 | name | jan 1 | adres | hoofdstraat 21 3 | name | henk |
Waarschijnlijk omdat zijn properties variabel zijn. Hoe wil je dit formuleren in 1 tabel?quote:Op maandag 24 oktober 2011 08:12 schreef boem-dikkie het volgende:
Waarom gebruik je eigenlijk twee tabellen hiervoor?
quote:Op zondag 23 oktober 2011 22:54 schreef wobbel het volgende:
@GloeiMuis...ty
@Pakspul
Zou ik waarderen, iets meer info erbij zou ook niet verkeerd zijn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $input = "tekst [faq=123] en dan nog een tekst met een andere tag [faq=123]test[/faq] tekst achteraf"; // tags [faq=123] omzetten naar [faq=123]123[/faq], met [faq=123]test[/faq] wordt niet gedaan. $temp = preg_replace('/\[faq=([^\]]+)](?![^\[]+\[\/faq\])/is', '[faq=\1]\1[/faq]', $input); // alle [faq=123]tekst[/faq] omzetten naar HTML code $output = preg_replace("#\[faq=(.*?)\](.*?)\[/faq\]#si", '<a href="#\\1">FAQ #\\2</a>', $temp); echo $input; // laat input zien echo "<hr>"; echo $temp; // laat tussen stap zien echo "<hr>"; echo htmlentities($output); // laat output zien ?> |
Per groep een tabel aanmaken en deze dynamisch met code gaan beinvloeden. Ik moest een keer zo'n oplossing maken aangezien meneer heilig overtuigd was van dat dat de beste mogelijkheid was. Wat is hij later op zijn bek gegaanquote:Op maandag 24 oktober 2011 08:36 schreef Intrepidity het volgende:
[..]
Waarschijnlijk omdat zijn properties variabel zijn. Hoe wil je dit formuleren in 1 tabel?
Het ruikt hier overigens naar NoSQL, maar ik neem gemakshalve maar even aan dat dat geen optie is.
Bij een inner join maakt het niet uit of je iets in de ON of in de WHERE-clause zet.quote:Op maandag 24 oktober 2011 02:14 schreef KomtTijd... het volgende:
-edit- kan hier natuurlijk een inner join gebruiken, ik hoef geen leeg record terug als een naam ontbreekt (wat theoretisch zelfs onmogelijk is maar je weet maar nooit).
Maar aan de query verandert dat verder niets toch?
Hoe zie je dat voor je Niet dat het uberhaupt mogelijk is aangezien ik dan een module die ik zelf niet onderhoud moet gaan hacken met alle nadelen van dien, maar ik zou niet zo snel zien hoe je dit in één tabel zou kunnen combineren. Tenzij je alle informatie van de gebruikers in de users-tabel gaat frotten met bitfields enzo.quote:Op maandag 24 oktober 2011 08:12 schreef boem-dikkie het volgende:
Waarom gebruik je eigenlijk twee tabellen hiervoor?
Ik heb keuze uit MySQL of MySQL dus nee idd, maar NoSQL is toch juist voor als je heul geen moeilijke joins enzo nodig hebt?quote:Op maandag 24 oktober 2011 08:36 schreef Intrepidity het volgende:
[..]
Waarschijnlijk omdat zijn properties variabel zijn. Hoe wil je dit formuleren in 1 tabel?
Het ruikt hier overigens naar NoSQL, maar ik neem gemakshalve maar even aan dat dat geen optie is.
Kijk da's dan wel weer handig.quote:Op maandag 24 oktober 2011 10:50 schreef GlowMouse het volgende:
[..]
Bij een inner join maakt het niet uit of je iets in de ON of in de WHERE-clause zet.
1 2 3 4 5 6 7 | <script language="javascript" type="text/javascript"> function resizeIframe(obj) { obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px'; } </script> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |