quote:Op woensdag 7 november 2012 21:18 schreef Xanland het volgende:
Het zijn inderdaad, uiteraard, vaste routes. Waar ik denk dat ik nu eigenlijk naar op zoek te zijn is te weten wat het coördinaat, bijvoorbeeld, 50 meter verderop de polyline is.
Dit aangezien ik de reistijd tussen 2 haltes weet en ook hoeveel meter ik de marker moet verplaatsen. Alleen kan ik zoiets niet in PHP vinden om dus het volgende coördinaat op de polyline in PHP te berekenen.
Je gaat in ieder geval een controller moeten maken.quote:Op woensdag 7 november 2012 23:49 schreef pascal08 het volgende:
Ik zit weer met het volgende lastige probleem. Via een tutorial op youtube had ik met raw php in notepad++ een universal member page gemaakt. Als ik dan localhost/project/gebruikersnaam deed, dan kreeg ik een pagina te zien die speciaal voor de gebruiker was, een members page dus.
Nu gebruik ik codeigniter, maar dan wordt alles een stuk lastiger. Codeigniter gebruikt standaard geen $_GET en ik wil liever ook niks aanpassen om dat wel werkend te krijgen. Het lijkt me namelijk stug dat CodeIgniter hier geen andere oplossing voor biedt. Ik heb al nagedacht over alternatieven, maar ik kan niet anders bedenken dan een unieke URL voor elke gebruiker, want uiteindelijk wil je een gebruikerspagina ook direct via een URL kunnen benaderen.
Kan iemand mij een zetje in de goede richting geven, ik heb namelijk geen flauw idee hoe ik dit ga googlen.
Dat ik daar niet zelf op gekomen ben.quote:Op woensdag 7 november 2012 23:56 schreef Light het volgende:
[..]
Je gaat in ieder geval een controller moeten maken.
Ja, heb ik.quote:Op donderdag 8 november 2012 00:04 schreef Juicyhil het volgende:
Heb je wel al een RewriteRule daarvoor aangemaakt binnen je htaccess?
Anders is het iets van index.php/project/gebruikersnaam
Kan het ook zo?:quote:Op donderdag 8 november 2012 00:10 schreef Juicyhil het volgende:
Zie hier: http://codeigniter.com/user_guide/general/urls.html
Je kunt ook argumenten meegeven in je url. Als print_r(func_get_args()) neerzet in de userpage action van je homecontroller, zou je hem moeten kunnen zien.
1 2 3 | <?php $this->uri->segment(3); ?> |
Als je hem zo krijgt, zou het ook kunnen. Maar lijkt me als parameter in je functie wat netter. Je kunt hem immers ook gewoon een default value meegeven.quote:Op donderdag 8 november 2012 00:15 schreef pascal08 het volgende:
[..]
Kan het ook zo?:
Eerst naar localhost/project/ gaan, daar de link aanklikken die naar localhost/project/home/userpage/username verwijst. Dan in de view "userpage":
[ code verwijderd ]
Ik krijg dan namelijk wel de gebruikersnaam die ik nodig heb om de pagina uniek te maken.
Ik moet die uri->segments in m'n controller plaatsen, dat bedoel je toch?quote:Op donderdag 8 november 2012 00:17 schreef Juicyhil het volgende:
[..]
Als je hem zo krijgt, zou het ook kunnen. Maar lijkt me als parameter in je functie wat netter. Je kunt hem immers ook gewoon een default value meegeven.
In je action jaquote:Op donderdag 8 november 2012 00:20 schreef pascal08 het volgende:
[..]
Ik moet die uri->segments in m'n controller plaatsen, dat bedoel je toch?
Het werkt. Nu is $username gewoon al direct een variabele in m'n view, fantastisch!
Ik zou dit eens lezen als ik jou was: http://nl.wikipedia.org/wiki/Model-view-controller-modelquote:Op zaterdag 10 november 2012 00:00 schreef pascal08 het volgende:
Is het eigenlijk verstandig om meerdere controllers aan te maken in CodeIgniter? Moet ik die dan elkaar laten extenden of allemaal de CI_controller? Ik snap niet wat het nut hiervan is, buiten dat m'n code er overzichtelijker van wordt. Ik zie namelijk bij heel veel tutorials meerdere controllers.
Ik heb echt al enorm veel gelezen, want ik wil in een paar weken met 0 kennis een mooie website bouwen. Schoonheidsfoutjes of een amateuristische code kan mij op zich niet zoveel schelen zolang alles maar veilig is.quote:Op zaterdag 10 november 2012 00:07 schreef Juicyhil het volgende:
Ligt er natuurlijk wel helemaal aan wat je precies gaat maken. Als je straks voor iedere dingetje een controller hebt, wordt ook weer zo onoverzichtelijk
Soms kan het tijdstip debuggen wel tegen werken, als je gewoon dom door kunt programmeren dan maakt het tijdstip opzich niet uit, maar als er ook maar 1 slash of iets anders mist dan kun je daar eeuwen op dood starenquote:
Ik kan het me niet voorstellen, want een map met een ander project op hetzelfde niveau doet het wel. Als ik de mapnaam verander krijg ik dezelfde foutmeldingen. Ik denk dus dat ik iets vreselijk over het hoofd zie.quote:Op zondag 11 november 2012 00:30 schreef Pakspul het volgende:
Zit dit probleem in in de apache server? Anders moet je stap voor stap gaan debuggen om te kijken of er toch ergens iets verkeerd wordt geladen.
Als je dan een echo "jeej"; in je alle eerste PHP script neer zet dan moet deze boven de foutmelding komen te staan. Gebeurd dit niet dan komt hij al geen eens in je PHP script en zit Apache te kutten.quote:Op zondag 11 november 2012 00:34 schreef pascal08 het volgende:
[..]
Ik kan het me niet voorstellen, want een map met een ander project op hetzelfde niveau doet het wel. Als ik de mapnaam verander krijg ik dezelfde foutmeldingen. Ik denk dus dat ik iets vreselijk over het hoofd zie.
quote:Op zondag 11 november 2012 00:35 schreef Pakspul het volgende:
[..]
Als je dan een echo "jeej"; in je alle eerste PHP script neer zet dan moet deze boven de foutmelding komen te staan. Gebeurd dit niet dan komt hij al geen eens in je PHP script en zit Apache te kutten.
Klopt. Ik gebruik CodeIgniter trouwens, ben ik vergeten te vermelden.quote:Op zondag 11 november 2012 00:38 schreef Pakspul het volgende:
[..]
Je URL is nu wel ineens anders. index.php staat er nu ineens tussen.
ok, ben ik niet bekend mee, maar als de URL goed is dan kun je verder gaan om de if statement uit te zoeken waarom die de keuze maakt om toch een foutmelding af te drukken. Variabelen weergeven helpt hierbij om te kijken wat er in zit.quote:Op zondag 11 november 2012 00:39 schreef pascal08 het volgende:
[..]
Klopt. Ik gebruik CodeIgniter trouwens, ben ik vergeten te vermelden.
Arggggh, zo vervelend is dat hè. Ik ben gewoon niet geschikt voor dit soort dingen, veel te slordig en ik maak er heel vaak een puinhoop van.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 26 27 28 29 30 31 32 33 34 35 | <?php function q($query, $data = array()) { /* run query with data */ $this->query = array('query' => $query, 'data' => $data); try { $this->prep = $this->dbConnection->prepare($query); foreach ($data AS $key => $val) { if (is_int($val)) { $this->prep->bindParam($key, (int)$val, PDO::PARAM_INT); // regel 43 } else { $this->prep->bindParam($key, $val); } } $this->prep->execute(); $this->prep->setFetchMode(PDO::FETCH_ASSOC); return $this->prep; // can return false } catch (Exception $e) { $this->pdoException($e->getMessage()); exit; } } ?> |
1 2 3 4 5 6 7 8 9 10 | <?php $tst->q("SELECT * FROM `fish` WHERE `user_id` > :id LIMIT :startCnt, :numberCnt", array(":id" => 0, ":startCnt" => 1, ":numberCnt" => 5)); ?> |
1 | Fatal error: Cannot pass parameter 2 by reference in D:\EasyPHP-12.1\www\pdoclass.php on line 43 |
1 2 3 4 | array (size=3) ':id' => int 0 ':startCnt' => int 1 ':numberCnt' => int 5 |
1 2 | $val = (int)$val; $this->prep->bindParam($key, $val, PDO::PARAM_INT); |
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 | array (size=4) 'error' => string 'PDO-SQL-ERROR' (length=13) 'PDO_error' => string 'SQLSTATE[42000]: Syntax error or access violation: 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 ''5', '5'' at line 4' (length=231) 'SQL' => array (size=2) 'query' => string 'SELECT * FROM `fish` WHERE `user_id` > :id LIMIT :startCnt, :numberCnt' (length=136) 'data' => array (size=3) ':id' => int 0 ':startCnt' => int 1 ':numberCnt' => int 5 'debug_backtrace' => array (size=2) 0 => array (size=7) 'file' => string 'D:\***\pdoclass.php' (length=32) 'line' => int 60 'function' => string 'pdoException' (length=12) 'class' => string 'pdoWrapper' (length=10) 'object' => object(pdoWrapper)[1] ... 'type' => string '->' (length=2) 'args' => array (size=1) ... 1 => array (size=7) 'file' => string 'D:\***\pdoclass.php' (length=32) 'line' => int 145 'function' => string 'q' (length=1) 'class' => string 'pdoWrapper' (length=10) 'object' => object(pdoWrapper)[1] ... 'type' => string '->' (length=2) 'args' => array (size=2) ... |
Dat heet het "teddybeer-effect". Doordat je je probleem aan iemand moet uitleggen wordt het voor jezelf ook duidelijker en doordat je extra houvast hebt aan dit topic / je collega / je teddybeer zie je de oplossing opeens zelf.quote:Op zondag 11 november 2012 00:51 schreef pascal08 het volgende:
[..]
Arggggh, zo vervelend is dat hè. Ik ben gewoon niet geschikt voor dit soort dingen, veel te slordig en ik maak er heel vaak een puinhoop van.
Het gekke is wel, dat als ik mijn probleem hier post, ik vaak zelf het antwoord vind.
Rubber ducking.quote:Op zondag 11 november 2012 10:48 schreef Farenji het volgende:
[..]
Dat heet het "teddybeer-effect". Doordat je je probleem aan iemand moet uitleggen wordt het voor jezelf ook duidelijker en doordat je extra houvast hebt aan dit topic / je collega / je teddybeer zie je de oplossing opeens zelf.
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | <?php class pdoWrapper { private $dbConnection; private $lastQuery = 0; private $prep; public $queries = array(); private function mtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function __construct($hostname, $username, $password, $database) { /* open the connection to the database server and database */ $this->queries['connection'] = array('hostname' => $hostname, 'username' => $username, 'database' => $database, 'startTime' => $this->mtime_float()); try { $con = "mysql:dbname=" . $database . ";host=" . $hostname; $this->dbConnection = new PDO($con, $username, $password); } catch(Exception $e) { $this->pdoException($e->getMessage()); exit; } $this->dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->queries['connection']['endTime'] = $this->mtime_float(); $this->queries['connection']['totalTime'] = round($this->queries['connection']['endTime'] - $this->queries['connection']['startTime'], 6); $this->queries['connection']['connectTime'] = $this->queries['connection']['totalTime']; $this->queries['connection']['queries'] = 0; $this->queries['connection']['longestQueryTime'] = 0; $this->queries['connection']['longestQuery'] = 0; } function q($query, $data = array()) { /* run query with data */ $this->lastQuery++; // start logging $this->queries[$this->lastQuery] = array('query' => $query, 'data' => $data, 'rows' => -1, 'startTime' => $this->mtime_float()); try { $this->prep = $this->dbConnection->prepare($query); // loop elements and bind to there requested value foreach ($data AS $bindValue => $replaceValue) { // int, add PDO::PARAM_INT for processing as REAL int -d if (is_int($replaceValue)) { $val = intval($replaceValue); $this->prep->bindValue($bindValue, $replaceValue, PDO::PARAM_INT); } else { $this->prep->bindValue($bindValue, $replaceValue, PDO::PARAM_STR); } } $this->prep->execute(); } catch (Exception $e) { $this->pdoException($e->getMessage()); } $this->queries[$this->lastQuery]['rows'] = $this->prep->rowCount(); $this->prep->setFetchMode(PDO::FETCH_ASSOC); // end the logging $this->queries[$this->lastQuery]['endTime'] = $this->mtime_float(); $this->queries[$this->lastQuery]['totalTime'] = round($this->queries[$this->lastQuery]['endTime'] - $this->queries[$this->lastQuery]['startTime'], 6); // update the database total connection time. $this->queries['connection']['endTime'] = $this->mtime_float(); $this->queries['connection']['totalTime'] = round($this->queries['connection']['endTime'] - $this->queries['connection']['startTime'], 6); $this->queries['connection']['queries']++; if ($this->queries[$this->lastQuery]['totalTime'] > $this->queries['connection']['longestQueryTime']) { $this->queries['connection']['longestQueryTime'] = $this->queries[$this->lastQuery]['totalTime']; $this->queries['connection']['longestQuery'] = $this->queries[$this->lastQuery]; } return $this->prep; // can return false } function fetch() { /* fetch all data */ return $this->prep->fetchAll(); } function rows() { /* retrieve number of found rows */ return $this->queries[$this->lastQuery]['rows']; } function result() { /* result for used more then 0 yes or no */ return ( $this->queries[$this->lastQuery]['rows'] > 0) ? false : true; } function insert_id() { /* return last insert id */ $this->queries[$this->lastQuery]['insert_id'] = $this->dbConnection->lastInsertId(); return $this->queries[$this->lastQuery]['insert_id']; } function affected() { /* return number affected rows alternative */ return $this->queries[$this->lastQuery]['rows']; } function pdoException($message) { $this->queries['connection']['errorQueries'][$this->lastQuery] = $message; $this->queries[$this->lastQuery]['error'] = array('error' => 'PDO-SQL-ERROR', 'PDO_error' => $message, 'debug_backtrace' => debug_backtrace()); } } ?> |
Eh.quote:Op maandag 12 november 2012 12:05 schreef pascal08 het volgende:
Waar laat ik mijn PHP-code in JSFiddle?
Nee... toch?quote:
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Ik post toch ook een JS-code én een PHP-bestand.quote:Op maandag 12 november 2012 12:14 schreef KomtTijd... het volgende:
...een javascript probleem dus. Wat moet dat in het PHP-topic?
Stand-alone ja, maar misschien moet het PHP-script wel aangepast worden om het op deze manier te laten werken, weet ik veel.quote:Op maandag 12 november 2012 12:17 schreef KomtTijd... het volgende:
...je zegt net dat het php-script gewoon werkt?
Ik heb 'm al in het JS-topic gepost. Waar moet ik precies naar kijken in de developer-console van Chrome?quote:Op maandag 12 november 2012 12:21 schreef GlowMouse het volgende:
Ik denk dat de fout niet in het php-script zit. Misschien kom je verder met de developer-console in je browser.
quote:Op maandag 12 november 2012 12:10 schreef pascal08 het volgende:
[..]
Nee... toch?
Maarja, ik heb dus het volgende probleem. Ik heb met Bootstrap een typeahead veld gemaakt en ik heb de JS code onder aan m'n HTML pagina geschreven. Als ik dit doe werkt het wel:
[ afbeelding ]
..., maar zodra ik een query laat uitvoeren vanuit een ander PHP-bestand, dan gaat er iets niet goed. Het PHP-bestand stand-alone draaien werkt wel.
[ afbeelding ]Kwestie van search.php testen. .ajax wil niet zeggen dat hij een $_POST verstuurd controleer eerst of hij dit uberhaupt doet. Door een variable terug te krijgen van PHP script. dus dat je een visuele output ergens maakt. Je PHP file is leuk gemaakt, maar voor test willen we eerst zien of hij dat stukje code bereikt.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.
Controleer met behulp van Firebug (firefox addon)in de console of er een output richting de server gaat en of je daar iets van terug krijgt maak daarvoor bvb:van en ga dan vervolgens kijken of je dat terug krijgt in de console.
1
2
3
4
5
6<?php
if(isset($_POST['Een_bestaande_variabele']))
{
echo "het werkt!";
}
?>
Mocht dit niet het geval zijn dan weet je dat je Javascript niet werkt. Desnoods stop je eronder iets wat een kleurtje oranje maakt op de site met behulp van JQuery om te testen of het script werkt of niet.
Mocht het Javascript werken dan kan hij mogelijk "search.php" niet vinden. en zul je dit anders moeten benaderen.Redacted
quote:Op maandag 12 november 2012 13:40 schreef Crutch het volgende:
Heb je ook gekeken wat er terugkomt in die datavariabele?
In de PHP-log gekeken?
Misschien is ?query= wel leeg?
Bedankt voor het meedenken, maar het probleem was al vrij snel opgelost in het JS topic. Ik ben in ieder geval vandaag heel veel wijzer geworden over debuggen, dus dat voorkomt een hoop onnodige posts in de toekomst.quote:Op dinsdag 13 november 2012 00:10 schreef cablegunmaster het volgende:
[..]
Kwestie van search.php testen. .ajax wil niet zeggen dat hij een $_POST verstuurd controleer eerst of hij dit uberhaupt doet. Door een variable terug te krijgen van PHP script. dus dat je een visuele output ergens maakt. Je PHP file is leuk gemaakt, maar voor test willen we eerst zien of hij dat stukje code bereikt.
Controleer met behulp van Firebug (firefox addon)in de console of er een output richting de server gaat en of je daar iets van terug krijgt maak daarvoor bvb:
[ code verwijderd ]
van en ga dan vervolgens kijken of je dat terug krijgt in de console.
Mocht dit niet het geval zijn dan weet je dat je Javascript niet werkt. Desnoods stop je eronder iets wat een kleurtje oranje maakt op de site met behulp van JQuery om te testen of het script werkt of niet.
Mocht het Javascript werken dan kan hij mogelijk "search.php" niet vinden. en zul je dit anders moeten benaderen.
1 2 3 4 5 | <?php $string = "/x/y/z/a/b"; $e = explode("/", $string); echo end($e); ?> |
1 2 3 4 | <?php $string = "/x/y/z/a/b"; echo end(explode("/", $string)); ?> |
Hier ook.quote:Op dinsdag 13 november 2012 10:48 schreef Tijn het volgende:
Dat laatste voorbeeld werkt bij mij gewoon, hoor.
Hier nietquote:Op dinsdag 13 november 2012 10:48 schreef Tijn het volgende:
Dat laatste voorbeeld werkt bij mij gewoon, hoor.
1 2 3 4 | <?php $string = '/a/b/c/d/e/f'; echo end(explode("/", $string)); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Strict standards: Only variables should be passed by reference in D:\EasyPHP-12.1\home\codesource.php on line 3 Call Stack # Time Memory Function Location 1 0.0008 138544 {main}( ) ..\codetester.php:0 2 0.0076 176864 include( 'D:\EasyPHP-12.1\home\codesource.php' ) ..\codetester.php:43 Dump $_SERVER $_SERVER['REMOTE_ADDR'] = string '127.0.0.1' (length=9) $_SERVER['REQUEST_METHOD'] = string 'POST' (length=4) $_SERVER['REQUEST_URI'] = string '/home/codetester.php' (length=20) Variables in local scope (#2) $string = string '/a/b/c/d/e/f' (length=12) |
quote:The array. This array is passed by reference because it is modified by the function. This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.
Denk dat dat te maken heeft met je warning level.quote:Op dinsdag 13 november 2012 11:01 schreef Chandler het volgende:
Maar als het wel werkt bij jullie, waar werken jullie dan mee? en logisch gezien zou het gewoon moeten werken!
Ah, wat een onlogica zeg... maar waarom werkt het dan wel bij de rest?
Dat dus.quote:Op dinsdag 13 november 2012 11:03 schreef mstx het volgende:
Waarschijnlijk heeft niemand E_STRICT error reporting aan staan.
Ik wel dus, wil namelijk 0,0 fouten zien maar bedankt voor jullie reacties, zal het gewoon op 2 regels houden......quote:
Ik zie dat sinds PHP 5.4 E_STRICT onderdeel is geworden van E_ALL. Dan zullen in de toekomst wel meer mensen dit soort fouten gaan tegenkomen.quote:Op dinsdag 13 november 2012 11:03 schreef mstx het volgende:
Waarschijnlijk heeft niemand E_STRICT error reporting aan staan.
Klopt, kwam ze ook ineens tegen, maar oplossing is best eenvoudig. Toch programmeer ik altijd met E_ALL, zodat PHP je streng controleert. Wat soms nog strenger mag, bv typecastingquote:Op dinsdag 13 november 2012 13:55 schreef Tijn het volgende:
[..]
Ik zie dat sinds PHP 5.4 E_STRICT onderdeel is geworden van E_ALL. Dan zullen in de toekomst wel meer mensen dit soort fouten gaan tegenkomen.
Haha, ja zeker een optie!quote:Op dinsdag 13 november 2012 14:22 schreef wipes66 het volgende:
je kan ook strrpos en substr gebruiken
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 | <?php $fd = fopen("list.txt", "r"); $buffer = explode("\n", str_replace("\\", "/", fread($fd, filesize("list.txt")))); fclose($fd); echo count($buffer) . " regels<hr>"; $time_start = microtime(true); foreach ($buffer AS $key) { $ex = explode("/", $key); $e = end($ex); // echo $key . "-->" . $e; } echo "test1: " . number_format(microtime(true) - $time_start, 3) . "<hr>"; $time_start = microtime(true); foreach ($buffer AS $key) { $ex = strrpos($key, "/"); $e = substr($key, $ex+1); // echo $key . "-->" . $e; } echo "test2: " . number_format(microtime(true) - $time_start, 3) . "<hr>"; ?> |
Is een idee, maar stel de klant bedoelt een ABN rekening.... maar is net wat te snel... je kent het wel...quote:Op dinsdag 13 november 2012 16:52 schreef GlowMouse het volgende:
Detecteren aan de hand van de lengte of het een ING-reknr is (tot 7 cijfers).
Dan zet je er toch met JavaScript bij: "dit is een postbanknummer" of "dit is een bankrekeningnummer".quote:Op dinsdag 13 november 2012 16:54 schreef Chandler het volgende:
[..]
Is een idee, maar stel de klant bedoelt een ABN rekening.... maar is net wat te snel... je kent het wel...
quote:Op dinsdag 13 november 2012 16:52 schreef GlowMouse het volgende:
Detecteren aan de hand van de lengte of het een ING-reknr is (tot 7 cijfers).
Wordt er bij de Postbank/ING niet P00 (of iets dergelijks) voor gezet zodat het als nog een resultaat van 11 characters oplevert?quote:Op dinsdag 13 november 2012 17:02 schreef StM het volgende:
Of bij 7 cijfers een alert van controleer uw nummer nogmaals en weet u zeker dat uw bank de ING is?
https://bugs.php.net/bug.php?id=49588 ?quote:Op dinsdag 13 november 2012 17:09 schreef boem-dikkie het volgende:
Weet iemand hier waarom ik met json_encode, een :null terugkrijg als ik een karakter, zeg een ë ophaal uit een database?
In de database staat hij in een rij met eigenschap 'text' of 'varchar' en staat er gewoon netjes ë.
Dacht dat het ergens aan de encoding zou liggen maar kan eigenlijk niet vinden waar dan.
quote:Op dinsdag 13 november 2012 17:09 schreef boem-dikkie het volgende:
Weet iemand hier waarom ik met json_encode, een :null terugkrijg als ik een karakter, zeg een ë ophaal uit een database?
In de database staat hij in een rij met eigenschap 'text' of 'varchar' en staat er gewoon netjes ë.
Dacht dat het ergens aan de encoding zou liggen maar kan eigenlijk niet vinden waar dan.
quote:This function only works with UTF-8 encoded data.
Ik krijg dezelfde melding. Ook PHP 5.4.6.quote:Op dinsdag 13 november 2012 10:52 schreef Chandler het volgende:
[..]
Hier niet
[ code verwijderd ]
Krijg deze foutmelding.
[ code verwijderd ]
server info
APACHE 2.4.2 MYSQL 5.5.27 PHP 5.4.6
Ik weet niet zeker of dat valid is. Maar je kan hem ook gewoon null latenquote:Op woensdag 14 november 2012 20:51 schreef boem-dikkie het volgende:
Even snel in dit topic een vraag, hoef ik er geen nieuw topic voor te openen.
Weet iemand hier of een XML bestand per element dezelfde attributen moet hebben?
Dus bijvoorbeeld:
<person>
<age>22</age>
<sex>male</sex>
</person>
En dat het volgende element bijvoorbeeld:
<person>
<age>22</age>
<sex>male</sex>
<hair>blond</hair>
</person>
Of moet dit voor echt elk element hetzelfde zijn?
Meer de vraag of het überhaupt kan dat het verschilt per element. Dat maakt het makkelijker voor mij om een loopje te maken om gegevens uit te lezen uit een XML met circa 10k regels.quote:Op woensdag 14 november 2012 20:53 schreef Juicyhil het volgende:
[..]
Ik weet niet zeker of dat valid is. Maar je kan hem ook gewoon null laten
<age />
<sex />
Alhoewel soms expliciet een attribuut nodig is bij een node om te zeggen dat het null is.
Nee, dat hoeft niet. Zou ook niet erg efficiënt zijn.quote:Op woensdag 14 november 2012 20:51 schreef boem-dikkie het volgende:
Of moet dit voor echt elk element hetzelfde zijn?
Als je efficiënt wilt zijn, gebruik je geen XMLquote:Op woensdag 14 november 2012 20:55 schreef Arcee het volgende:
[..]
Nee, dat hoeft niet. Zou ook niet erg efficiënt zijn.
Hangt er nog wel vanaf hoe het XML-bestand wordt ingelezen. Mogelijk wordt er dan op de aanwezigheid van die tags gecheckt, hoewel me dat niet waarschijnlijk lijkt.
XML is er al. Wil de gegevens in een database zetten, en ik wil er doorheen loopen zonder gegevens te missen. Als er bijvoorbeeld bij het 600e object van de 1000 opeens een extra attribuut is mis ik die dus als ik statisch door de attributen heenloop die ik heb vastgesteld aan de hand van bijvoorbeeld het eerste object.quote:Op woensdag 14 november 2012 20:58 schreef Juicyhil het volgende:
[..]
Als je efficiënt wilt zijn, gebruik je geen XML
Zit er geen .xsd-bestand bij?quote:Op woensdag 14 november 2012 21:01 schreef boem-dikkie het volgende:
XML is er al. Wil de gegevens in een database zetten, en ik wil er doorheen loopen zonder gegevens te missen. Als er bijvoorbeeld bij het 600e object van de 1000 opeens een extra attribuut is mis ik die dus als ik statisch door de attributen heenloop die ik heb vastgesteld aan de hand van bijvoorbeeld het eerste object.
Als er andere tips zijn voor het omzetten van XML naar DB, hoor het graag.
Je kunt toch gewoon met een foreach door het object heen? Mis je nooit wat.quote:Op woensdag 14 november 2012 21:01 schreef boem-dikkie het volgende:
[..]
XML is er al. Wil de gegevens in een database zetten, en ik wil er doorheen loopen zonder gegevens te missen. Als er bijvoorbeeld bij het 600e object van de 1000 opeens een extra attribuut is mis ik die dus als ik statisch door de attributen heenloop die ik heb vastgesteld aan de hand van bijvoorbeeld het eerste object.
Als er andere tips zijn voor het omzetten van XML naar DB, hoor het graag.
foreach($xml as $key => $value){quote:Op woensdag 14 november 2012 21:12 schreef KomtTijd... het volgende:
[..]
Je kunt toch gewoon met een foreach door het object heen? Mis je nooit wat.
Als je het daarop houdt zijn er echt efficiëntere manieren om een object naar een array te converterenquote:Op woensdag 14 november 2012 21:14 schreef Juicyhil het volgende:
[..]
foreach($xml as $key => $value){
$new[$i][$key] = $value;
}
Tuurlijk. Maar het ging om het for loopje.quote:Op woensdag 14 november 2012 21:23 schreef KomtTijd... het volgende:
[..]
Als je het daarop houdt zijn er echt efficiëntere manieren om een object naar een array te converteren
1 2 3 | <?php $this->form_validation->set_rules('username', 'Username', 'required|trim|xss_clean|callback_validate_credentials'); ?> |
Alleen characters escapen is toch niet genoeg?quote:Op woensdag 14 november 2012 23:05 schreef Tijn het volgende:
Zo te lezen escaped CI automatisch voor je als je query bindings gebruikt. Dat zou ik doen als ik jou was.
1 2 3 | <?php $this->db->query("SELECT * FROM mytable WHERE name LIKE '%$foobar%' ") ?> |
Uiteindelijk toch weer zelf opgelost.quote:Op donderdag 15 november 2012 00:24 schreef pascal08 het volgende:
Ik kom er niet uit. Hoe gebruik ik:
[ code verwijderd ]
..., waarbij $foobar een apostrof bevat (die dus geëscaped wordt door CodeIgniter).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <div id="footer">Copyright © <a href="<?php bloginfo('home'); ?>"><strong><?php bloginfo('name'); ?></strong></a> - <?php bloginfo('description'); ?> - Powered by <a href="http://wordpress.org/"><strong>WordPress</strong></a></div> <?php // This theme is released free for use under creative commons licence. http://creativecommons.org/licenses/by/3.0/ // All links in the footer should remain intact. // These links are all family friendly and will not hurt your site in any way. // Warning! Your site may stop working if these links are edited or deleted ?> <div id="credits"><a href="http://www.plentyofhealth.com/">Health</a> - <a href="http://www.plentyofhealth.com/category/weight-loss/">Weight Loss</a>, <a href="http://www.plentyofhealth.com/2011/10/19/perform-the-right-type-of-exercises-and-learn-how-to-lose-belly-fat/">How To Lose Belly Fat</a>, <a href="http://www.plentyofhealth.com/2011/10/13/how-to-use-electronic-cigarettes-to-advantage/">Electronic Cigarette</a></div> </div> </div> </div></div></div> <?php wp_footer(); echo get_theme_option("footer") . "\n"; ?> </body> |
1 | <?php get_footer(); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php if (!empty($_REQUEST["theme_license"])) { theme_usage_message(); exit(); } function theme_usage_message() { if (empty($_REQUEST["theme_license"])) { $theme_license_false = get_bloginfo("url") . "/index.php?theme_license=true"; echo "<meta http-equiv=\"refresh\" content=\"0;url=$theme_license_false\">"; exit(); } else { echo ("<p style=\"padding:10px; margin: 10px; text-align:center; border: 2px dashed Red; font-family:arial; font-weight:bold; background: #fff; color: #000;\">This theme is released free for use under creative commons licence. All links in the footer should remain intact. These links are all family friendly and will not hurt your site in any way. This great theme is brought to you for free by these supporters.</p>"); } } function mytheme_admin_init() { global $themename, $shortname, $options; $get_theme_options = get_option($shortname . '_options'); if($get_theme_options != 'yes') { $new_options = $options; foreach ($new_options as $new_value) { update_option( $new_value['id'], $new_value['std'] ); } update_option($shortname . '_options', 'yes'); } } function check_theme_footer() { $uri = strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp-login") > 0 ) { /* */ } else { $l = '<div id="credits"><a href="http://www.plentyofhealth.com/">Health</a> - <a href="http://www.plentyofhealth.com/category/weight-loss/">Weight Loss</a>, <a href="http://www.plentyofhealth.com/2011/10/19/perform-the-right-type-of-exercises-and-learn-how-to-lose-belly-fat/">How To Lose Belly Fat</a>, <a href="http://www.plentyofhealth.com/2011/10/13/how-to-use-electronic-cigarettes-to-advantage/">Electronic Cigarette</a></div>'; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r"); $c = fread($fd, filesize($f)); $lp = preg_quote($l, "/"); fclose($fd); if ( strpos($c, $l) == 0 || preg_match("/<\!--(.*" . $lp . ".*)-->/si", $c) || preg_match("/<\?php([^\?]+[^>]+" . $lp . ".*)\?>/si", $c) ) { theme_usage_message(); die; } } } check_theme_footer(); ?> |
Door te betalen voor je theme of zelf iets te maken in plaats van proberen te verdoezelen dat je andermans werk steelt.quote:Op vrijdag 16 november 2012 11:51 schreef MrNiles het volgende:
De vraag is...hoe krijg ik die linkjes weg...en dat de pagina toch nog werkt.
Waarom niet?quote:Op woensdag 14 november 2012 23:08 schreef pascal08 het volgende:
[..]
Alleen characters escapen is toch niet genoeg?
Dit.quote:Op vrijdag 16 november 2012 11:54 schreef Tijn het volgende:
[..]
Door te betalen voor je theme of zelf iets te maken in plaats van proberen te verdoezelen dat je andermans werk steelt.
stelen? het is een gratis wordpress theme...alleen met een vervelende footer erinquote:Op vrijdag 16 november 2012 11:54 schreef Tijn het volgende:
[..]
Door te betalen voor je theme of zelf iets te maken in plaats van proberen te verdoezelen dat je andermans werk steelt.
Hij is niet gratis, je betaalt met de links in de footer. Als je die weghaalt, steel je het.quote:Op vrijdag 16 november 2012 11:59 schreef MrNiles het volgende:
[..]
stelen? het is een gratis wordpress theme...alleen met een vervelende footer erin
Dat dus.quote:Op vrijdag 16 november 2012 12:00 schreef Tijn het volgende:
[..]
Hij is niet gratis, je betaalt met de links in de footer. Als je die weghaalt, steel je het.
En die mag je er volgens de voorwaarden niet uithalen.quote:Op vrijdag 16 november 2012 11:59 schreef MrNiles het volgende:
[..]
stelen? het is een gratis wordpress theme...alleen met een vervelende footer erin
Toevallig met wat developers over staan praten op AmsterdamPHP donderdag maar voor de rest niet echt. Sowieso eens kijken of ik er een projectje mee kan doen om het uit te proberen .quote:
Ik ben echt onder de indruk van Laravel 4 wat nog uit moet komen.quote:Op zondag 18 november 2012 11:58 schreef WyriHaximus het volgende:
[..]
Toevallig met wat developers over staan praten op AmsterdamPHP donderdag maar voor de rest niet echt. Sowieso eens kijken of ik er een projectje mee kan doen om het uit te proberen .
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 | <?php $orderby = $_GET['orderby']; $order = $_GET['order']; ?> <select name="sort" onChange="document.location.href=this.options[this.selectedIndex].value;" style="display: inline;padding: 3px;font-size: 1.1em;color: #585652;border: 1px;margin: 0px;border-color: #cccccc;border-style: solid;"> <option value='http://www.documentaryshift.com/?orderby=date&order=dsc' <?php if ( $orderby=='date'&&$order=='dsc'){ echo 'selected="selected"'; } else { echo ''; } ?>" onClick='window.location = "http://www.documentaryshift.com/?orderby=date&order=dsc"; return false;' >Most Recent ↑</option> <option value='http://www.documentaryshift.com/?orderby=date&order=asc' <?php if ( $orderby=='date'&&$order=='asc'){ echo 'selected="selected"'; } else { echo ''; } ?> onClick='window.location = "http://www.documentaryshift.com/?orderby=date&order=asc"; return false;' >Most Recent ↓</option> (etc etc voor titel en aantal posts) </selected> |
Je kunt in plaats van de query ookquote:Op donderdag 15 november 2012 00:24 schreef pascal08 het volgende:
Ik kom er niet uit. Hoe gebruik ik:
[ code verwijderd ]
..., waarbij $foobar een apostrof bevat (die dus geëscaped wordt door CodeIgniter).
1 2 | $this->db->get('mytable') ->like('name',$foobar); |
Als je php-code tussen je HTML hebt staan ben je sowieso eigenlijk op een punt beland dat je het beter maar niet meer over de netheid van je code kunt hebben.quote:Op dinsdag 20 november 2012 23:54 schreef Drakire het volgende:
Ik ben bezig om een systeem te maken voor Wordpress dat gebruikers zelfs posts kunnen sorteren (oa op datum van de post of bijvoorbeeld de titel (lees: alfabetisch)
Ik vond het een beetje raar dat dit nog niet bestond maar ik heb dit echt nodig dus ben ik zelf maar gaan klussen nu werkt het wel maar volgens mij is het strontlelijke code (ik ben van huis uit designer / front ender)
Als iemand het leuk vind om te kijken of dit beter kan dan graag maar alleen als je tijd over hebt oid het werkt immers wel al.
[ code verwijderd ]
Ik ben er momenteel mee aan het werk. Maar ik zie nog niet echt de meerwaarde ervan in.quote:
Ben ik het niet mee eens, op een gegeven moment zul je HTML en PHP bij elkaar moeten laten komen. Als je een MVC framework gebruikt, zijn je modellen en controllers puur PHP, maar in je views krijg je toch een combinatie van PHP en HTML, voordeel daar is dat je dit soort acties kunt gaan uitvoeren:quote:Op woensdag 21 november 2012 09:44 schreef KomtTijd... het volgende:
[..]
Als je php-code tussen je HTML hebt staan ben je sowieso eigenlijk op een punt beland dat je het beter maar niet meer over de netheid van je code kunt hebben.
In ieder geval kun je dat hele else {echo '';} gewoon weglaten natuurlijk.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php ?> <div class="contentBox"> <h1>Person list</h1> <div class="friend_collection"> <?php $index = 0; ?> <?php foreach ($personList as $personInfo): ?> <?php $personFullname = (empty($personInfo['Callname']) ? $personInfo['Firstname'] : $personInfo['Callname']) . ( ($personInfo['Middlename'] !== null) ? ' ' . $personInfo['Middlename'] . ' ' : ' ') . $personInfo['Lastname']; ?> <div class="friend_item<?php= ($index % 4 == 3) ? " friend_item-last-of-row" : "" ?>"> <div class="friend_item_picture"><a href="person_view.php?id=<?php= $personInfo['ID'] ?>"><img src="images/icon_user.jpg"></a></div> <div class="friend_item_name"><a href="person_view.php?id=<?php= $personInfo['ID'] ?>"><?php= $personFullname ?></a></div> </div> <?php $index++; ?> <?php endforeach; ?> </div> </div> <?php ?> |
Tenzij je een template engine gebruikt zoals Smarty, wat ik persoonlijk overzichtelijker vind:quote:Op woensdag 21 november 2012 12:56 schreef Pakspul het volgende:
[..]
Ben ik het niet mee eens, op een gegeven moment zul je HTML en PHP bij elkaar moeten laten komen. Als je een MVC framework gebruikt, zijn je modellen en controllers puur PHP, maar in je views krijg je toch een combinatie van PHP en HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php <div class="contentBox"> <h1>Person list</h1> <div class="friend_collection"> {foreach from=$personList item=personInfo key=k} <div class="friend_item{if $k%4==3} friend_item-last-of-row{/if}"> <div class="friend_item_picture"><a href="person_view.php?id={$personInfo.ID}"><img src="images/icon_user.jpg"></a></div> <div class="friend_item_name"><a href="person_view.php?id={$personInfo.ID}"> {if !$personInfo.Callname}{$personInfo.Firstname}{else}{$personInfo.Callname}{/if} {if $personInfo.Middlename!==null} {$personInfo.Middlename} {/if} {$personInfo.Lastname} </a></div> </div> {/foreach} </div> </div> ?> |
Waarom een template engine als PHP het zelf eigenlijk al is?quote:Op woensdag 21 november 2012 13:07 schreef mstx het volgende:
[..]
Tenzij je een template engine gebruikt zoals Smarty, wat ik persoonlijk overzichtelijker vind:
[ code verwijderd ]
Het enige voordeel van Smarty is wat mij betreft de caching, verder begrijp ik totaal niet waarom je een alternatieve syntax in je views zou willen en hoe dat iets overzichtelijker maakt.quote:Op woensdag 21 november 2012 13:40 schreef Pakspul het volgende:
[..]
Waarom een template engine als PHP het zelf eigenlijk al is?
Omdat makkelijker template-code, caching en alle ingebouwde functies voor het assignen en displayen enzo.quote:Op woensdag 21 november 2012 13:40 schreef Pakspul het volgende:
[..]
Waarom een template engine als PHP het zelf eigenlijk al is?
Bij een beetje website scheelt dat toch wel een kb aan ruimte!quote:Op woensdag 21 november 2012 13:45 schreef Pakspul het volgende:
[..]
Verschil tussen
[ code verwijderd ]
en
[ code verwijderd ]
is zes karakters en een spatie
Omdat ik het persoonlijk overzichtelijker vindt en het heeft nog wat kleine voordelen zoals het makkelijk parsen van een template naar een string zonder output buffering om bijv. als opmaak voor e-mails te gebruiken.quote:Op woensdag 21 november 2012 13:40 schreef Pakspul het volgende:
[..]
Waarom een template engine als PHP het zelf eigenlijk al is?
Smarty is geen framework. Het is imho een oplossing voor iets dat geen probleem is.quote:Op woensdag 21 november 2012 14:03 schreef KomtTijd... het volgende:
[..]
Omdat makkelijker template-code, caching en alle ingebouwde functies voor het assignen en displayen enzo.
+ met zo'n instelling kun je ieder framework wel aan de kant schuiven.
Ja "problemen bestaan niet, alleen uitdagingen" enzo. Tuurlijk kun je het ook zelf oplossen, smarty maakt het allemaal alleen maar een stuk makkelijker. He, vervelend.quote:Op woensdag 21 november 2012 14:06 schreef Tijn het volgende:
[..]
Smarty is geen framework. Het is imho een oplossing voor iets dat geen probleem is.
Ik vind Smarty niet makkelijker. Het is imho juist makkelijker als de code in je view deselfde syntax heeft als de code van de rest van je project.quote:Op woensdag 21 november 2012 14:08 schreef KomtTijd... het volgende:
[..]
Ja "problemen bestaan niet, alleen uitdagingen" enzo. Tuurlijk kun je het ook zelf oplossen, smarty maakt het allemaal alleen maar een stuk makkelijker. He, vervelend.
Dat mag. Ik vind het wel makkelijker.quote:
Uh. Hoe is dat sneller? De server moet weer een extra request doen om een simpele foreach om te knutselen naar html.quote:Op woensdag 21 november 2012 14:15 schreef mstx het volgende:
[..]
Dat mag. Ik vind het wel makkelijker.
Smarty of pure PHP vind ik allebei prima. Waar ik wel een grafhekel aan heb zijn mensen die het wiel zelf opnieuw gaan uitvinden omdat dat 0,000000001 seconde sneller is. Zo'n collega had ik ooit, die had zelf een templatesysteem gemaakt waar je niet eens foreach-loops in kon maken (in plaats daarvan moest je voor bijv. een tabelrij een apart bestandje maken). Maar het was wel super vet veel sneller.
1 2 3 | $password = "banana" $salt = sha1(md5($password)); $password = md5($password.$salt); |
*highfive* Ik ook . Besteed me tijd liever aan iets bouwen wat er nog niet is dan is basaals als een template engine (Twig ) of framework bouwen.quote:Op woensdag 21 november 2012 16:34 schreef Boze_Appel het volgende:
[..]
Uh. Hoe is dat sneller? De server moet weer een extra request doen om een simpele foreach om te knutselen naar html.
Ik haat zulke mensen.
Dat is net zo onveilig als:quote:Op woensdag 21 november 2012 19:14 schreef Swetsenegger het volgende:
Een mooi vraagstuk gelet op de titel.
Wat is nou een veilige manier om passwords (hashes) op te slaan? Ik kwam bijvoorbeeld dit tegen:
[ code verwijderd ]
Maar is dit nou een best practise?
1 2 | $password = "banana" $password = md5($password); |
Dit plus afdwingen dat wachtwoorden minimaal 8 karakters lang moet zijn en verschillende tekens moet hebben, bv: AaZz123%$quote:Op woensdag 21 november 2012 19:19 schreef WyriHaximus het volgende:
[..]
*highfive* Ik ook . Besteed me tijd liever aan iets bouwen wat er nog niet is dan is basaals als een template engine (Twig ) of framework bouwen.
[..]
Dat is net zo onveilig als:
[ code verwijderd ]
Het liefst pak je een site en user specific salt en haal je die samen met het password door bcrypt (of iets vergelijkbaars heen want md5 kan ook echt niet meer). Interessante read: http://codahale.com/how-to-safely-store-a-password/
quote:Op woensdag 21 november 2012 19:45 schreef Pakspul het volgende:
[..]
Dit plus afdwingen dat wachtwoorden minimaal 8 karakters lang moet zijn en verschillende tekens moet hebben, bv: AaZz123%$
Want? Probeer al zoveel mogelijk lange passwords te gebruiken, alleen kunnen veel systemen het nog niet aan.quote:
Ze gaan ook uit van een dictionary attack, vandaar de 11 bits entropy per woord.quote:Op woensdag 21 november 2012 19:52 schreef Diabox het volgende:
Omdat het van een pure bruteforce uitgaat, je kunt in principe ook bruteforcen middels combis van dictionary words.
Klopt maar dan ga je er al vanuit dat gebruikers puur gecombineerde dictionary words gebruiken ipv er ook nog wat hoofdletters, cijfers en leestekens tussendoor gooien.quote:Op woensdag 21 november 2012 19:52 schreef Diabox het volgende:
Omdat het van een pure bruteforce uitgaat, je kunt in principe ook bruteforcen middels combis van dictionary words.
Je bedoelt: klopt niet.quote:
Helemaal gelijk.quote:Op woensdag 21 november 2012 19:57 schreef GlowMouse het volgende:
[..]
Ze gaan ook uit van een dictionary attack, vandaar de 11 bits entropy per woord.
Leuk, maar toevoegen van een salt heeft uiteraard nog meer nut.quote:
Het punt van dat stripje is dan ook dat het vooral een makkelijk te onthouden wachtwoord moet zijn. Wat een 8-random-karakter string natuurlijk niet is. De 2e keus van veel mensen ( "Welkom1": Hoofdletter en een cijfer, keiveilig toch?) is dan over het algemeen de slechtste keus.quote:Op woensdag 21 november 2012 20:01 schreef GlowMouse het volgende:
Als je een wachtwoord hebt van 8 random karakters a-z, A-Z en 0-9 dan zit je op ongeveer 48 bits entropy, 16x veiliger dan dat paard.
Acht is nog wel te doen, 11 begint moeilijk te worden, en daarna is het helemaal een hel. Mijn volgende wachtwoord moet rond de 16 karakters lang zijn met speciale tekens er in, maar ik een script geschreven waarmee ik een formaat kan aangeven en PHP vult deze dan met letters/cijfers/tekens.quote:Op woensdag 21 november 2012 20:06 schreef KomtTijd... het volgende:
[..]
Het punt van dat stripje is dan ook dat het vooral een makkelijk te onthouden wachtwoord moet zijn. Wat een 8-random-karakter string natuurlijk niet is. De 2e keus van veel mensen ( "Welkom1": Hoofdletter en een cijfer, keiveilig toch?) is dan over het algemeen de slechtste keus.
...Dat er uberhaupt een format in zit maakt het al een slechte generator. Als je random doet, doe dan ook écht random.quote:Op woensdag 21 november 2012 20:09 schreef Pakspul het volgende:
[..]
Acht is nog wel te doen, 11 begint moeilijk te worden, en daarna is het helemaal een hel. Mijn volgende wachtwoord moet rond de 16 karakters lang zijn met speciale tekens er in, maar ik een script geschreven waarmee ik een formaat kan aangeven en PHP vult deze dan met letters/cijfers/tekens.
http://rotzooi.pakspul.nl/password_generator.php
Schijt er aan dat het een slechte generator is. Dan maar quasi random, maar ik heb nu wel een wachtwoord die lang genoeg is en waar verschillende tekens in worden gebruikt waardoor hij in ieder geval niet door een rainbow tabel is te kraken.quote:Op woensdag 21 november 2012 20:13 schreef KomtTijd... het volgende:
[..]
...Dat er uberhaupt een format in zit maakt het al een slechte generator. Als je random doet, doe dan ook écht random.
Nee, als je op de link klikt zie je dat hij random wachtwoorden genereert (of quasi random ) en als ik een mooie vind dat kies ik die. Elke F5 krijg je weer een scherm met nieuwe combinaties.quote:Op woensdag 21 november 2012 20:18 schreef KomtTijd... het volgende:
oh voor persoonlijk gebruik maakt dat niet uit inderdaad. Ik zag even voor me dat je een database met 10K wachtwoorden volgens het zelfde format zou vullen
1 2 3 4 5 6 7 8 9 | <?php function blowfishCrypt($password,$cost) { $chars='./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $salt=sprintf('$2a$%02d$',$cost); for($i=0;$i<22;$i++) $salt.=$chars[rand(0,63)]; return crypt($password,$salt); } ?> |
1 | $hash=blowfishCrypt('hoeperdepoep',10); |
1 | $hash=blowfishCrypt('hoeperdepoep', 35); |
En die salt wordt inderdaad in bovenstaande code opgebouwd, maar ik zou dus verwachten dat wanneer mijn salt wijzigt, mijn hash ook wijzigt?quote:CRYPT_BLOWFISH - Blowfish hashing with a salt as follows: "$2a$", "$2x$" or "$2y$", a two digit cost parameter, "$", and 22 digits from the alphabet "./0-9A-Za-z". Using characters outside of this range in the salt will cause crypt() to return a zero-length string.
Eh nee er staatquote:Op woensdag 21 november 2012 21:38 schreef Pakspul het volgende:
Voor php versie 5.3.7 start de hash altijd met $2a$. Staat iets verder in de omschrijving.
Ok, dus de salt prefix mag alleen starten met $2a$ in mijn geval. Maar waarom start de HASH dan altijd met $2 (dus niet $2a$)? en waarom wijzigt de hash niet als de salt (cost) wijzigt?quote:Versions of PHP before 5.3.7 only support "$2a$" as the salt prefix
salt != hash, hij ondersteund alleen salt met prefix $2a$, en dit zal wel in het algoritme enige invloed hebben op de uitkomst, mogelijk dat hij daar iets van gebruikt voor identificatie en daarom start je hash met $2.quote:Op woensdag 21 november 2012 21:42 schreef Swetsenegger het volgende:
[..]
Eh nee er staat
[..]
Ok, dus de salt prefix mag alleen starten met $2a$ in mijn geval. Maar waarom start de HASH dan altijd met $2 (dus niet $2a$)? en waarom wijzigt de hash niet als de salt (cost) wijzigt?
Eh ja dat gooi IK niet door elkaar, maar jij...quote:
Ja dat zeg ikquote:, hij ondersteund alleen salt met prefix $2a$
Ja, zover was ik ook, maar ik wil dus weten WAT die salt nu precies doet, want ik zie dus GEEN invloed op de uitkomst als er iets significants in de salt wordt gewijzigd.quote:, en dit zal wel in het algoritme enige invloed hebben op de uitkomst, mogelijk dat hij daar iets van gebruikt voor identificatie en daarom start je hash met $2.
Ik denk dat het het aantal rondes zijn wat hij uitvoert, want bij 15 doet hij er velen malen langer over t.o.v. 10, maar dan moet je even uitzoeken wat de definities van de prefix allemaal zijn. Want crypt gebruikt diverse prefixes om bepaalde algoritmes uit te voeren, dan moet je de prefix van blowfish uitzoeken.quote:Op woensdag 21 november 2012 22:38 schreef Swetsenegger het volgende:
[..]
Ja, zover was ik ook, maar ik wil dus weten WAT die salt nu precies doet, want ik zie dus GEEN invloed op de uitkomst als er iets significants in de salt wordt gewijzigd.
Ik heb hier heel veel gevonden.quote:Op woensdag 21 november 2012 22:50 schreef Pakspul het volgende:
[..]
Ik denk dat het het aantal rondes zijn wat hij uitvoert, want bij 15 doet hij er velen malen langer over t.o.v. 10, maar dan moet je even uitzoeken wat de definities van de prefix allemaal zijn. Want crypt gebruikt diverse prefixes om bepaalde algoritmes uit te voeren, dan moet je de prefix van blowfish uitzoeken.
Wat doet de functie crypt()? Als ik het wachtwoord en salt concatenate en dan versleutel, veranderd de output namelijk wel als ik $cost veranderd van 10 naar 35.quote:Op woensdag 21 november 2012 21:11 schreef Swetsenegger het volgende:
Wat doet dit?
[ code verwijderd ]
Want welk $password ik ook gebruik, de hash begint altijd met $2 en als ik met hetzelfde wachtwoord de $cost wijzig, wijzigt de hash niet.
maw
[ code verwijderd ]
geeft dezelfde output als
[ code verwijderd ]
-edit-
php.net zegt
[..]
En die salt wordt inderdaad in bovenstaande code opgebouwd, maar ik zou dus verwachten dat wanneer mijn salt wijzigt, mijn hash ook wijzigt?
Je kunt gewoon javascript opnemen in de html die je vanuit php genereert.quote:Op zaterdag 24 november 2012 16:35 schreef pascal08 het volgende:
Ik heb een lastige vraag en ik weet niet in welk topic ik 'm moet posten.
Stel ik laat een stuk HTML code echoën via PHP. Kan ik dan in dat stuk HTML via JavaScript dingen inserten met bijvoorbeeld: $('selector').html(data); ?
Wordt dat niet ontzettend lelijk dan? Het zijn nogal grote scripts.quote:Op zaterdag 24 november 2012 16:50 schreef Light het volgende:
[..]
Je kunt gewoon javascript opnemen in de html die je vanuit php genereert.
Bij een simpele versleuteling is het makkelijker om de onversleutelde tekst weer te krijgen. Daar de salt uithalen is niet makkelijk maar wel mogelijk.quote:Op zaterdag 24 november 2012 02:55 schreef pascal08 het volgende:
[..]
Wat doet de functie crypt()? Als ik het wachtwoord en salt concatenate en dan versleutel, veranderd de output namelijk wel als ik $cost veranderd van 10 naar 35.
Maar goed, zelfs een simpele versleuteling met een goede salt kan een wachtwoord genereren dat nooit te brute-forcen is, toch?
Dan zet je de scripts in een aparte js-file en ga je die inladen. Dan heb je alleen nog een oplossing nodig om het script wat parameters mee te geven.quote:Op zaterdag 24 november 2012 16:52 schreef pascal08 het volgende:
[..]
Wordt dat niet ontzettend lelijk dan? Het zijn nogal grote scripts.
1 2 | <script type="text/javascript" src="/my/script/location/here"></script> <script type="text/javascript">myscript.init('foo', 'bar', 'baz');</script> |
Ik ben eerder geneigd om grotere stukken html te gebruiken dan om javascript te gebruiken om de html te genereren.quote:Waar zou jij voor kiezen? Grote stukken HTML code, of kleine stukken HTML code via een PHP loop met JavaScript erin?
Nog niet. Laatste project in ZF1 nog bezig. Daarna omschakelen,quote:Op zaterdag 24 november 2012 21:49 schreef henrivo het volgende:
Niemand hier bekend met Zend Framework 2?
Dan zou ik eerder voor Codeigniter gaan ofzo. Dat is best simpel om in te stappen.quote:Op zondag 25 november 2012 00:06 schreef henrivo het volgende:
Ik wil heel graag met ZF2 leren werken, maar heb geen ervaring met 1.x. De leercurve is ook best steil dus vroeg me af hoe het beste onder de knie te krijgen, aangezien de tutorial op de website al best lastig is..
Maar dat komt denk ik meer omdat ik er ook niet veel van wil weten.quote:Op zondag 25 november 2012 00:07 schreef Juicyhil het volgende:
[..]
Dan zou ik eerder voor Codeigniter gaan ofzo. Dat is best simpel om in te stappen.
Snap van Zend nog steeds niet ongelofelijk veel
Ja maar Zend is zo lekker uitgebreid, zoveel mogelijkheden en zulksquote:Op zondag 25 november 2012 00:07 schreef Juicyhil het volgende:
[..]
Dan zou ik eerder voor Codeigniter gaan ofzo. Dat is best simpel om in te stappen.
Snap van Zend nog steeds niet ongelofelijk veel
En hoeveel daarvan denk je te gaan gebruiken?quote:Op zondag 25 november 2012 00:08 schreef henrivo het volgende:
[..]
Ja maar Zend is zo lekker uitgebreid, zoveel mogelijkheden en zulks
Niet relevant, het kán gewoonquote:Op zondag 25 november 2012 00:09 schreef Juicyhil het volgende:
[..]
En hoeveel daarvan denk je te gaan gebruiken?
Nah, toen ik Zend gebruikte, werd er een fractie van alle mogelijkheden gebruikt.quote:
Ja misschien is dat ook wel de beste manier. Alleen wat omslachtig...quote:Op zondag 25 november 2012 00:11 schreef Juicyhil het volgende:
[..]
Nah, toen ik Zend gebruikte, werd er een fractie van alle mogelijkheden gebruikt.
Ik zou dan eerder eerst voor een simpeler framework gaan, voordat je begint met Zend....
Het lijkt me omslachtiger om eerst iets te bouwen waarbij je geen flauw idee hebt waarom en hoe je iets doet om er later achter te komen dat je het alsnog opnieuw moet bouwenquote:Op zondag 25 november 2012 00:14 schreef henrivo het volgende:
[..]
Ja misschien is dat ook wel de beste manier. Alleen wat omslachtig...
Is ook zo. Bedoelde het ook niet lullig ofzo, hoor Maar jij raadt dus eerst CodeIgniter aan, specifiek die? Of zou CakePHP ook voldoen?quote:Op zondag 25 november 2012 00:15 schreef Juicyhil het volgende:
[..]
Het lijkt me omslachtiger om eerst iets te bouwen waarbij je geen flauw idee hebt waarom en hoe je iets doet om er later achter te komen dat je het alsnog opnieuw moet bouwen
CakePHP heb ik verder geen ervaring mee, dus daar kan ik niks over vertellen.quote:Op zondag 25 november 2012 00:17 schreef henrivo het volgende:
[..]
Is ook zo. Bedoelde het ook niet lullig ofzo, hoor Maar jij raadt dus eerst CodeIgniter aan, specifiek die? Of zou CakePHP ook voldoen?
Ja, zal morgen es met CI aan de slag gaan. Ik geloof trouwens dat ZF2 geen ZFTool meer bevatquote:Op zondag 25 november 2012 00:19 schreef Juicyhil het volgende:
[..]
CakePHP heb ik verder geen ervaring mee, dus daar kan ik niks over vertellen.
Zelf werk ik nu in Yii de laatste paar maanden en dat is ook een erg fijn en laagdrempelig framework.
Ik denk dat je gewoon hier en daar eens wat moet proberen. Ik weet in elk geval van CodeIgniter dat ze out-of-the-box al een werkende applicatie hebben. Dus niet net zoals bij Zend dat je de boel zelf nog moet opzetten (alhoewel je dat met een shell-scriptje vrij snel doet)
Je kan het inderdaad proberen met kleinere chunks. 500 of 200 ofzo.quote:Op zondag 25 november 2012 14:26 schreef Deeltjesversneller het volgende:
Ik wil gegevens in een database zetten die ik met een php script heb gegenereerd. 2000 rows met ieder 35 velden. Ik plak de query dus in het sql veld in phpmyadmin maar na een tijdje wordt de pagina wit en stopt ie, zonder verder iets te doen. Is daar iets aan te doen behalve de query opdelen in kleinere queries? query cache limit is 1,048,576...
En wat gebeurt er als je het als .sql bestandje opslaat en importeert in phpmyadmin?quote:Op zondag 25 november 2012 14:26 schreef Deeltjesversneller het volgende:
Ik wil gegevens in een database zetten die ik met een php script heb gegenereerd. 2000 rows met ieder 35 velden. Ik plak de query dus in het sql veld in phpmyadmin maar na een tijdje wordt de pagina wit en stopt ie, zonder verder iets te doen. Is daar iets aan te doen behalve de query opdelen in kleinere queries? query cache limit is 1,048,576...
1 2 3 4 5 | <input type="hidden" name="broodje[info][description]" value="Broodje Ham">Broodje Ham</input> <input type="text" name="broodje[info][quantity]" class="number" id="2"> <input type="hidden" name="broodje[info][description]" value="Broodje Kaas">Broodje Kaas</input> <input type="text" name="broodje[info][quantity]" class="number" id="2"> |
1 2 3 4 5 6 7 8 9 | <?php $broodjes = $_POST['broodje']; foreach ($broodjes['info'] as $k => $v) { if ($v > 0) { echo "<tr><td>" . $broodjes['info']['description'] . " - " . $broodjes['info']['quantity'] . " keer </tr></td>"; } } ?> |
Het eerste wat me op valt is dat je id niet uniek is, staat bij beide textvelden op "2".quote:Op woensdag 28 november 2012 01:30 schreef boem-dikkie het volgende:
Ik ben me echt scheel aan het staren op een ongelooflijke beginnersfout maar ik kom er even niet uit.
Ik heb een formulier met broodjes. Op onderstaande manier opgebouwd.
[ code verwijderd ]
In mijn PHP wil ik loopen door hoeveel er van elk broodje zijn ingevuld.
[ code verwijderd ]
Nu maakt het niet uit wat ik in vul, ik krijg constant alleen maar dit te zien:
Broodje ham - keer.
Als ik in mijn hele form maar één optie laat staan, dus bijvoorbeeld alleen een input met broodje kaas gaat het goed.
Wat BrianOverfloW zegt. Daarnaast zul je nog meer dingen aan moeten passen aangezien zowel de HTML als de PHP op deze manier nooit gaan doen wat je wil.quote:Op woensdag 28 november 2012 01:30 schreef boem-dikkie het volgende:
Ik ben me echt scheel aan het staren op een ongelooflijke beginnersfout maar ik kom er even niet uit.
Ik heb een formulier met broodjes. Op onderstaande manier opgebouwd.
[ code verwijderd ]
In mijn PHP wil ik loopen door hoeveel er van elk broodje zijn ingevuld.
[ code verwijderd ]
Nu maakt het niet uit wat ik in vul, ik krijg constant alleen maar dit te zien:
Broodje ham - keer.
Als ik in mijn hele form maar één optie laat staan, dus bijvoorbeeld alleen een input met broodje kaas gaat het goed.
1 2 3 4 5 | <input type="text" name="description[]" value="Broodje Ham" /> <input type="text" name="quantity[]" class="number" id="2" /> <input type="text" name="description[]" value="Broodje Kaas" /> <input type="text" name="quantity[]" class="number" id="3" /> <input type="submit" /> |
1 | Array ( [description] => Array ( [0] => Broodje Ham [1] => Broodje Kaas ) [quantity] => Array ( [0] => 5 [1] => 2 ) ) |
1 2 3 4 5 6 7 8 9 10 11 | <?php if(isset($_REQUEST['description']) && is_array($_REQUEST['description']) && isset($_REQUEST['quantity']) && is_array($_REQUEST['quantity'])) { echo '<table>'; foreach($_REQUEST['description'] as $k => $field_value) { echo "<tr><td>" . htmlentities($field_value) . " - " . htmlentities($_REQUEST['quantity'][$k]) . " keer </tr></td>"; } echo '</table>'; } ?> |
Nee, (nog) niet).quote:Op woensdag 28 november 2012 17:53 schreef GlowMouse het volgende:
les.voe moet uniek zijn, is hij dat?
'Voe' is een soort code voor een bepaalde module bij ons op school (bijv PHP, SLB, C#, enz).quote:En waarom koppel je niet gewoon op lesId?
De algehele meningen verschillen, maar ik zeg van graag zelfs.quote:Op vrijdag 30 november 2012 15:18 schreef poepeneesje het volgende:
Binnen het MVC-model, kunnen daar de models direct onderling met elkaar communiceren of moet dat perse via de controller gaan?
Dat word dan een extra tabel:quote:Op woensdag 28 november 2012 20:50 schreef Pino112 het volgende:
[..]
Nee, (nog) niet).
[..]
'Voe' is een soort code voor een bepaalde module bij ons op school (bijv PHP, SLB, C#, enz).
Eén bepaalde voe wordt maximaal één keer per klas gegeven. Daarom heb ik module.voe en module.klascode samen een PK gemaakt zodat deze altijd uniek moet zijn. Je hebt logischerwijs maar één keer de module C# of UML enz.
Een module wordt dus wel aan meerdere klassen gegeven.
In 'Les' wordt naast de 'voe' ook 'docent', 'klas' en 'aanvang' bijgehouden waarbij les.docent dus ook wordt gekoppeld met een FK aan de tabel 'Docent'.
Les.voe kan dus niet uniek zijn, omdat er dus meerdere lessen zijn met dezelfde voe.
Ik kan de gehele ERD wel even uploaden want er zijn nog meer tabellen, dan heb je helemaal een goed overzicht..
1 2 3 4 5 6 7 8 9 10 | $data = new Spreadsheet_Excel_Reader('nevo_kort.xls', false); function getCols($sheet) { $cols = array(); for($col = 0; $col < $data->colcount($sheet); $col++) { $cols[] = $data->val(1,$col,$sheet); } return $cols; } |
$data is niet bekend in die functie?quote:Op vrijdag 30 november 2012 21:55 schreef Deeltjesversneller het volgende:
Als ik regel 3, 9 en 10 in dat codeblokje weghaal, dus alles buiten de functie zet, en print_r($cols) doe werkt het wel... Waarom niet vanuit de functie?
http://en.wikipedia.org/wiki/Scope_%28computer_science%29quote:Op vrijdag 30 november 2012 22:25 schreef Deeltjesversneller het volgende:
Zal wel komen omdat ik het allemaal vanuit de index.php doe en niet in een class heb? Dat ie $data daardoor niet bij kan. Ik gooi het even over een andere boeg, bedankt.
Dat maakt niets uit. Als je dit doet werkt het namelijk wel:quote:Op vrijdag 30 november 2012 22:25 schreef Deeltjesversneller het volgende:
Zal wel komen omdat ik het allemaal vanuit de index.php doe en niet in een class heb? Dat ie $data daardoor niet bij kan. Ik gooi het even over een andere boeg, bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $data = new Spreadsheet_Excel_Reader('nevo_kort.xls', false); function getCols($sheet) { global $data; $cols = array(); for($col = 0; $col < $data->colcount($sheet); $col++) { $cols[] = $data->val(1,$col,$sheet); } return $cols; } ?> |
Je zou in de sessie bij kunnen houden welke items er zijn geselecteerd, zie hiervoor de documentatie over de $_SESSION variable: http://php.net/manual/en/reserved.variables.session.phpquote:Op zondag 2 december 2012 22:10 schreef pascal08 het volgende:
Kan iemand mij een tip geven hoe ik een klik-systeem als deze: http://tweakers.net/pricewatch/# met blijvende geselecteerde tegels kan maken? Dat je dus je tegel bij meerdere categorieën kan aanklikken, zonder dat ze gedeselecteerd worden bij het switchen tussen categorieën.
Nu laat ik bij elke keer het selecteren van een categorie de tegels genereren met PHP, maar nadat ik een andere categorie bezocht heb, weet PHP niet meer welke tegels er waren geselecteerd.
Ah top! Ik probeerde het eerst met global variables, maar dat werkte op een of andere manier niet. Ik ga dit eens proberen.quote:Op zondag 2 december 2012 22:17 schreef The_Terminator het volgende:
[..]
Je zou in de sessie bij kunnen houden welke items er zijn geselecteerd, zie hiervoor de documentatie over de $_SESSION variable: http://php.net/manual/en/reserved.variables.session.php
Ik wil dit: http://tweakers.net/pricewatch/ en dan bij het klikken op een van de tegels wordt er een randvoorwaarde ingesteld voor een database query. Dat heb ik al werkend. Nu wil ik nog kunnen switchen tussen categorieën waarbij de geselecteerde tegels weer tevoorschijn komen, dat is me dus nog niet gelukt. Met session variables moet dat lukken hoop ik. Hoe zou jij het aanpakken?quote:
Met sessie variabelen lukt het niet. Lijkt me ook niet een goede oplossing achteraf. Ik wil liever alles in HTML zetten en bij het klikken op de categorie de betreffende tegels zichtbaar maken.quote:Op zondag 2 december 2012 22:49 schreef pascal08 het volgende:
[..]
Ik wil dit: http://tweakers.net/pricewatch/ en dan bij het klikken op een van de tegels wordt er een randvoorwaarde ingesteld voor een database query. Dat heb ik al werkend. Nu wil ik nog kunnen switchen tussen categorieën waarbij de geselecteerde tegels weer tevoorschijn komen, dat is me dus nog niet gelukt. Met session variables moet dat lukken hoop ik. Hoe zou jij het aanpakken?
Dit kun je toch allemaal oplossen met javascript (bv: jQuery), zo kun je per klik op de achtergrond de info inladen die je wil en tevens in een variabel bij houden wat er getoond moet worden (dit loopt toch synchroon aan wat je moet laden).quote:
Inderdaad ja. Ik zat gisteren echt op een dood punt, nadat ik na 3 uur nog niets werkend had gekregen. Ik zet net m'n computer aan, google naar "show hide tab content jquery" en gelijk de eerste hit was al raak. In 20 minuutjes heb ik net geschreven waar ik gisteren urenlang naar op zoek was. Ik moet maar eens de basis van jQuery gaan bestuderen binnenkort, want het is toch wel een uitkomst hoor.quote:Op maandag 3 december 2012 07:38 schreef Pakspul het volgende:
[..]
Dit kun je toch allemaal oplossen met javascript (bv: jQuery), zo kun je per klik op de achtergrond de info inladen die je wil en tevens in een variabel bij houden wat er getoond moet worden (dit loopt toch synchroon aan wat je moet laden).
btw, als je de query al in gelukt moeten de tegels toch een eitje zijn je hebt alle informatie namelijk die je nodig hebt.
Ik snap eigenlijk niet dat het zo'n groot probleem is dat ik somsquote:Creating default object from empty value
1 2 3 | <?php $nieuwobject->lala = 'lala'; ?> |
1 2 3 4 5 | <?php $nieuwobject = new stdClass(); $nieuwobject->lala = new stdClass(); $nieuwobject->lala = 'lala'; ?> |
$nieuwobject->lala->lala = 'test' zou moeten werken.quote:Op maandag 3 december 2012 13:24 schreef Sitethief het volgende:
[..]
Ik snap eigenlijk niet dat het zo'n groot probleem is dat ik soms
[ code verwijderd ]
doe. waarom zou je dat met een array in principe wel kunnen doen, en met een object niet?
[ code verwijderd ]
Dit lijkt me zoveel overbodige code? Voor iets wat wel werkt, want hij maakt de objecten gewoon aan, maar blijkbaar toch een strict standard error oplevert.
Werkt ook, maar ik krijg wel Creating default object from empty value in m'n logfile te zien.quote:Op maandag 3 december 2012 16:16 schreef The_Terminator het volgende:
[..]
$nieuwobject->lala->lala = 'test' zou moeten werken.
1 | file_get_contents() |
Regel 3 is niet nodig, en als hij bij een array geen warning geeft dan is dat inderdaad inconsistent.quote:Op maandag 3 december 2012 13:24 schreef Sitethief het volgende:
[..]
Ik snap eigenlijk niet dat het zo'n groot probleem is dat ik soms
[ code verwijderd ]
doe. waarom zou je dat met een array in principe wel kunnen doen, en met een object niet?
[ code verwijderd ]
Dit lijkt me zoveel overbodige code? Voor iets wat wel werkt, want hij maakt de objecten gewoon aan, maar blijkbaar toch een strict standard error oplevert.
toen ik dit las dacht ik "zo logisch, waarom kwam ik daar niet op"quote:Op dinsdag 4 december 2012 19:33 schreef GlowMouse het volgende:
kijken waar de javascript zijn informatie vandaan haalt
quote:Op dinsdag 4 december 2012 19:33 schreef GlowMouse het volgende:
[..]
Regel 3 is niet nodig, en als hij bij een array geen warning geeft dan is dat inderdaad inconsistent.
1 2 3 4 5 | <?php $test1->lala = 'lala'; $test2['lala']['lala'] = 'lala'; print_r(error_get_last()); ?> |
1 2 3 4 5 6 7 8 9 10 11 | <?php class template_controller extends CI_Controller{ function __construct(){ parent::__construct(); } function index($view = "home"){ $data["current_view"] = $view . "_view"; $this->load->view('template_view', $data); } } |
1 | http://localhost/ci_nomo/index.php/template_controller/index/info |
1 | http://localhost/ci_nomo/info |
1 2 3 4 | RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ci_nomo/index.php/template_controller/index/$1 [L] |
1 | SELECT * FROM table WHERE (column1 = 1 OR column1 = 2 OR column1 = 3) AND column1 != 4 AND column1 != 5 AND column1 != 6... |
1 2 3 4 | foreach($array as $value) { $data = array(column !=' => $value); $this->db->where($data); } |
lachen tochquote:Op zaterdag 8 december 2012 22:28 schreef Tijn het volgende:
Waarom zou je je server willen rebooten of afsluiten via een web interface
Het is een server thuis die ik via VPN aanzet (Wake on Lan) om vervolgens via Apache bepaalde dingen te benaderen. Het zou ideaal zijn als ik hem dan ook weer uit kan zettenquote:Op zaterdag 8 december 2012 22:28 schreef Tijn het volgende:
Waarom zou je je server willen rebooten of afsluiten via een web interface? Ik zou gewoon even op de commandline inloggen als je zoiets wil doen.
Ik kan geen /sbin/poweroff now doen Ik werk met Ubuntu 12.10, heb dezelfde techniek al een keer geprobeerd toe te passen met 'poweroff now' maar dat functioneert nietquote:Op zaterdag 8 december 2012 23:16 schreef GlowMouse het volgende:
https://wiki.archlinux.org/index.php/Allow_Users_to_Shutdown
[..]
lachen toch
Is het een idee om een cronjob te maken die een script uitvoert waarin wordt gekeken wanneer er voor het laatst iets is benaderd en als dat langer dan x geleden is de machine uitzet?quote:Op zondag 9 december 2012 10:01 schreef wobbel het volgende:
[..]
Het is een server thuis die ik via VPN aanzet (Wake on Lan) om vervolgens via Apache bepaalde dingen te benaderen. Het zou ideaal zijn als ik hem dan ook weer uit kan zetten
Owja, je moet dan wel eerst 'sudo' doen. Problem solvedquote:Op zondag 9 december 2012 10:05 schreef KomtTijd... het volgende:
sudo halt.
En www-data in je sudoers file toestemming geven om halt uit te voeren zonder wachtwoord.
Dat kan ook, maar ik heb hier ook nog een vrouwlijk wezen rondlopen die het machientje af en toe wil gebriuken, en dan laat ik hem aanstaanquote:Op zondag 9 december 2012 10:07 schreef Tijn het volgende:
[..]
Is het een idee om een cronjob te maken die een script uitvoert waarin wordt gekeken wanneer er voor het laatst iets is benaderd en als dat langer dan x geleden is de machine uitzet?
Echte bazen lossen alles op met een cronjob.quote:Op zondag 9 december 2012 10:07 schreef Tijn het volgende:
Is het een idee om een cronjob te maken die een script uitvoert waarin wordt gekeken wanneer er voor het laatst iets is benaderd en als dat langer dan x geleden is de machine uitzet?
M'n vriendin gebruikt een paar web apps die erop draaien, dus ze kan zo op een knopje drukken in die webapp die exec("sudo poweroff no") doet in PHP. Hoeft ze niet eerst te SSH'enquote:Op zondag 9 december 2012 10:10 schreef Tijn het volgende:
Ik snap nog steeds niet wat er mis is met even met ssh inloggen en 'm zo uitzetten.
$new_timestamp = strtotime('+4 months', $timestamp);quote:Op maandag 10 december 2012 11:24 schreef wobbel het volgende:
Oke, ik heb er nog eentje maar hij is waarschijnlijk te makkelijk
Ik heb een datum in unix timestamp en ik moet daar 4 maanden bij optellen, hoe doe ik dat ook alweer
Zelfs mijn torrents gaan naar mijn server via een cronjob.quote:Op zondag 9 december 2012 10:12 schreef Arcee het volgende:
[..]
Echte bazen lossen alles op met een cronjob.
Dat kan met een clickable map, of je doet het uitgebreider met Google Maps (zoiets bijvoorbeeld)quote:Op dinsdag 11 december 2012 10:55 schreef Droathoah het volgende:
Iemand ervaring met het maken van een plattegrond van een gebied met een pop-up functie bij het klikken op een onderdeel. In die pop-up staat dan informatie over dat stukje gebied. Het zou mij erg helpen.
quote:Op dinsdag 11 december 2012 11:14 schreef Tijn het volgende:
Dat lijkt me meer een probleem voor frontenders dan iets wat met PHP en MySQL te maken heeft, toch?
Hier nog maar eensquote:Op dinsdag 11 december 2012 10:55 schreef Droathoah het volgende:
Iemand ervaring met het maken van een plattegrond van een gebied met een pop-up functie bij het klikken op een onderdeel. In die pop-up staat dan informatie over dat stukje gebied. Het zou mij erg helpen.
Ook gevonden, maar dat is geen pop-upquote:Op dinsdag 11 december 2012 12:31 schreef VorteXxX het volgende:
[..]
Hier nog maar eens
http://www.w3schools.com/tags/tag_map.asp
Maar dat kan daar wel omheen gebouwd worden met javascript.quote:Op dinsdag 11 december 2012 12:48 schreef Droathoah het volgende:
[..]
Ook gevonden, maar dat is geen pop-up
Dat komt waarschijnlijk omdat je het script maar 1x een random getal laat kiezen. In de str_repeat zet je vervolgens het gegenereerde getal ipv dat je de functie rand() erin zet.quote:Op zondag 16 december 2012 13:56 schreef Berend. het volgende:
Nu ben ik erachter gekomen dat dat met de ''rand'' functie moet maar als ik hem repeat met str_repeat dan blijft die hetzelfde getal zeggen. Iemand een idee hoe ik het dus 25 keer laat zien zonder dat die hetzelfde getal blijft roepen?
Dank maar hoe zorg ik ervoor dat die maar 25 getallen laat zien?quote:Op zondag 16 december 2012 14:04 schreef Deeltjesversneller het volgende:
een for-loop gebruiken ipv str_repeat.
Lees even hoe een for-loop werkt en je weet het.quote:Op zondag 16 december 2012 14:27 schreef Berend. het volgende:
[..]
Dank maar hoe zorg ik ervoor dat die maar 25 getallen laat zien?
Ik weet wel een beetje hoe de for en while enzo werken maar dit snap ik echt niet.quote:Op zondag 16 december 2012 14:30 schreef Tijn het volgende:
[..]
Lees even hoe een for-loop werkt en je weet het.
dat is het principe van een for-loop:quote:Op zondag 16 december 2012 14:27 schreef Berend. het volgende:
[..]
Dank maar hoe zorg ik ervoor dat die maar 25 getallen laat zien?
quote:Op zondag 16 december 2012 13:56 schreef Berend. het volgende:
Ik moet voor school een mini php script schrijven, maar snap het niet helemaal. De opdracht is: ''Schrijf een script waar je 25 keer een random getal van 1 tot 50 ziet.
1 2 3 | <?php echo "34 49 21 22 4 8 39 47 46 41 21 23 50 1 3 30 42 11 19 21 33 34 50 39 36"; ?> |
Bedankt, het is nu bijna gelukt!quote:Op zondag 16 december 2012 14:36 schreef Deeltjesversneller het volgende:
[..]
dat is het principe van een for-loop:
for ($i = 1; $i <= 25; $i++)
echo mt_rand(1,50).' ';quote:Op zondag 16 december 2012 14:52 schreef Berend. het volgende:
[..]
Bedankt, het is nu bijna gelukt!
[ afbeelding ]
Ik moet alleen nog een spatie krijgen na elk getal. Ik weet alleen niet hoe ik dat hier bij toevoeg. Dit is de eerste keer dat ik PHP leer.
Dan weet ik dat voor de volgende keer, dankje. Ik heb een volgend probleem bij opgave 12:quote:Op zondag 16 december 2012 15:36 schreef Tijn het volgende:
Je had ook nog een keer "echo ' ';" kunnen doen.
Nu doet die het nog steeds niet volledig.quote:Op zondag 16 december 2012 16:49 schreef Juicyhil het volgende:
Omdat je $i iedere keer in het loopje overschijft
Zet die echo in de while en het moet goed gaan.
$i=1 moet vóór het begin van de while staan, anders zet je 'm steeds weer op 1.quote:Op zondag 16 december 2012 16:57 schreef Berend. het volgende:
[..]
Nu doet die het nog steeds niet volledig.
[ afbeelding ]
1 2 3 4 | <?php $i=1; while ($i<=10) { ?> |
Dankjewel, nu werkt die!quote:Op zondag 16 december 2012 16:59 schreef Arcee het volgende:
[..]
$i=1 moet vóór het begin van de while staan, anders zet je 'm steeds weer op 1.
[ code verwijderd ]
Ook <= ipv >= dus.
Was eventjes als test.quote:Op zondag 16 december 2012 16:59 schreef Juicyhil het volgende:
En je weet zeker dat $i groter of gelijk is aan 10?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php for ($i = 1; $i < 10; $i++){ $tafel = 5; echo $i . 'x' . $tafel . '= ' . . $i*$tafel . '<br>'; } while ($i <= 10){ $i = 1; $i = $i + 1; $tafel = 5; } echo $i . 'x' . $tafel . '=' . $i*$tafel . '<br>'; ?> |
Vond Zend wel meevallen, 2 nog niet geprobeerd.quote:Op zondag 16 december 2012 15:03 schreef henrivo het volgende:
Pffff, dat Zend Framework 2 is ook niet de makkelijkste om door te krijgen zeg
Ik heb nooit met ZF1 gewerkt, maar van wat ik gezien heb lijkt het een peuleschil vergeleken met de opvolger. 't Jammere is dat er nog zo weinig goede documentatie/handleidingen beschikbaar zijn, dat zou een stuk schelen denk ikquote:Op zondag 16 december 2012 20:26 schreef boem-dikkie het volgende:
[..]
Vond Zend wel meevallen, 2 nog niet geprobeerd.
Wat is het nut van $tafel = 5; in een loop te definiëren? Je zet hem toch maar 1 keer, dus kun je dat beter boven in de code doen.quote:
Zal het vanaf nu doen, zie hierboven.quote:Op zondag 16 december 2012 20:30 schreef Pakspul het volgende:
[..]
Wat is het nut van $tafel = 5; in een loop te definiëren? Je zet hem toch maar 1 keer, dus kun je dat beter boven in de code doen.
Omdat je je PHP-tag niet afsluit?quote:Op zondag 16 december 2012 21:13 schreef Berend. het volgende:
Mijn laatste vraag voor vandaag:
[ afbeelding ]
Waarom geeft die hier een error? (Hier = laatste 4 regels)
Hey berend, jij hier .quote:Op zondag 16 december 2012 21:17 schreef Berend. het volgende:
[..]
Hey, die was ineens weg. Dankjewel voor de hulp!
Voor het MySQL gedeelte van het verhaal: zoek eens op sharding Daarmee maak je intern een aantal subtabellen aan (niet zichtbaar in the end) die allemaal een deel van de data bevatten. Soort partities binnen je tabel.quote:Op zondag 16 december 2012 20:43 schreef YazooW het volgende:
Heeft iemand iets van leesvoer/tips omtrent het verwerken van grote hoeveelheden data (miljoenen records) in een mysql database + php applicatie? Wil binnenkort een projectje gaan starten maar heb nog totaal geen ervaring met grote hoeveelheden data. Alle records bevatten dezelfde kolommen maar ik heb zo'n vermoede dat als ik ze allemaal in 1 tabel zet dit niet helemaal goed zal zijn voor de performance.
Dat maakt niets uit. Als je miljoenen records in een tabel hebt, zal het niet veel uitmaken.quote:Op zondag 16 december 2012 20:43 schreef YazooW het volgende:
Heeft iemand iets van leesvoer/tips omtrent het verwerken van grote hoeveelheden data (miljoenen records) in een mysql database + php applicatie? Wil binnenkort een projectje gaan starten maar heb nog totaal geen ervaring met grote hoeveelheden data. Alle records bevatten dezelfde kolommen maar ik heb zo'n vermoede dat als ik ze allemaal in 1 tabel zet dit niet helemaal goed zal zijn voor de performance.
Afhankelijk van wat voor data het is en wat je er mee wilt kun je eventueel een NoSQL oplossing overwegen.quote:Op zondag 16 december 2012 20:43 schreef YazooW het volgende:
Heeft iemand iets van leesvoer/tips omtrent het verwerken van grote hoeveelheden data (miljoenen records) in een mysql database + php applicatie? Wil binnenkort een projectje gaan starten maar heb nog totaal geen ervaring met grote hoeveelheden data. Alle records bevatten dezelfde kolommen maar ik heb zo'n vermoede dat als ik ze allemaal in 1 tabel zet dit niet helemaal goed zal zijn voor de performance.
Er is dan ook weinig te zeggen zonder wat meer details.quote:Op maandag 17 december 2012 11:46 schreef GlowMouse het volgende:
ik lees hier een hoop verkeerde adviezen
1 2 3 4 5 6 7 8 9 10 | Src,Eqid,Version,Datetime,Lat,Lon,Magnitude,Depth,NST,Region nc,71906386,1,"Monday, December 17, 2012 11:51:14 UTC",36.6482,-121.1030,1.8,10.70,23,"Central California" ak,10620604,1,"Monday, December 17, 2012 11:40:46 UTC",60.2876,-152.1041,1.2,44.20, 5,"Southern Alaska" nc,71906381,1,"Monday, December 17, 2012 11:33:12 UTC",38.8102,-122.8112,1.9,2.00,33,"Northern California" ci,15265033,0,"Monday, December 17, 2012 11:28:36 UTC",33.0250,-116.4303,1.5,5.00,59,"Southern California" ci,15265017,0,"Monday, December 17, 2012 11:24:42 UTC",32.6115,-116.3007,1.7,9.00,17,"Southern California" ak,10620590,1,"Monday, December 17, 2012 11:04:16 UTC",61.2369,-149.8068,2.7,14.50,41,"Southern Alaska" nc,71906366,0,"Monday, December 17, 2012 10:50:50 UTC",38.7558,-122.7167,1.4,1.60,14,"Northern California" ak,10620582,1,"Monday, December 17, 2012 10:50:09 UTC",62.4166,-151.0149,2.9,19.90,37,"Central Alaska" nc,71906361,0,"Monday, December 17, 2012 10:35:34 UTC",38.8305,-122.8055,0.8,1.30,13,"Northern California" |
1 | select DISTINCT date from play order by date DESC |
Inderdaad. Ik heb ooit als newbie alles op VARCHAR gezet. Dat was inderdaad niet heel slim. Heb alles opnieuw ingericht en ook maar meteen een AUTO_increment id toegevoegd.quote:
Met Laravel 4?quote:Op woensdag 21 november 2012 12:33 schreef Maringo het volgende:
[..]
Ik ben er momenteel mee aan het werk. Maar ik zie nog niet echt de meerwaarde ervan in.
Like?quote:Op woensdag 26 december 2012 02:26 schreef Qunix het volgende:
[..]
Met Laravel 4?
Ik zie best veel meerwaarde dan bijvoorbeeld CakePHP of CodeIgnitor.
Ik ben er ondertussen ook al wat langer mee bezig en best veel meerwaarde niet. Het heeft wat pros en cons tegenover Cake, maar het is niet zo dat Laravel 4 echt onwijs veel beter is dan Cake.quote:Op woensdag 26 december 2012 02:26 schreef Qunix het volgende:
[..]
Met Laravel 4?
Ik zie best veel meerwaarde dan bijvoorbeeld CakePHP of CodeIgnitor.
quote:
Ik heb gespeeld met CodeIgnitor en Cake 1.x en 2.0 en zag er leuk uit. Nu ben ik aan het spelen ben met Laravel 4 en ik vind dat er wel wat dingen beter zijn. Met name de code van de core. Ze zijn nu bezig met de documentatie en vergeet niet dat Laravel 4 nog alpha is.quote:Op woensdag 26 december 2012 13:56 schreef Maringo het volgende:
[..]
Ik ben er ondertussen ook al wat langer mee bezig en best veel meerwaarde niet. Het heeft wat pros en cons tegenover Cake, maar het is niet zo dat Laravel 4 echt onwijs veel beter is dan Cake.
Dit moet je hebben: https://github.com/illuminate/app en dan met composer de boel installeren.quote:Op donderdag 27 december 2012 21:13 schreef Juicyhil het volgende:
ja ik ga nu ook ff spelen met laravel, wel nieuwsgierig geworden
Waarom distinct selecteer je de datum, maar sorteer je op id? Gewoon op 'date' sorteren. Bovendien het liefst niet 'date' gebruiken als naam. Officieel is het toegestaan vanuit legacy-redenen, maar als het even kan gewoon niet doen. Als je het toch opnieuw aan het doen ben kan je het beter goed doen.quote:Op dinsdag 25 december 2012 16:08 schreef Dennisweb het volgende:
[..]
Inderdaad. Ik heb ooit als newbie alles op VARCHAR gezet. Dat was inderdaad niet heel slim. Heb alles opnieuw ingericht en ook maar meteen een AUTO_increment id toegevoegd.
Nu werkt ie dus prima met: "select DISTINCT date from play order by id DESC"
Thanks!
Geen idee, maar het werkt nu en ik durf er niet meer aan te zitten.quote:Op vrijdag 28 december 2012 00:20 schreef Boze_Appel het volgende:
[..]
Waarom distinct selecteer je de datum, maar sorteer je op id? Gewoon op 'date' sorteren. Bovendien het liefst niet 'date' gebruiken als naam. Officieel is het toegestaan vanuit legacy-redenen, maar als het even kan gewoon niet doen. Als je het toch opnieuw aan het doen ben kan je het beter goed doen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |