KomtTijd... | dinsdag 11 maart 2014 @ 19:21 |

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt 
Zie ook: • PHP Dataverwerking • Officiële PHP website • PHP Documentatie • MySQL Reference Manual • Yet Another PHP Faq • PHP Cheat Sheet • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc
Tutorials: • W3Schools PHP • W3Schools SQL
Succes heren met het volgende deeltje! |
zoem | dinsdag 11 maart 2014 @ 19:23 |
Hello world! |
BroodjeKebab | dinsdag 11 maart 2014 @ 19:25 |
quote: Oh shit |
#ANONIEM | dinsdag 11 maart 2014 @ 19:25 |
quote:
|
n8n | dinsdag 11 maart 2014 @ 19:27 |
Weet iemand een leuke oefenopdracht die iets verder gaat dan een login form maar beperkter is dan een cms? Weet ff niks  |
#ANONIEM | dinsdag 11 maart 2014 @ 19:27 |
quote: Heb je al iets gebouwd dan? Zo ja, post hier wat code zodat we misschien advies kunnen geven. |
TwenteFC | dinsdag 11 maart 2014 @ 19:27 |
quote: Op dinsdag 11 maart 2014 19:27 schreef n8n het volgende:Weet iemand een leuke oefenopdracht die iets verder gaat dan een login form maar beperkter is dan een cms? Weet ff niks  Pak een willekeurige api van het web en ga daar mee spelen.  |
Tijn | dinsdag 11 maart 2014 @ 19:28 |
quote: Het duurt sowieso wel even voordat je hebt leren programmeren. Daar hoort het begrijpen van loops en arrays ook bij. Zorg dat je deze basisconcepten goed in de vingers hebt (in welke taal dan ook) voordat je aan je eerste echte applicatie begint. Pas dan is de documentatie van PHP en MySQL echt zinnig, want dit is geschreven voor programmeurs. |
#ANONIEM | dinsdag 11 maart 2014 @ 19:28 |
quote: Op dinsdag 11 maart 2014 19:27 schreef n8n het volgende:Weet iemand een leuke oefenopdracht die iets verder gaat dan een login form maar beperkter is dan een cms? Weet ff niks  Maak een minispelletje, blackjack bijvoorbeeld. |
xaban06 | dinsdag 11 maart 2014 @ 19:29 |
Ik stel de vraag hier nogmaals 
Ik heb PHP geleerd in de tijd van PHP 4 en heb daarna jaren lang niks meer gedaan. Er is een hoop veranderd, vooral ook de mysql functies.
Ik heb laatst een script gedownload.
Daarin heb ik:
1 | $result = $mysqli->query('SELECT id, rack, temperature, recordtime FROM temperatures WHERE rack = "O8" AND DATE(recordtime) = DATE(NOW())'); |
Iets verder op gebruik ik $result:
1 | foreach($result as $r) { |
Ik wil in de query WHERE rack = "O8" veranderen naar WHERE rack = $rack. Dus in plaats van een statisch waarde, wil ik een $random waarde in de query.
Met de huidige code kan dat niet. Volgens mij moet ik met prepare statement werken, maar daar heb ik geen kaas van gegeten. Heb het een en ander geprobeerd, maar ik kom er niet uit.
Wie kan mij erbij helpen?
[ Bericht 0% gewijzigd door xaban06 op 11-03-2014 19:36:37 ] |
KomtTijd... | dinsdag 11 maart 2014 @ 19:30 |
quote: Op dinsdag 11 maart 2014 19:27 schreef n8n het volgende:Weet iemand een leuke oefenopdracht die iets verder gaat dan een login form maar beperkter is dan een cms? Weet ff niks  Het enige wat echt leuk is, is iets waar je wat aan hebt. Begin met het maken van een eenvoudige website of maak modules voor een bestaande website. |
KomtTijd... | dinsdag 11 maart 2014 @ 19:32 |
quote: Op dinsdag 11 maart 2014 19:29 schreef xaban06 het volgende:Ik stel de vraag hier nogmaals  Ik heb PHP geleerd in de tijd van PHP 4 en heb daarna jaren lang niks meer gedaan. Er is een hoop veranderd, vooral ook de mysql functies. Ik heb laatst een script gedownload. Daarin heb ik: [ code verwijderd ] Iets verder op gebruik ik $result: [ code verwijderd ] Ik wil in de query WHERE rack = "O8" veranderen naar WHERE rack = $rack. Dus in plaats van een statisch waarde, wil ik een $random waarde in de query. Met de huidige code kan dat niet. Volgens mij moet ik met prepare statement werken, maar daar heb ik geen kaas van gegeten. Heb het een en ander geprobeerd, maar ik kom er niet uit. Wie kan mij erbij helpen? Je was al een heel stuk verder dan dat. Je had geconstateerd dat de methode fetch() anders werkt dan je verwacht had, en daar had je nog een vraag over maar die vraag heb je nooit gesteld. |
TwenteFC | dinsdag 11 maart 2014 @ 19:33 |
quote: Op dinsdag 11 maart 2014 19:29 schreef xaban06 het volgende:Ik stel de vraag hier nogmaals  Ik heb PHP geleerd in de tijd van PHP 4 en heb daarna jaren lang niks meer gedaan. Er is een hoop veranderd, vooral ook de mysql functies. Ik heb laatst een script gedownload. Daarin heb ik: [ code verwijderd ] Iets verder op gebruik ik $result: [ code verwijderd ] Ik wil in de query WHERE rack = "O8" veranderen naar WHERE rack = $rack. Dus in plaats van een statisch waarde, wil ik een $random waarde in de query. Met de huidige code kan dat niet. Volgens mij moet ik met prepare statement werken, maar daar heb ik geen kaas van gegeten. Heb het een en ander geprobeerd, maar ik kom er niet uit. Wie kan mij erbij helpen? $rack = $mysqli->real_escape_string($rack); is een quickfix daarna kan je $rack gebruiken, maar je kan ook hier naar kijken;
http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
edit: En als je er door heen wil lussen;
foreach($result->fetch_assoc() AS $i => $v){
} |
xaban06 | dinsdag 11 maart 2014 @ 19:40 |
quote: Die link die je geeft had ik net gelezen, daar kwam uit:
1 2 3 4 5 6 7 8 | $rackname = $_GET['rack']; $stmt = $mysqli->prepare("SELECT id, rack, temperature, recordtime FROM temperatures WHERE rack = ? AND DATE(recordtime) = DATE(NOW())");
$stmt->bind_param("s", $rackname); $stmt->execute(); $result = $stmt->fetch();
foreach($result as $r) { } |
Maar werkt dus ook niet.
Wat je verder beschijft is een beetje abrakadabra voor me. |
#ANONIEM | dinsdag 11 maart 2014 @ 19:44 |
quote: Op dinsdag 11 maart 2014 19:40 schreef xaban06 het volgende:[..] Die link die je geeft had ik net gelezen, daar kwam uit: [ code verwijderd ] Maar werkt dus ook niet. Wat je verder beschijft is een beetje abrakadabra voor me. En wat is de waarde van $_GET['rack']? |
KomtTijd... | dinsdag 11 maart 2014 @ 19:45 |
quote: Op dinsdag 11 maart 2014 19:40 schreef xaban06 het volgende:[..] Die link die je geeft had ik net gelezen, daar kwam uit: [ code verwijderd ] Maar werkt dus ook niet. Wat je verder beschijft is een beetje abrakadabra voor me. Nogmaals, wat snap snap je niet aan het sample in de docs van myslqli::fetch()?
Als je echt niet geholpen wilt worden moet je het zeggen hoor, hou ik er mee op. |
xaban06 | dinsdag 11 maart 2014 @ 19:46 |
quote: var dump $result: bool(true) echo van $_GET['rack']: O8 |
xaban06 | dinsdag 11 maart 2014 @ 19:47 |
quote: Op dinsdag 11 maart 2014 19:45 schreef KomtTijd... het volgende:[..] Nogmaals, wat snap snap je niet aan het sample in de docs van myslqli::fetch()? Als je echt niet geholpen wilt worden moet je het zeggen hoor, hou ik er mee op. Als ik het begreep zou ik mijn vraag hier niet neerplempen. Al begreep ik het een beetje, had ik het geprobeerd en zou ik de uitkomst hier posten.
Jij mag er mee ophouden als je wilt  |
KomtTijd... | dinsdag 11 maart 2014 @ 19:48 |
We begrijpen dat je het niet begrijpt, maar als je alleen "ik snap het niet" blijft zeggen komt niemand ook maar een stap verder.
Het enige gevolg is dat nu ook Totalvamp zijn tijd zit te verdoen om nóg een keer uit te vinden waar we in het vorige topic allang voorbij waren. |
xaban06 | dinsdag 11 maart 2014 @ 19:49 |
quote: Op dinsdag 11 maart 2014 19:48 schreef KomtTijd... het volgende:We begrijpen dat je het niet begrijpt, maar als je alleen "ik snap het niet" blijft zeggen komt niemand ook maar een stap verder. Dat is dan heel erg jammer voor mij, maar meer kan ik, hoe graag ik ook wil, er niet van maken. |
TwenteFC | dinsdag 11 maart 2014 @ 19:52 |
quote: Op dinsdag 11 maart 2014 19:40 schreef xaban06 het volgende:$rackname = $_GET['rack']; $stmt = $mysqli->prepare("SELECT id, rack, temperature, recordtime FROM temperatures WHERE rack = ? AND DATE(recordtime) = DATE(NOW())"); $stmt->bind_param("s", $rackname); $stmt->execute(); $result = $stmt->fetch(); foreach($result as $r) { }
1 2 3 4 5 6 | $db = new PDO('mysql:host=localhost;dbname=databaseNaam;charset=utf8', 'Username', 'Wachtwoord'); $stmt = $db->prepare("SELECT id, rack, temperature, recordtime FROM temperatures WHERE rack = ? AND DATE(recordtime) = DATE(NOW())"); $stmt->execute(array($_GET['rack'])); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows AS $i => $v){} |
|
#ANONIEM | dinsdag 11 maart 2014 @ 19:53 |
quote: Maak er eens = ''.$_GET['rack']; van. Waarschijnlijk wordt de waarde naar int getypecast. Weet ik niet zeker, maar even om snel te testen.. |
Rockfire | dinsdag 11 maart 2014 @ 19:54 |
quote: Misschien moet je beter lezen om het te begrijpen. Als ik kijk naar deze post van je: quote: Op dinsdag 11 maart 2014 19:40 schreef xaban06 het volgende:[..] Die link die je geeft had ik net gelezen, daar kwam uit: [ code verwijderd ] Maar werkt dus ook niet. Wat je verder beschijft is een beetje abrakadabra voor me. Je hebt de link gelezen geef je aan. Maar jij probeert daar onderdelen uit de link te combineren met je eigen code. De link gaat over PDO en dat combineer jij met mysqli. Of je kiest voor PDO en dan heb je veel aan de voorbeelden uit die link, óf je kiest voor mysqli en dan moet je je voorbeelden ergens anders vandaan halen. |
#ANONIEM | dinsdag 11 maart 2014 @ 19:57 |
quote: Op dinsdag 11 maart 2014 19:54 schreef Rockfire het volgende:[..] Misschien moet je beter lezen om het te begrijpen. Als ik kijk naar deze post van je: [..] Je hebt de link gelezen geef je aan. Maar jij probeert daar onderdelen uit de link te combineren met je eigen code. De link gaat over PDO en dat combineer jij met mysqli. Of je kiest voor PDO en dan heb je veel aan de voorbeelden uit die link, óf je kiest voor mysqli en dan moet je je voorbeelden ergens anders vandaan halen. Mysqli heeft ook gewoon bind param etc, al moet hij wel beter lezen
[ Bericht 1% gewijzigd door #ANONIEM op 11-03-2014 19:57:49 ] |
Rockfire | dinsdag 11 maart 2014 @ 19:57 |
quote: Klopt, maar hij pakt nu een deel van het PDO voorbeeld en combineert dat op de verkeerde manier met mysqli |
KomtTijd... | dinsdag 11 maart 2014 @ 20:04 |
quote: pdo_statement::fetch() werkt precies het zelfde als mysqli_statement::fetch(). En ik zou werkelijk niet weten wat er niet te snappen valt aan het example op php.net. Die code is haast letterlijk zo te copy-pasten. |
TwenteFC | dinsdag 11 maart 2014 @ 20:04 |
quote: Op dinsdag 11 maart 2014 20:04 schreef KomtTijd... het volgende:[..] pdo_statement::fetch() werkt precies het zelfde als mysqli_statement::fetch(). En ik zou werkelijk niet weten wat er niet te snappen valt aan het example op php.net. Die code is haast letterlijk zo te copy-pasten. Geen rijen in de database?  |
Rockfire | dinsdag 11 maart 2014 @ 20:16 |
quote: Op dinsdag 11 maart 2014 20:04 schreef KomtTijd... het volgende:[..] pdo_statement::fetch() werkt precies het zelfde als mysqli_statement::fetch(). En ik zou werkelijk niet weten wat er niet te snappen valt aan het example op php.net. Die code is haast letterlijk zo te copy-pasten.
1 2 3 | <?php public mixed PDOStatement::fetch (...) ?> |
1 2 3 | <?php bool mysqli_stmt::fetch ( void ) ?> |
Werkt precies hetzelfde? De ene geeft een databaserij terug en de andere een boolean...
En dat is volgens mij precies waar het bij hem mis gaat  |
n8n | dinsdag 11 maart 2014 @ 20:25 |
quote: Op dinsdag 11 maart 2014 19:30 schreef KomtTijd... het volgende:[..] Het enige wat echt leuk is, is iets waar je wat aan hebt. Begin met het maken van een eenvoudige website of maak modules voor een bestaande website. dat wel ja, m'n eigen website kan wel een update gebruiken. Kom ik toch een beetje in de cms sphere maar dat kan ik later nog aanvullen. Heb nu bijna m'n eerste laravel/sass/gulp boilerplate af dus tijd om er wat mee te doen |
n8n | dinsdag 11 maart 2014 @ 20:26 |
quote: die hou ik in m'n achterhoofd voor wanneer ik fancy wil gaan (leren) met js |
Tijn | dinsdag 11 maart 2014 @ 20:28 |
quote: Maak een game die serverside draait, zodat je ook een highscorelist enzo kunt bijhouden. |
TwenteFC | dinsdag 11 maart 2014 @ 20:29 |
quote: Op dinsdag 11 maart 2014 20:25 schreef n8n het volgende:[..] dat wel ja, m'n eigen website kan wel een update gebruiken. Kom ik toch een beetje in de cms sphere maar dat kan ik later nog aanvullen. Heb nu bijna m'n eerste laravel/sass/gulp boilerplate af dus tijd om er wat mee te doen Laravel, vandaag even alle validator spul uit mijn controllers verhuisd naar mijn models.
Waarom ik dat niet eerder heb gedaan is mij een raadsel. |
henrivo | dinsdag 11 maart 2014 @ 21:49 |
Iemand hier die 't al gelukt is om Bootstrap 3 in Symfony2 te integreren?  |
KomtTijd... | dinsdag 11 maart 2014 @ 21:49 |
quote: Op dinsdag 11 maart 2014 20:16 schreef Rockfire het volgende:[..] [ code verwijderd ] [ code verwijderd ] Werkt precies hetzelfde? De ene geeft een databaserij terug en de andere een boolean... En dat is volgens mij precies waar het bij hem mis gaat  My bad, dacht dat de pdo fetch() alleen met de juiste opties een array of string teruggaf. |
TwenteFC | dinsdag 11 maart 2014 @ 21:52 |
quote: Op welke manier bedoel je dat? |
KomtTijd... | dinsdag 11 maart 2014 @ 21:52 |
quote: Wat is het probleem? Boostrap is toch client-side? Of heb je het niet over twitter-bootstrap? |
Tijn | dinsdag 11 maart 2014 @ 21:53 |
quote: Eh, ja? Gewoon bootstrap in je base.html.twig includen en klaar? |
#ANONIEM | dinsdag 11 maart 2014 @ 22:03 |
quote: Je dropt de JS&CSS in je directory's, include ze en geeft vervolgens vol gas? |
henrivo | dinsdag 11 maart 2014 @ 22:05 |
Heb wat (gedateerde) tutorials uitgeprobeerd, loop telkens ergens wel op vast. Ik kom ook berichten tegen over assets etc, bootstrap3 was met zf2 toch een stuk makkelijker (lees: Standaard geïntegreerd) |
henrivo | dinsdag 11 maart 2014 @ 22:11 |
quote: Ja, gevalletje like-duh, maar ik kwam er tutorials over tegen dus ik dacht dan zal t niet zo simpel zijn als ik oorspronkelijk (ook) dacht, en dat assets-gebeuren bevestigde dat maar zal er morgen eens mee aan de slag gaan  |
Tijn | dinsdag 11 maart 2014 @ 22:22 |
Ja, je moet even assets:install draaien vanaf de console, net zoals altijd als je nieuwe assets installeert. Maar dat is alles, het is niet anders dan je normaal gesproken met je img/css/js files doet. |
henrivo | dinsdag 11 maart 2014 @ 22:27 |
quote: Op dinsdag 11 maart 2014 22:22 schreef Tijn het volgende:Ja, je moet even assets:install draaien vanaf de console, net zoals altijd als je nieuwe assets installeert. Maar dat is alles, het is niet anders dan je normaal gesproken met je img/css/js files doet. Bedankt voor de tip Vergat er even bij te vermelden (dacht dat het wel duidelijk was ) dat ik compleet nieuw ben met Symfony2
Assets zeggen me zo gauw dus even niks, maar zal morgen The Book er even op naslaan  |
HalveZware | woensdag 12 maart 2014 @ 01:18 |
quote: Op dinsdag 11 maart 2014 22:27 schreef henrivo het volgende:[..] Bedankt voor de tip  Vergat er even bij te vermelden (dacht dat het wel duidelijk was  ) dat ik compleet nieuw ben met Symfony2 Assets zeggen me zo gauw dus even niks, maar zal morgen The Book er even op naslaan  Ik snap nog steeds niet wat iedereen zo geweldig vind aan Symphony. wat een gr*f zooi >,< honderd en dertig kilometer aan code...
'vanilla' PHP is volgens mij zelfs sneller als Symphony afentoe... dat, of ik doe gewoon al te lang PHP en zit daardoor altijd in de knoei.
Oh, mogelijk een leuke tip voor in dit topic ( voor de mensen die met databeestjes aan het spelen zijn )
http://www.redbeanphp.com |
Sitethief | woensdag 12 maart 2014 @ 11:20 |
quote: Op woensdag 12 maart 2014 01:18 schreef HalveZware het volgende:[..] Ik snap nog steeds niet wat iedereen zo geweldig vind aan Symphony. wat een gr*f zooi >,< honderd en dertig kilometer aan code... 'vanilla' PHP is volgens mij zelfs sneller als Symphony afentoe... dat, of ik doe gewoon al te lang PHP en zit daardoor altijd in de knoei. Oh, mogelijk een leuke tip voor in dit topic ( voor de mensen die met databeestjes aan het spelen zijn ) http://www.redbeanphp.com Klinkt interessant voor een hobby projectje dat ik nog van plan was . |
HalveZware | woensdag 12 maart 2014 @ 11:37 |
quote: Het leuke is, het werkt voor kleine projecten... maar ook voor grote! :-) heb er op dit moment een complete bedrijfs-administratie mee aan de gang geholpen.
( let ook even op de 'freeze' mogelijkheden ) |
WyriHaximus | woensdag 12 maart 2014 @ 21:01 |
quote: Op woensdag 12 maart 2014 01:18 schreef HalveZware het volgende:[..] Ik snap nog steeds niet wat iedereen zo geweldig vind aan Symphony. wat een gr*f zooi >,< honderd en dertig kilometer aan code... 'vanilla' PHP is volgens mij zelfs sneller als Symphony afentoe... dat, of ik doe gewoon al te lang PHP en zit daardoor altijd in de knoei. Oh, mogelijk een leuke tip voor in dit topic ( voor de mensen die met databeestjes aan het spelen zijn ) http://www.redbeanphp.com Probeer Silex of Slim anders eens. Het hangt heel erg van je requirements af wat je het beste kunt gebruiken . |
#ANONIEM | woensdag 12 maart 2014 @ 21:15 |
quote: Op woensdag 12 maart 2014 01:18 schreef HalveZware het volgende:[..] Ik snap nog steeds niet wat iedereen zo geweldig vind aan Symphony. wat een gr*f zooi >,< honderd en dertig kilometer aan code... 'vanilla' PHP is volgens mij zelfs sneller als Symphony afentoe... dat, of ik doe gewoon al te lang PHP en zit daardoor altijd in de knoei. Oh, mogelijk een leuke tip voor in dit topic ( voor de mensen die met databeestjes aan het spelen zijn ) http://www.redbeanphp.com Ik ben niet zo'n fan van Singleton database classes, heeft teveel limitaties. |
Crutch | donderdag 13 maart 2014 @ 18:58 |
quote: Zoals? De meesten hebben ook de mogelijkheid om zelf een query te bouwen, dus daar zal het wel niet aan liggen, lijkt mij... |
#ANONIEM | donderdag 13 maart 2014 @ 19:11 |
quote: Op donderdag 13 maart 2014 18:58 schreef Crutch het volgende:[..] Zoals? De meesten hebben ook de mogelijkheid om zelf een query te bouwen, dus daar zal het wel niet aan liggen, lijkt mij... Geen meerdere connecties met databases. Lastig te testen. |
Crutch | donderdag 13 maart 2014 @ 22:34 |
quote: True, maar hoe vaak komt dat nou voor?
quote: Lastig te testen.
Hier valt nog wel wat voor te zeggen; de meesten komen met vrij uitgebreide UnitTests. Als je debuggen bedoelt dan is er meestal prima doorheen te steppen. |
#ANONIEM | donderdag 13 maart 2014 @ 22:37 |
quote: Op donderdag 13 maart 2014 22:34 schreef Crutch het volgende:[..] True, maar hoe vaak komt dat nou voor? [..] Hier valt nog wel wat voor te zeggen; de meesten komen met vrij uitgebreide UnitTests. Als je debuggen bedoelt dan is er meestal prima doorheen te steppen. Soms is het nodig Als je bijvoorbeeld voor bepaalde data dingen in MongoDB hebt staan en andere weer in een MySQL database.
Mwa, blijft lastig zonder daadwerkelijk de plekken waar het aangeroepen wordt aan te passen. Als je een database meegeeft als dependency heb je daar geen last van. Daar kun je een stub voor maken en dan die meegeven. |
GeschiktX | donderdag 13 maart 2014 @ 22:40 |
In de OP staat onder tutorials : w3schools. Is dat nou een aanrader om daar php en mysql te gaan leren?! |
#ANONIEM | donderdag 13 maart 2014 @ 22:41 |
quote: Alleen de echte basis, leer zo snel mogelijk OOP  |
GeschiktX | donderdag 13 maart 2014 @ 22:45 |
quote: Waarin verschilt oop met normaal qua functionaliteit? En is de basis van w3schools genoeg om daarna zelf aan de slag te gaan met evt opzoekwerk bij onderdelen waar je niet weet hoe het moet of waar je het even vergeten bent?
Geldt zowel voor php/mysql als voor javascript etc. |
#ANONIEM | donderdag 13 maart 2014 @ 22:50 |
quote: Op donderdag 13 maart 2014 22:45 schreef GeschiktX het volgende:[..] Waarin verschilt oop met normaal qua functionaliteit? En is de basis van w3schools genoeg om daarna zelf aan de slag te gaan met evt opzoekwerk bij onderdelen waar je niet weet hoe het moet of waar je het even vergeten bent? Geldt zowel voor php/mysql als voor javascript etc. Met functioneel programmeren heb je vaak bestanden vol code en is niks goed te overzien.
Met OOP splits je dingen zoveel mogelijk op zodat alles zijn eigen element is. Ook maak je het jezelf makkelijker en kun je sneller een site maken.
Als je iets niet weet zoeken op google, meestal heb je dan een php.net url of stackoverflow
[ Bericht 5% gewijzigd door #ANONIEM op 13-03-2014 22:50:48 ] |
Crutch | donderdag 13 maart 2014 @ 22:51 |
Waar zouden we zijn zonder stackoverflow?  |
zoem | donderdag 13 maart 2014 @ 22:55 |
W3schools is echt basismateriaal en dekt lang niet alles. |
GeschiktX | donderdag 13 maart 2014 @ 23:01 |
quote: Dacht ik al.... betere plekken dan? Tutsplus? Thenewboston.org? Treehouse? Boeken? |
#ANONIEM | donderdag 13 maart 2014 @ 23:04 |
quote: Hoeveel basis kennis heb je? |
GeschiktX | donderdag 13 maart 2014 @ 23:06 |
quote: Dit is hoe ver ik ben :
http://www.w3schools.com/php/php_if_else.asp
Niet geleerd met w3schools maar met thenewboston.org
Maar qua volgorde op w3schools ben ik daar met php. |
#ANONIEM | donderdag 13 maart 2014 @ 23:09 |
quote: Dan heb je nog wel even te gaan voordat je bij OOP terecht komt. Pas als classes aan de beurt zijn begin je daar mee. |
KomtTijd... | vrijdag 14 maart 2014 @ 11:46 |
quote: Wat ben je aan het maken dan? |
cablegunmaster | vrijdag 14 maart 2014 @ 16:13 |
Even een kort vraagje over een Regex waar ik mee bezig was ik ben bezig met:
1 2 3 4 5 | //Syntax highlighting [BBcode]Een stukje code </br> </br> /n /n [/BBcode] |
De vraag hoe ik de regex maak dat BBcode wordt herkent over meerdere regels?
1 | /\[code=(.+?)\](.+?)\[\/code]/s |
Had ik bedacht na wat onderzoek omdat de eerste groep de taal aangeeft en de tweede groep de code. De code die ik had pakte over 1 regel duidelijk alles ertussen in. Maar hoe dit werkt over meerdere regels met de regex heb ik geen idee over.
*goes researching*.
[ Bericht 4% gewijzigd door cablegunmaster op 14-03-2014 16:30:18 ] |
#ANONIEM | vrijdag 14 maart 2014 @ 17:00 |
quote: Op vrijdag 14 maart 2014 16:13 schreef cablegunmaster het volgende:Even een kort vraagje over een Regex waar ik mee bezig was ik ben bezig met: [ code verwijderd ] De vraag hoe ik de regex maak dat BBcode wordt herkent over meerdere regels? [ code verwijderd ] Had ik bedacht na wat onderzoek omdat de eerste groep de taal aangeeft en de tweede groep de code. De code die ik had pakte over 1 regel duidelijk alles ertussen in. Maar hoe dit werkt over meerdere regels met de regex heb ik geen idee over. *goes researching*. misschien is dit wat voor je: http://christian-seiler.de/projekte/php/bbcode/download_en.html
Het is lastig zelf een goede parser te schrijven om meerdere redenen. |
cablegunmaster | vrijdag 14 maart 2014 @ 17:22 |
quote: Ik heb al een parser om de code weer te geven , dankje . Enige wat ik miste was dat <br> binnen in de 1 2 3 4 5 6 7 8 | tag naar /n omgeschreven moest worden :).
Laatste vraag ik heb een Functie die bbcode vervangt alleen doet deze dat met 2 arrays. Nu wil ik binnen de array een andere functie aanroepen. en daarbij gegevens gebruiken van een vervanging.
[code] $this->replace_code_geshi("\\1",br2nl("\\2"),true) |
Hoe kan ik een functie in een array uitvoeren? of denk ik verkeerd?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php class bbcode{ function bbcode_replace($string) { $bbreplace = array('/\[code=(.+?)\](.+?)\[\/code]/s'); $bbreplacements = array($this->replace_code_geshi("\\1",br2nl("\\2"),true));
$string = preg_replace($bbreplace, $bbreplacements, $string); return $string; //Heel veel verschillende soorten tekst. }
private function replace_code_geshi($language,$source,$numbers=false) { return; //Geeft me letterlijk \\1 en \\2 aan ipv de geparste string. } } ?> |
[ Bericht 36% gewijzigd door cablegunmaster op 14-03-2014 17:55:43 ] |
#ANONIEM | vrijdag 14 maart 2014 @ 17:46 |
quote: Op vrijdag 14 maart 2014 17:22 schreef cablegunmaster het volgende:[..] Ik heb al een parser om de code weer te geven , dankje  . Enige wat ik miste was dat <br> binnen in de [ code verwijderd ] Hoe kan ik een functie in een array uitvoeren? of denk ik verkeerd? [ code verwijderd ] even je opmaak verbeteren in je post 
Ja dat kun je doen, alles wat die functie teruggeeft zal in de array komen te staan onder [0]. Ik weet niet echt wat je van plan bent ermee te doen. |
cablegunmaster | vrijdag 14 maart 2014 @ 17:55 |
quote: Op vrijdag 14 maart 2014 17:46 schreef totalvamp het volgende:[..] even je opmaak verbeteren in je post  Ja dat kun je doen, alles wat die functie teruggeeft zal in de array komen te staan onder [0]. Ik weet niet echt wat je van plan bent ermee te doen. VB: [code = php ] Echo "Dit is een stukje php";[/code] vervolgens krijg je mooi een lijn nummer ervoor en de syntax highlighted zoals Fok.nl dit ook doet.
\\1 = "php"; \\2 = "Echo "Dit is een stukje php";
Alleen hij parst het niet en laat alleen \\1 en \\2 doorgeven. |
#ANONIEM | vrijdag 14 maart 2014 @ 18:07 |
quote: Op vrijdag 14 maart 2014 17:55 schreef cablegunmaster het volgende:[..] VB: [code = php ] Echo "Dit is een stukje php";[/code] vervolgens krijg je mooi een lijn nummer ervoor en de syntax highlighted zoals Fok.nl dit ook doet. \\1 = "php"; \\2 = "Echo "Dit is een stukje php"; Alleen hij parst het niet en laat alleen \\1 en \\2 doorgeven. ik heb geen idee wat je functie doet "replace_code_geshi" |
cablegunmaster | vrijdag 14 maart 2014 @ 18:08 |
quote: Ik snap het al . //1 en //2 pakt hij wel. maar de Geshi api zit te kutten . Dank voor het meedenken. 
http://www.cablegunmaster.nl/plugins/geshi_test.php
Hier pakt hij het wel  |
#ANONIEM | vrijdag 14 maart 2014 @ 18:10 |
quote: ik zou die regelnummers weglaten of het op de fok manier oplossen  |
cablegunmaster | vrijdag 14 maart 2014 @ 18:10 |
quote: Dat is nog simpel fixbaar, probleem is alleen dat mijn eigen variant van de parser die de volgorde verkeerd aan pakt. Deze parser propt alle "source" op 1 regel. Geshi m'n syntaxhighlighter ziet het daarom automatisch als 1 regel. In plaats van dat het er later rekening mee houdt dat er meerdere regels in zitten. Ik verzin er later nog wel een oplossing voor. Het heeft voor mij een lage prioriteit op dit moment.
[ Bericht 12% gewijzigd door cablegunmaster op 14-03-2014 18:17:28 ] |
Chandler | zaterdag 15 maart 2014 @ 08:48 |
quote: Op maandag 10 maart 2014 14:43 schreef slacker_nl het volgende:[..] Ik mis tests en ik ben zeker geen fan van je shell execution in je PHP script, volgens mij heb je daar al dingen voor. Verder zou ik je mimetype anders opvragen: http://www.php.net/manual/en/function.finfo-file.phpje functie: imagetyte moet image_type zijn, ik ben geen fan je naamgeving: imagetype moet imo worden: image_type, imagehex => image_hex, etc etc. En verder ben ik ook geen fan van echo "meuk<br />", als je de modules op een shell gaat draaien gaan je linebreaks eraan. Laat die logica over aan je frontend. Deze functies heb ik gewoon gevonden op't net, en wilde ze benchmarken... dat is nu gelukt en daaruit komt verrassend een winnaar naar boven, echter is deze functie ook niet 100% betrouwbaar.. de 2e exe die ik draai geeft de meest correcte vergelijking en daarmee vergeleken is de 2e gebruikte functie het meest betrouwbaar... zo lijkt..
Resultaten? http://pastebin.com/b0hDDjrP
Alleen vraag ik mij af of het nog beter kan.. sneller en liefst vergelijkbaar met de 2e exe maar voor zover ik heb kunnen vinden lijkt het er niet op...
Exe 2:
1 | c:\Program Files\ImageMagick-6.8.8-Q16\compare.exe" -metric NCC ' . $current . ' ' . $next . ' NULL: 2>&1'; |
|
wipes66 | zaterdag 15 maart 2014 @ 12:14 |
quote: mm ik moet binnenkort ook een script maken om afbeeldingen uit een db te ontdubbelen. ik dacht er aan om dit te gebruiken (nog niks getest): https://gist.github.com/mncaudill/1326966 |
Chandler | zaterdag 15 maart 2014 @ 12:39 |
Leuke link, ga ik ook eens benchmarken en kijken wat de resultaten zijn! tot over 12 uur  |
HalveZware | zondag 16 maart 2014 @ 09:00 |
quote: Persoonlijk krijg ik echt rode vlekken van Symphony en alles wat er op lijkt... Slim lijkt vooral een klein framework te zijn, dan zou ik eerder voor CodeIgnitor gaan.
op dit moment zit ik vooral met ORM's te knoeien, een framework heb ik al ( zelf-bouw <3 ) |
wipes66 | zondag 16 maart 2014 @ 13:21 |
quote: het werk op zich goed, maar zodra er gecropped is of de aspect ratio iets anders is matched hij niet meer helaas :S |
WyriHaximus | zondag 16 maart 2014 @ 14:35 |
quote: Op zondag 16 maart 2014 09:00 schreef HalveZware het volgende:[..] Persoonlijk krijg ik echt rode vlekken van Symphony en alles wat er op lijkt... Slim lijkt vooral een klein framework te zijn, dan zou ik eerder voor CodeIgnitor gaan. op dit moment zit ik vooral met ORM's te knoeien, een framework heb ik al ( zelf-bouw <3 ) Laravel anders een optie? Of iig de ORM die daar in zit, is ook los te gebruiken IIRC. |
Chandler | zondag 16 maart 2014 @ 14:45 |
quote: Op zondag 16 maart 2014 13:21 schreef wipes66 het volgende:[..] het werk op zich goed, maar zodra er gecropped is of de aspect ratio iets anders is matched hij niet meer helaas :S Zo iets zag ik ook al, ga aankomende nacht 7 (5x functies/classes waaronder phasher en 2x exe's) vergelijkingen draaien op ruim 8000 plaatjes (webcam shots) en kijken welke de beste snelheid heeft in combinatie met relatief juist vergelijken van de vorige frame.. 
Liep in vorige tests al ruim 4 uur, dus zal nu wel een uurtje extra lopen... |
HalveZware | zondag 16 maart 2014 @ 16:18 |
quote: Laravel is inderdaad wel echt een lief systeem qua functionaliteit :-) op dit moment eigen-framework icm met RedBeanPHP na dat ik al maanden allerlei websites afgestruind ben naar het ideale framework...
Sowieso, van de hierboven genoemden "problemen" heb ik verder geen last, dat is kwestie van je framework goed schrijven :-)
Jammer dat Laravel het ORM zover ik weet overigens alleen IN het framework heeft zitten, en dat het niet een los project is ( Dat doet Symhony dan weer wel, maar dat is voor de rest weer niet te gebruiken )
en zo is het altijd wat ( daarom ben ik dus ook maar zel gaan schrijven, dat en omdat ik gewoon me shit graag vanaf scratch bouw, al jaren gedaan ) |
TwenteFC | zondag 16 maart 2014 @ 16:58 |
quote: Op zondag 16 maart 2014 16:18 schreef HalveZware het volgende:[..] Laravel is inderdaad wel echt een lief systeem qua functionaliteit :-) op dit moment eigen-framework icm met RedBeanPHP na dat ik al maanden allerlei websites afgestruind ben naar het ideale framework... Sowieso, van de hierboven genoemden "problemen" heb ik verder geen last, dat is kwestie van je framework goed schrijven :-) Jammer dat Laravel het ORM zover ik weet overigens alleen IN het framework heeft zitten, en dat het niet een los project is ( Dat doet Symhony dan weer wel, maar dat is voor de rest weer niet te gebruiken ) en zo is het altijd wat ( daarom ben ik dus ook maar zel gaan schrijven, dat en omdat ik gewoon me shit graag vanaf scratch bouw, al jaren gedaan ) http://www.edzynda.com/us(...)-outside-of-laravel/ |
Chandler | maandag 17 maart 2014 @ 07:27 |
Ik heb mijn benchmark iets aangepast, er zat een functie tussen die per plaatje zo'n 5 seconden bezig was.
Resultaten en script zijn te vinden: http://www.speedyshare.com/uJ2Gp/123.ZIP
de snelste functie is getHash, deze met vergelijking naar de laatste exe laat zien dat deze het meest overeenkomt (zo lijkt het op het eerste oog).
Wat vinden jullie er van? |
#ANONIEM | maandag 17 maart 2014 @ 14:59 |
Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren.
Bijvoorbeeld post1:
1 2 3 4 5 6 7 8 | <?php
class Foo { private $private; protected $protected; public $public;
public function __construct() { |
Waarop de volgende persoon zijn code hieraan toevoegd. |
HalveZware | maandag 17 maart 2014 @ 15:18 |
quote: Held! :-D Eloquent werkt wel bijzonder lekker ! deze link gaat zeker in de bookmarks! :-D |
HalveZware | maandag 17 maart 2014 @ 15:19 |
quote: Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren. Bijvoorbeeld post1: [ code verwijderd ] Waarop de volgende persoon zijn code hieraan toevoegd. Fok plays pokemon, maar dan met PHP ? Ja waarom ook niet ^_^ |
#ANONIEM | maandag 17 maart 2014 @ 15:36 |
quote: Fok plays PHP 
Alleen nog iets nodig om te maken  |
slacker_nl | maandag 17 maart 2014 @ 15:37 |
quote: Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren. Bijvoorbeeld post1: [ code verwijderd ] Waarop de volgende persoon zijn code hieraan toevoegd.
1 2 3 | <?php function say($what) { print $what } ; die(say("one more time m*therfucker!")); ?> |
Zoiets? |
Tijn | maandag 17 maart 2014 @ 15:38 |
Het leukste is als we zoiets doen in combinatie met een repository die automatisch de inhoud van de posts commit en pusht. |
#ANONIEM | maandag 17 maart 2014 @ 15:42 |
quote: Nee 
Wel regels normaal inspringen. Arrays tellen dan wel als 1 regel.
quote: Op maandag 17 maart 2014 15:38 schreef Tijn het volgende:Het leukste is als we zoiets doen in combinatie met een repository die automatisch de inhoud van de posts commit en pusht. Pff, een beetje veel moeite xD
Maar geeft wel de optie om een mappen structuur te maken  |
raptorix | maandag 17 maart 2014 @ 17:23 |
Misschien dat je dan beter een code kata kunt doen: http://codekata.com/ |
TwenteFC | maandag 17 maart 2014 @ 17:58 |
quote: Op maandag 17 maart 2014 14:59 schreef totalvamp het volgende:Hoe zouden jullie het vinden om misschien een topic te maken waar elk persoon per post 5 regels code(exc comments en opening tag, whitespaces), mag toevoegen aan een andere script post om zo uiteindelijk iets gezamelijks te programmeren. Bijvoorbeeld post1: [ code verwijderd ] Waarop de volgende persoon zijn code hieraan toevoegd. Maar hoe ga je fouten afvangen dan? Iemand vergeet een ; of submit compleet foute code.
FOK! posts zijn wel super makkelijk uit te lezen.
[ Bericht 3% gewijzigd door TwenteFC op 17-03-2014 18:04:29 ] |
#ANONIEM | maandag 17 maart 2014 @ 19:00 |
quote: Op maandag 17 maart 2014 17:58 schreef TwenteFC het volgende:[..] Maar hoe ga je fouten afvangen dan? Iemand vergeet een ; of submit compleet foute code. FOK! posts zijn wel super makkelijk uit te lezen. Hmm geen idee, iets om over na te denken nog dus. Misschien de optie om de poster fouten te verbeteren als iemand ze tegenkomt, dan leert diegene er ook nog van  |
TwenteFC | maandag 17 maart 2014 @ 19:03 |
quote: Op maandag 17 maart 2014 19:00 schreef totalvamp het volgende:[..] Hmm geen idee, iets om over na te denken nog dus. Misschien de optie om de poster fouten te verbeteren als iemand ze tegenkomt, dan leert diegene er ook nog van  En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren. Of wordt de code niet écht uitgevoerd? |
#ANONIEM | maandag 17 maart 2014 @ 19:09 |
quote: Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:[..]  En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren. Of wordt de code niet écht uitgevoerd? in het begin kan de code toch niet uitgevoerd worden Ik kan wel een VPS aanmaken hier. |
Rockfire | maandag 17 maart 2014 @ 19:17 |
Klinkt leuk 
Maar ga je dan van tevoren een doel stellen? Wat er gemaakt moet worden? |
#ANONIEM | maandag 17 maart 2014 @ 19:37 |
quote: Geen idee nog Niet iets te makkelijk, maar ook niet te moeilijk. |
Crutch | maandag 17 maart 2014 @ 21:23 |
Leuk idee! |
TwenteFC | maandag 17 maart 2014 @ 21:36 |
quote: Wat is het maximale aantal tekens in een FOK! post? anders kan je een totaal code laten posten en dan [insert line:5] [replace line:5] [remove line:5] commando's oid maken.
1 2 3 | 1. public function foo($foo){ 2. 3. } |
[replace-line:1] public function foo($foo, $bar) {[/replace]
>
1 2 3 | 1. public function foo($foo, $bar) { 2. 3. } |
Ik weet niet. |
Light | maandag 17 maart 2014 @ 21:37 |
quote: Op maandag 17 maart 2014 21:36 schreef TwenteFC het volgende:[..] Wat is het maximale aantal tekens in een FOK! post?  anders kan je een totaal code laten posten en dan [insert line:5] [replace line:5] [remove line:5] commando's oid maken. Volgens mij is dat maximum 65535 tekens. Daar kun je een hoop tekst in kwijt. |
TwenteFC | maandag 17 maart 2014 @ 21:42 |
http://forum.fok.nl/ajax/(...)&tpl=forum2009&ver=1
Hmm, dacht dat dit json was, maar dat is niet. Je moet dus het topic met een domscanner uitlezen (http://simplehtmldom.sourceforge.net/), of heeft iemand een beter idee? |
#ANONIEM | maandag 17 maart 2014 @ 21:44 |
quote: Het is JavaScript dat geinsert wordt? Lekker veilig. |
TwenteFC | maandag 17 maart 2014 @ 21:47 |
quote: Op maandag 17 maart 2014 15:38 schreef Tijn het volgende:Het leukste is als we zoiets doen in combinatie met een repository die automatisch de inhoud van de posts commit en pusht. Zou wel grappig zijn ja, alleen ik heb niet de behoefte om zo iets te hosten.  |
TwenteFC | maandag 17 maart 2014 @ 21:47 |
quote: Had inderdaad een stuk netter gekund.
Het was trouwens een tijd geleden ook mogelijk om de posts van een willekeurige user te veranderen door simpelweg het id in de post te veranderen.
Heeft Danny wel rap gefixed nadat ik het gemeld had, dat dan weer wel.
Deze post dus: 
quote:
[ Bericht 25% gewijzigd door TwenteFC op 17-03-2014 22:07:29 ] |
Light | maandag 17 maart 2014 @ 21:53 |
quote: Het lijkt op javascript dat uitgevoerd wordt. En ik zie het veiligheidsaspect niet zo. Het is vooral een kwestie van data escapen en filteren waar nodig, maar dat moet je sowieso doen. |
bondage | maandag 17 maart 2014 @ 21:53 |
quote: Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:[..]  En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren. Of wordt de code niet écht uitgevoerd? Eigenlijk moet je zoiets binnen een sandbox kunnen draaien. Ik offer mijn server er in ieder geval niet voor op  |
#ANONIEM | maandag 17 maart 2014 @ 22:54 |
quote: Op maandag 17 maart 2014 21:53 schreef Light het volgende:[..] Het lijkt op javascript dat uitgevoerd wordt. En ik zie het veiligheidsaspect niet zo. Het is vooral een kwestie van data escapen en filteren waar nodig, maar dat moet je sowieso doen. Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel. |
TwenteFC | maandag 17 maart 2014 @ 23:15 |
quote: Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:[..] Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel. Vind het wel knap dat ze überhaupt op dit idee zijn gekomen, eerlijk is eerlijk, ik zou er niet aan gedacht hebben.  |
Light | maandag 17 maart 2014 @ 23:42 |
quote: Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:[..] Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel. Filteren doe je op de input, eens. Ik neem aan dat dat hier ook gebeurt. En escapen moet je sowieso doen, of je nou javascript, json, xml of nog iets anders teruggeeft. Dat je in php de functie json_encode() hebt die het escapen voor je regelt, doet niets af aan het feit dat het wel gedaan moet worden. Welke argumenten er gebruikt zijn bij het maken van de keuze voor javascript, weet ik niet. |
bondage | maandag 17 maart 2014 @ 23:51 |
quote: Op maandag 17 maart 2014 22:54 schreef Scorpie het volgende:[..] Dat escapen en filteren is gewoonweg onnodig imo. Als je data ophaalt krijg je JSON of XML terug, netjes, clean, simpel. En daarmee bouw je je DOM op. Je gaat niet lopen kutten met HTML fragmenten injecteren en dat soort ongein. Is gewoon niet professioneel. Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt. |
#ANONIEM | dinsdag 18 maart 2014 @ 00:00 |
quote: Op maandag 17 maart 2014 23:51 schreef bondage het volgende:[..] Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt. Welnee, daar hebben we juist template engines voor bedacht. http://garann.github.io/template-chooser/
Zo hou je de templates netjes gescheiden van je data, kan je aanpassingen makkelijk doorvoeren (nieuw templatetje maken en die matchen op je data) en je onderhoud gaat nog eens flink omlaag.
quote: Op maandag 17 maart 2014 23:42 schreef Light het volgende:[..] Filteren doe je op de input, eens. Ik neem aan dat dat hier ook gebeurt. En escapen moet je sowieso doen, of je nou javascript, json, xml of nog iets anders teruggeeft. Dat je in php de functie json_encode() hebt die het escapen voor je regelt, doet niets af aan het feit dat het wel gedaan moet worden. Welke argumenten er gebruikt zijn bij het maken van de keuze voor javascript, weet ik niet. Ik ben vooral verbaasd over het feit dat er hele lappen (duplicate) HTML over de lijn gaan.
[ Bericht 0% gewijzigd door #ANONIEM op 18-03-2014 00:01:54 ] |
bondage | dinsdag 18 maart 2014 @ 00:11 |
quote: De templates hou ik al redelijk gescheiden van de rest dmv views. Ik heb even een paar van die template engine scriptjes bekeken en het ziet er wel erg aantrekkelijk uit. Ik ga me er sowieso meer in verdiepen, al gaat het wel lang duren voordat ik de templates van al mijn huidige projecten om heb gezet naar pure js. |
KomtTijd... | dinsdag 18 maart 2014 @ 00:44 |
quote: Op maandag 17 maart 2014 23:51 schreef bondage het volgende:[..] Ik kan me voorstellen dat er soms voor wordt gekozen om maar gewoon HTML terug te geven, zeker als het om erg gestructureerde data gaat. Als je geen HTML fragmenten teruggeeft moet je alles via JS gaan opbouwen. Nogal lastig als je ergens in de template aanpassingen doet en die vervolgens ook door moet voeren in het stuk JS wat het renderen van de posts afhandelt. Vroeger, toen de hele template nog in JS gebouwd werd  |
raptorix | dinsdag 18 maart 2014 @ 09:15 |
quote: Op maandag 17 maart 2014 19:03 schreef TwenteFC het volgende:[..]  En dan de hamvraag, wie heeft ballen genoeg om zijn webserver op te offeren. Of wordt de code niet écht uitgevoerd? Ik heb wel een webservert beschikbaar. |
bondage | dinsdag 18 maart 2014 @ 12:30 |
quote: De FOK!silver layout deed dat toch? Die template was ook redelijk makkelijk in stukjes te hakken en heb ik lange tijd gebruikt om de dagcijfers mee te indexeren. Tegenwoordig gebruik ik daar de textonly layout voor aangezien die zo weinig mogelijk 'zooi' bevat wat ik niet nodig heb. |
KomtTijd... | dinsdag 18 maart 2014 @ 13:28 |
Jup. Het idee was geloof ik dataverkeer te beperken ofzo. De "HTML" bevatte slechts een scripttag met voor iedere post een functioncall met de complete content van die post erin als variable. Die function deed een document.write() geloof ik. |
TwenteFC | dinsdag 18 maart 2014 @ 19:39 |
1 2 3 | [submit-tag]
echo "bla"; |
[ Bericht 13% gewijzigd door TwenteFC op 18-03-2014 19:54:15 ] |
#ANONIEM | dinsdag 18 maart 2014 @ 19:43 |
Gebruiken jullie al PSR-4 als autoloader? |
TwenteFC | dinsdag 18 maart 2014 @ 19:57 |
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 | <?php include('../simplehtmldom/simple_html_dom.php');
class ScanTopic {
public $fokTopicChain = "http://forum.fok.nl/topicchain/61"; public $topicPosts = "/1/300"; private $fokBaseUrl = "http://forum.fok.nl/";
protected $fokLatestTopicDom;
public function __construct(){ $this->fokLatestTopicDom = $this->getLatestTopicDom($this->getPageDom($this->fokTopicChain)->find('.tTitel > a',0)->href); }
public function scanPosts(){ return $this->fokLatestTopicDom->find('.codeDisplayTableCode'); }
private function getLatestTopicDom($topicUrl){ return $this->getPageDom($this->fokBaseUrl.$topicUrl.$this->topicPosts); }
private function getPageDom($page){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $page); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch);
return str_get_html($html); }
}
$topic = new ScanTopic;
foreach($topic->scanPosts() AS $scannedPost){ $postText = $scannedPost->plaintext;
if(strpos($postText, 'submit-tag')){ echo $postText; } } ?> |
Super netjes is het niet, maar ik vind het te traaaaaag.
[ Bericht 39% gewijzigd door TwenteFC op 18-03-2014 20:24:26 ] |
Crutch | dinsdag 18 maart 2014 @ 20:20 |
quote: Kan je ook op find('.classname') selecteren, ipv find('tag[attr=blabla]')? |
TwenteFC | dinsdag 18 maart 2014 @ 20:24 |
quote: Je kan zoeken op .classname ja.  |
#ANONIEM | dinsdag 18 maart 2014 @ 20:28 |
Waarom bouwen we het niet met nodejs ?  |
Rockfire | dinsdag 18 maart 2014 @ 20:34 |
quote: Kijk nog eens in welk topic je zit  |
TwenteFC | dinsdag 18 maart 2014 @ 20:46 |
quote: Kan ook, alleen ben ik niet zo bekend met scrapen van sites daarin.
Be my guest Ik wil best een bijdrage leveren als er een basis staat.
Edit: Het is logischer en makkelijker dan ik dacht dus
http://blog.dtrejo.com/po(...)query-and-selectorga https://gist.github.com/DTrejo/790580 |
#ANONIEM | dinsdag 18 maart 2014 @ 20:51 |
quote: Omdat we niet altijd sockets nodig hebben. |
#ANONIEM | dinsdag 18 maart 2014 @ 20:52 |
Overigens vind ik het implementeren van de autoloader best lastig. Ook met die gist van Github weet ik totaal niet hoe ik het in moet richten. Een klasse met statische methodes die ik dan moet laten registreren via spl_autoload_register. Het is een beetje een warboel.
Ze zeggen dat ik dat dan maar in één klasse hoef te doen, maar die spl_autoload moet toch wel in iedere klasse zitten? Ik kan weinig echt concrete toepassingen vinden. En dan wil ik ook nog PSR-4 compliant werken, maar ik heb helemaal geen namespaces dus dan moet ik alles weer opnieuw inrichten. |
TwenteFC | dinsdag 18 maart 2014 @ 21:02 |
quote: Op dinsdag 18 maart 2014 20:52 schreef robin007bond het volgende:Overigens vind ik het implementeren van de autoloader best lastig. Ook met die gist van Github weet ik totaal niet hoe ik het in moet richten. Een klasse met statische methodes die ik dan moet laten registreren via spl_autoload_register. Het is een beetje een warboel. Ze zeggen dat ik dat dan maar in één klasse hoef te doen, maar die spl_autoload moet toch wel in iedere klasse zitten? Ik kan weinig echt concrete toepassingen vinden. En dan wil ik ook nog PSR-4 compliant werken, maar ik heb helemaal geen namespaces dus dan moet ik alles weer opnieuw inrichten. Je zou kunnen kijken Symfony 2 of Laravel 4 hoe zij het aangepakt hebben? |
Sitethief | dinsdag 18 maart 2014 @ 21:16 |
quote: Op dinsdag 18 maart 2014 20:52 schreef robin007bond het volgende:Overigens vind ik het implementeren van de autoloader best lastig. Ook met die gist van Github weet ik totaal niet hoe ik het in moet richten. Een klasse met statische methodes die ik dan moet laten registreren via spl_autoload_register. Het is een beetje een warboel. Ze zeggen dat ik dat dan maar in één klasse hoef te doen, maar die spl_autoload moet toch wel in iedere klasse zitten? Ik kan weinig echt concrete toepassingen vinden. En dan wil ik ook nog PSR-4 compliant werken, maar ik heb helemaal geen namespaces dus dan moet ik alles weer opnieuw inrichten. Je kunt ook kijken of een tool als Composer misschien een wat makkelijkere oplossing bied? |
#ANONIEM | dinsdag 18 maart 2014 @ 21:25 |
quote: Goede tip inderdaad!  quote: Ja, daar dacht ik ook al aan. Ben wel voorzichtig met externe tools omdat niet iedereen met die dingen werkt. |
#ANONIEM | dinsdag 18 maart 2014 @ 21:38 |
quote: Psies  |
#ANONIEM | dinsdag 18 maart 2014 @ 21:39 |
quote: Nodejs is wel wat meer dan Socket ondersteuning he  |
Crutch | woensdag 19 maart 2014 @ 00:08 |
quote: Misschien is dat (net zoals bij jQuery) een snellere selector dan eerst de tag te selecteren. |
Crutch | woensdag 19 maart 2014 @ 00:09 |
Ik stem alvast voor een Mercurial repository  |
Rockfire | woensdag 19 maart 2014 @ 08:07 |
quote: Git  |
#ANONIEM | woensdag 19 maart 2014 @ 09:12 |
quote: Ik heb nog gekeken. Ze gebruiken allebei de autoloader van composer. Maar goed, dan moet ik nu overal namespaces inrichten en waah. Ik weet niet. |
Sitethief | woensdag 19 maart 2014 @ 10:24 |
quote: Op woensdag 19 maart 2014 09:12 schreef robin007bond het volgende:[..] Ik heb nog gekeken. Ze gebruiken allebei de autoloader van composer. Maar goed, dan moet ik nu overal namespaces inrichten en waah. Ik weet niet. Opzich is namespaces heel eenvoudig. Het lijkt heel lastig in zijn uitleg, qualified en fully qualified etc, maar als je het eenmaal ingesteld hebt voor al je classes en shit dan werkt het vrij eenvoudig, zeker als je composer gebruikt. Het is ook fijn als je een IDE hebt die met namespaces kan omgaan, dat vereenvoudigt het gebruik. Maar het is belangrijk niet blind te varen op de IDE en eerst zelf te leren hoe je namespaces het beste kunt inzetten in je software. |
Sitethief | woensdag 19 maart 2014 @ 10:26 |
quote: Lol, ik wist niet dat je een class ook zonder (foo,bar) kon oproepen . Weer wat geleerd : . |
KomtTijd... | woensdag 19 maart 2014 @ 11:07 |
quote: Mijn ervaring met scrapen is dat het vaak het snelste is om er gewoon een moeilijk ranzig legertje regex'en op los te laten. |
Sitethief | woensdag 19 maart 2014 @ 11:16 |
quote: http://simplehtmldom.sourceforge.net/ |
WyriHaximus | woensdag 19 maart 2014 @ 15:30 |
quote: Uiteraard! |
TwenteFC | woensdag 19 maart 2014 @ 18:14 |
quote:
dat had ik dus gebruikt, zat ook even te kijken naar phpQuery, maar dat had ik nog nooit eerder gebruikt. |
Crutch | woensdag 19 maart 2014 @ 18:45 |
quote: Of good ol' DOMDocument, als is dat best een hassle, zal ongetwijfeld sneller zijn. |
TwenteFC | woensdag 19 maart 2014 @ 18:50 |
quote: Ongetwijfeld, maar wel een penswerk  |
Elelfem | zondag 23 maart 2014 @ 09:48 |
Een nieuwe dummie vraag:
Ik wil graag vanuit een verzendbevestiging van een formulier dat de gebruiker geredirect wordt naar de homepage.
Daarvoor gebruik ik:
1 2 3 4 5 6 | <?php // Die with a success message wp_die("<span class='success'><a href='http://hpgonline.nl/shop/hpgroep-nieuw/' title='Terug naar de homepage'><img src='http://hpgonline.nl/shop/hpgroep-nieuw/wp-content/uploads/2013/10/favicon.png' style='float: right;' alt='Logo HPG'/></a><br/> Dank voor uw aanvraag. De offerte aanvraag is door HPG ontvangen.<br />We nemen spoedig contact met u op! </span><meta http-equiv="refresh" content="5;url=http://hpgonline.nl/shop/hpgroep-nieuw/" />",'Het bericht is door HPG ontvangen!'); } ?> |
Maar die werkt 'natuurlijk' niet.
Wat zou wel moeten werken? |
slacker_nl | zondag 23 maart 2014 @ 10:54 |
Prachtig, maak er een test voor en ga debuggen. |
Robuustheid | zondag 23 maart 2014 @ 11:14 |
Als ik deze code uittik:
1 2 3 4 5 6 | <<?php $test = 10;
echo "Dit is een test".($test > 5 ? "score is hoger dan 10":"score is lager dan 10");
?> |
Dan blijft het venstertje leeg. Geen foutmelding, niks.
1 2 3 4 5 6 | <<?php $test = 10;
echo "Dit is een test".($test>5)? "score is hoger dan 10":"score is lager dan 10";
?> |
Werkt ook niet. Wat gaat er hier mis? |
papernote | zondag 23 maart 2014 @ 11:17 |
Er staan twee < bij <?php. |
TwenteFC | maandag 24 maart 2014 @ 19:14 |
quote: Ben jij recentelijk begonnen met TDD ofzo? Komt de laatste tijd wel erg vaak terug in je posts . |
Diabox | maandag 24 maart 2014 @ 20:34 |
quote: Klanten willen ni betalen voor tests! |
slacker_nl | maandag 24 maart 2014 @ 20:51 |
quote: Nee, dat doe ik al een tijdje, maar ik heb hier heel lang niet gepost.. en TDD ftw (en klanten betalen ervoor, wedden!!). Een collega verwees me naar Extreme Programming: "If you don't test, you don't do extreme programming" - je weet tog?! Maar op werk ben ik nu soort van verantwoordelijk voor de testsuite van onze applicatie, dus ja, beetje beroepsdeformatie is het wel. |
TwenteFC | maandag 24 maart 2014 @ 23:03 |
quote: Op maandag 24 maart 2014 20:51 schreef slacker_nl het volgende:[..] Nee, dat doe ik al een tijdje, maar ik heb hier heel lang niet gepost.. en TDD ftw (en klanten betalen ervoor, wedden!!). Een collega verwees me naar Extreme Programming: "If you don't test, you don't do extreme programming" - je weet tog?! Maar op werk ben ik nu soort van verantwoordelijk voor de testsuite van onze applicatie, dus ja, beetje beroepsdeformatie is het wel. Ik zou willen dat de baas er hier ook zo overdacht, maar helaas is devven niet onze core business en het enige waar hij omgeeft is dat zijn wensenlijstjes zo vlot mogelijk weggewerkt zijn.
We hebben zelfs meer dan een jaar lang moeten zeuren een acceptatieserver, wtf
Gelukkig mijn meeste persoonlijke projectjes wel netjes getest, voor een groot deel.
PHPSpec FTW.  |
KomtTijd... | maandag 24 maart 2014 @ 23:41 |
quote: Dat maakt het des te gekker, want zelfs al zou de hele code niet draaien, zou er op zijn minst een < moeten staat  Kortom, probleem is niet de code maar het hele bestand wordt niet aangeroepen.
quote: Op zondag 23 maart 2014 09:48 schreef Elelfem het volgende:Een nieuwe dummie vraag: Ik wil graag vanuit een verzendbevestiging van een formulier dat de gebruiker geredirect wordt naar de homepage. Daarvoor gebruik ik: [ code verwijderd ] Maar die werkt 'natuurlijk' niet. Wat zou wel moeten werken? Hoe kun je in hemelsnaam niet zien wat daar mis mee is? Zit je zonder syntax highlighting te werken ofzo? heb je error_reporting en alles uit staan? |
Devolution | dinsdag 25 maart 2014 @ 07:36 |
quote: Op maandag 24 maart 2014 23:41 schreef KomtTijd... het volgende:[..] Dat maakt het des te gekker, want zelfs al zou de hele code niet draaien, zou er op zijn minst een < moeten staat  Kortom, probleem is niet de code maar het hele bestand wordt niet aangeroepen. [..] Hoe kun je in hemelsnaam niet zien wat daar mis mee is? Zit je zonder syntax highlighting te werken ofzo? heb je error_reporting en alles uit staan? Denkt de browser niet dat het een HTML tag is en showt ie em daarom niet? Of is er ook in de source niets te zien? |
Boze_Appel | dinsdag 25 maart 2014 @ 07:59 |
quote: Op maandag 24 maart 2014 23:41 schreef KomtTijd... het volgende:[..] Hoe kun je in hemelsnaam niet zien wat daar mis mee is? Zit je zonder syntax highlighting te werken ofzo? heb je error_reporting en alles uit staan? Het is een bedrijf dat papier doet. Linkjes naar de 'nieuwe site' staan in de voorbeeldcode. Dat zulke archaïsche bedrijven weinig van het grote boze internet snappen verbaast mij weinig.
Of het is gewoon nephew art. "Ik kan wordpress installeren, dus ik ben programmeur."  |
slacker_nl | dinsdag 25 maart 2014 @ 08:36 |
quote: Op maandag 24 maart 2014 23:03 schreef TwenteFC het volgende:Ik zou willen dat de baas er hier ook zo overdacht, maar helaas is devven niet onze core business en het enige waar hij omgeeft is dat zijn wensenlijstjes zo vlot mogelijk weggewerkt zijn. Het kost m'n baas meer om het niet te testen, dan om het wel te testen... Dan is de keuze snel gemaakt. |
Sitethief | dinsdag 25 maart 2014 @ 10:54 |
quote: Das wel heel erg korte termijn denken... |
slacker_nl | dinsdag 25 maart 2014 @ 13:55 |
quote: Why? |
Sitethief | dinsdag 25 maart 2014 @ 14:25 |
quote: Het kost toch altijd meer geld om verderop in het proces dingen te fixen dan voordat je software naar klant/publiek doorzet. Ik weet verder niet in welke tak jij precies werkzaam bent, maar das toch wel redelijk algemeen? |
WyriHaximus | dinsdag 25 maart 2014 @ 15:24 |
quote: Op dinsdag 25 maart 2014 14:25 schreef Sitethief het volgende:[..] Het kost toch altijd meer geld om verderop in het proces dingen te fixen dan voordat je software naar klant/publiek doorzet. Ik weet verder niet in welke tak jij precies werkzaam bent, maar das toch wel redelijk algemeen? Dat kan je dus voorkomen met TDD. Door je spullen daar al gelijk goed op te bouwen kost het je later veel minder tijd om rare bugs op te lossen. Omdat je alle losse componenten getest heb hoe je alleen maar het component wat voor het probleem zorgt te debuggen. |
TwenteFC | dinsdag 25 maart 2014 @ 18:24 |
quote: Het grootste gedeelte hangt nog in elkaar met een index bestand waar staat "include "$_GET['pagina']".include.php"

En nog erger is paginas met meerdere niveaus die dan bijv.
400.include.php heet
daar staat dan in
1 2 3 4 5 6 7 | if(isset($_POST)){ include "400_opslaan.inc.php" }else if($_GET['actie'] == 'blaa'){ include "400_blaa.include.php }else{ include "400_formulier.include.php } |
Kan wel janken soms. Helemaal met variabelen die nergens gedefinieerd worden en dat je gewoon 5 minuten kwijt bent aan het zoeken van die variabele wat dan een hidden post veld is.
Goffedomme. |
Diabox | dinsdag 25 maart 2014 @ 18:41 |
quote: Op dinsdag 25 maart 2014 15:24 schreef WyriHaximus het volgende:[..] Dat kan je dus voorkomen met TDD. Door je spullen daar al gelijk goed op te bouwen kost het je later veel minder tijd om rare bugs op te lossen. Omdat je alle losse componenten getest heb hoe je alleen maar het component wat voor het probleem zorgt te debuggen. Dan zou empirisch bewijs dit ook weerspiegelen in termen van productiviteit; er is geen consistente lijn te trekken door empirisch bewijs wat dat betreft. Zeer zeker niet in een industrial setting, waar de trend lijkt dat het productiviteit negatief beinvloedt.
Zelfs, tegen de verwachtingen in, heeft het geen consistent effect op de interne kwaliteit van code. Vooral coupling en cohesie lijden eronder (complexiteit [McCabe's] wordt dan weer wel vaak beter, maar ik vind de hele meting van complexiteit zo enorm nietszeggend, fungeert een beetje als surrogaat van LOC). |
slacker_nl | dinsdag 25 maart 2014 @ 21:36 |
quote: Op dinsdag 25 maart 2014 14:25 schreef Sitethief het volgende:Het kost toch altijd meer geld om verderop in het proces dingen te fixen dan voordat je software naar klant/publiek doorzet. Ik weet verder niet in welke tak jij precies werkzaam bent, maar das toch wel redelijk algemeen? Lees goed wat er staat: Het kost meer geld om het *niet* te testen, dan om het wel te testen. Maw, zonder tests kost het mijn baas geld en met tests niet. Of minder.
Verder is het niet helemaal waar wat je zegt, maar deel ik die mening wel, al ben ik nu eea aan het lezen dat wat anders zegt, onder meer door meer testdriven development te doen.

 |
TwenteFC | dinsdag 25 maart 2014 @ 22:09 |
Ben alles behalve een pro in TDD maar ik geloof ook wel dat het op de lange termijn zorgt voor code die veel beter te managen is.
En het is sowieso niet verkeerd om vooraf door middel van tests je functionaliteit af te bakenen.
Essentieel lijkt me wel dat je tests ook van een behoorlijk niveau zijn en dat je het ook consistent doorvoert, merk dat ik hier zelf ook wel eens "fouten" in maak. Dat ik onderdelen niet of slecht test. |
Diabox | woensdag 26 maart 2014 @ 00:17 |
quote: Op dinsdag 25 maart 2014 21:36 schreef slacker_nl het volgende:[..] Lees goed wat er staat: Het kost meer geld om het *niet* te testen, dan om het wel te testen. Maw, zonder tests kost het mijn baas geld en met tests niet. Of minder. Verder is het niet helemaal waar wat je zegt, maar deel ik die mening wel, al ben ik nu eea aan het lezen dat wat anders zegt, onder meer door meer testdriven development te doen. [ afbeelding ] [ afbeelding ] En hoe geldt die curve niet voor iemand die niet z'n tests van tevoren schrijft, maar direct na het implementeren van z'n methode? Of tijdens het schrijven van z'n methode? En heb je empirisch bewijs die de bewering dat TDD kostenefficiënt is steunt?
En evenzo de vraag; waarom zou het niet even goed duurder zijn om na je tests de implementaties te schrijven? Je draait twee dingen om qua volgorde, maar wat heeft dat met kosten te maken?
Uit een systematische review:
quote: The available evidence from the trials suggests that TDD does not have a consistent effect on productivity. The evidence from controlled experiments suggests an improvement in productivity when TDD is used. However, the pilot studies provide mixed evidence, some in favor of and others against TDD. In the industrial studies, the evidence suggests that TDD yields worse productivity. Even when considering only the more rigorous studies (L2 and L3), the evidence is equally split for and against a positive effect on productivity. Table 12-5 classifies the trials according to effects on productivity. 
[ Bericht 7% gewijzigd door Diabox op 26-03-2014 01:02:51 ] |
slacker_nl | woensdag 26 maart 2014 @ 07:39 |
quote: Op woensdag 26 maart 2014 00:17 schreef Diabox het volgende:[..] En hoe geldt die curve niet voor iemand die niet z'n tests van tevoren schrijft, maar direct na het implementeren van z'n methode? Of tijdens het schrijven van z'n methode? En heb je empirisch bewijs die de bewering dat TDD kostenefficiënt is steunt? En evenzo de vraag; waarom zou het niet even goed duurder zijn om na je tests de implementaties te schrijven? Je draait twee dingen om qua volgorde, maar wat heeft dat met kosten te maken? Uit een systematische review: [..] Of je voor of na je implementatie tests schrijft boeit me niet. Zolang je ze maar schrijft. En het gaat hier over de kosten van verandering die niet een stijle curve omhoog hebben. Dus het dogma: 'veranderingen laat in het proces kosten veel geld' wordt hiermee van tafel geveegd. Het gaat hierbij niet om, vooraf of achteraf tests schrijven, beide varainten hebben voordelen. Ik doe zelf soms tests schrijven en dan coden of achteraf schrijven. Ligt eraan wat ik aan het doen ben.
Ik ben er wel van overtuigd dat zonder tests te maken de kosten van changes omhoog schieten.
Wat is overigens de definitie van productiviteit in die onderzoeken?
[ Bericht 2% gewijzigd door slacker_nl op 26-03-2014 08:01:40 ] |
Diabox | woensdag 26 maart 2014 @ 17:22 |
quote: Op woensdag 26 maart 2014 07:39 schreef slacker_nl het volgende:[..] Of je voor of na je implementatie tests schrijft boeit me niet. Zolang je ze maar schrijft. En het gaat hier over de kosten van verandering die niet een stijle curve omhoog hebben. Dus het dogma: 'veranderingen laat in het proces kosten veel geld' wordt hiermee van tafel geveegd. Het gaat hierbij niet om, vooraf of achteraf tests schrijven, beide varainten hebben voordelen. Ik doe zelf soms tests schrijven en dan coden of achteraf schrijven. Ligt eraan wat ik aan het doen ben. Ik ben er wel van overtuigd dat zonder tests te maken de kosten van changes omhoog schieten. Ah, ja dat je tests wilt schrijven kan ik het niet meer dan eens mee zijn (zeer zeker vanuit een developer perspectief). Dacht meer dat je TDD schaalde boven andere methodieken waarbij werd getest, maar nu begrijp ik je beter.
quote: Wat is overigens de definitie van productiviteit in die onderzoeken?
Variabel, zitten er volgens mij meerdere tussen die ook LOC/u mee beschouwen  |
Darkomen | donderdag 27 maart 2014 @ 14:20 |
Iemand ervaring met php-opencloud? https://github.com/rackspace/php-opencloud Voor interactie met object stores, heb namelijk half succes en half niet maar er is zo weinig over te vinden, en namespaces etc is nog wat ingewikkeld voor mij 
Verbinding maken lukt, containers opvragen lukt, containers aanmaken lukt. Maar service lijst (catalog) opvragen gaat fout.
Account gegevens natuurlijk verwijderd.
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 | <?php
require_once "vendor/autoload.php";
use OpenCloud\OpenStack; $client = new OpenStack('', array( 'username' => "", 'password' => "", 'tenantName' => "" )); $client->authenticate();
echo '<pre>'; $catalog = $client->getCatalog(); // Return a list of OpenCloud\Common\Service\CatalogItem objects foreach ($catalog->getItems() as $catalogItem) {
$name = $catalogItem->getName(); $type = $catalogItem->getType();
if ($name == 'cloudServersOpenStack' && $type == 'compute') { break; }
// Array of OpenCloud\Common\Service\Endpoint objects $endpoints = $catalogItem->getEndpoints(); foreach ($endpoints as $endpoint) { print_r($endpoint); if ($endpoint->getRegion() == 'NL') { echo $endpoint->getPublicUrl(); } } } |
1 2 3 4 5 6 7 8 9 | stdClass Object ( [adminURL] => https://compute.stack.cloudvps.com/v2/OBJSTOREKEY [region] => NL [internalURL] => https://compute.stack.cloudvps.com/v2/OBJSTOREKEY [publicURL] => https://compute.stack.cloudvps.com/v2/OBJSTOREKEY )
Fatal error: Call to undefined method stdClass::getRegion() in /var/www/objStore/catalog.php on line 30 |
Zoals je ziet kan hij de functon getRegion niet vinden, die zit ergens in autoloaded classes.
Maar dit is de eerste keer dat ik met een paket met autoloader werk en waar de vendor map dmv composer is geinstalleerd.
Vendor map is dan wel verplaats vanuit de root, maar lijkt mij geen probleem
[ Bericht 42% gewijzigd door Darkomen op 27-03-2014 16:14:22 ] |
Reemi | zondag 30 maart 2014 @ 13:12 |
Ik zit met de volgende structuur:
Een tabel met categorieën Een linktabel, die product_id - categorie_id koppels bevat Een productentabel
Hoe kan ik nu alle categorieën die bijvoorbeeld meer dan 2 producten met een bepaalde eigenschap bevatten, ophalen? Ik zit redelijk vast.  |
boem-dikkie | zondag 30 maart 2014 @ 13:13 |
quote: Op zondag 30 maart 2014 13:12 schreef Reemi het volgende:Ik zit met de volgende structuur: Een tabel met categorieën Een linktabel, die product_id - categorie_id koppels bevat Een productentabel Hoe kan ik nu alle categorieën die bijvoorbeeld meer dan 2 producten met een bepaalde eigenschap bevatten, ophalen? Ik zit redelijk vast.  Wat heb je geprobeerd? |
Reemi | zondag 30 maart 2014 @ 13:14 |
quote: - Subquery, maar dat vindt mijn server niet erg leuk. - Een dubbele JOIN met GROUP BY, werkt, maar ik vermoed dat dat niet de meest efficiënte oplossing is. |
Chandler | zondag 30 maart 2014 @ 14:35 |
nvm |
maikel112 | zondag 30 maart 2014 @ 20:57 |
Iemand die mij uit de brand kan helpen.Toen ik mijn Wordpress website had opgezet een aantal jaar geleden werd automatisch bij elke pagina "| website naam" toegevoegd achter elke pagina titel.Nu wil ik dit weer realiseren, met uitzondering van de homepage.De code die ik nu heb is als volgt:1
1 | <title><?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); } elseif (is_single() ) { single_post_title(); } elseif (is_page() ) { single_post_title(); } elseif ( is_404() ) { echo 'Pagina niet gevonden'; } else { wp_title('',true); } ?></title> |
Waar voeg ik de statische titel toe....? |
KomtTijd... | zondag 30 maart 2014 @ 21:17 |
...En dan zijn er nog steeds mensen die beweren dat wordpress-templates zo makkelijk zijn. |
maikel112 | zondag 30 maart 2014 @ 21:47 |
Probleem is al opgelost, heb het via een plugin geregeld. |
Light | maandag 31 maart 2014 @ 07:44 |
quote: Op maandag 24 maart 2014 23:03 schreef TwenteFC het volgende:[..] Ik zou willen dat de baas er hier ook zo overdacht, maar helaas is devven niet onze core business en het enige waar hij omgeeft is dat zijn wensenlijstjes zo vlot mogelijk weggewerkt zijn. We hebben zelfs meer dan een jaar lang moeten zeuren een acceptatieserver, wtf  Gelukkig mijn meeste persoonlijke projectjes wel netjes getest, voor een groot deel. PHPSpec FTW.  Dus eigenlijk wil hij wil dat je gaat testen, maar moet je het hem niet direct vertellen. Als er vaak aanpassingen in bestaande code gedaan worden, maken unit tests het leven makkelijker en kun je sneller opleveren. |
TwenteFC | maandag 31 maart 2014 @ 18:00 |
quote: Op maandag 31 maart 2014 07:44 schreef Light het volgende:[..] Dus eigenlijk wil hij wil dat je gaat testen, maar moet je het hem niet direct vertellen. Als er vaak aanpassingen in bestaande code gedaan worden, maken unit tests het leven makkelijker en kun je sneller opleveren. Probleem is natuurlijk wel dat we met een bak ontestbare code zitten, dat moet worden gerefactored. |
henrivo | maandag 31 maart 2014 @ 18:04 |
Iemand ervaring met Symfony2 i.c.m. CCDNForumForumBundle? Ik installeer telkens eerst FOSUserBundle, so far so good. Dan require ik "codeconsortium/ccdn-forum-bundle": "dev-master" in de composer.json en update, daarna zet ik
new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new CCDNForum\ForumBundle\CCDNForumForumBundle(),
in de bundle-array en zet ik
CCDNForumForumBundle: resource: "@CCDNForumForumBundle/Resources/config/routing.yml" in routing.yml zoals allemaal is aangegeven in de docs. Maar, nu komt het,
Van stap 4 snap ik geen sodemieter 
# app/config/config.yml # Doctrine Configuration doctrine: orm: default_entity_manager: default auto_generate_proxy_classes: "%kernel.debug%" resolve_target_entities: Symfony\Component\Security\Core\User\UserInterface: Acme\YourUserBundle\Entity\User entity_managers: default: mappings: CCDNForumForumBundle: mapping: true type: yml dir: "Resources/config/doctrine" alias: ~ prefix: CCDNForum\ForumBundle\Entity is_bundle: true
Moet ik dan het hele doctrine-gedeelte vervangen in app/config/config.yml? Moet ik het ernaast plaatsen? Snap er geen sikkepit van  |
henrivo | maandag 31 maart 2014 @ 19:08 |
Great.
Na:
1 | php app/console doctrine:schema:update --dump-sql |
Krijg ik de melding:
1 2 | [Doctrine\Common\Persistence\Mapping\MappingException] The class 'Acme\UserBundle\Entity\User' was not found in the chain configured namespaces CCDNForum\ForumBundle\Entity |
|
henrivo | maandag 31 maart 2014 @ 19:42 |
Laat maar, opgelost! |
KomtTijd... | maandag 31 maart 2014 @ 19:42 |
Ik snap echt geen reet van je post. Doe eens wat opmaak gebruiken ofzo.
Die foutmelding duidt erop dat je nog een referentie naar de demo-bundle hebt. |
henrivo | maandag 31 maart 2014 @ 19:47 |
quote: Op maandag 31 maart 2014 19:42 schreef KomtTijd... het volgende:Ik snap echt geen reet van je post. Doe eens wat opmaak gebruiken ofzo. Die foutmelding duidt erop dat je nog een referentie naar de demo-bundle hebt. Ja, had het even snel neergeplempt. Posts mogen weg wat mij betreft, ik keek niet goed want het antwoord stond gewoon op het forum van codeconsortium zelf.
Edit: Ben zelf nog nieuw in Symfony2-wereld, vandaar. |
Chandler | dinsdag 1 april 2014 @ 09:42 |
quote: Op maandag 31 maart 2014 19:47 schreef henrivo het volgende:[..] Ja, had het even snel neergeplempt. Posts mogen weg wat mij betreft, ik keek niet goed want het antwoord stond gewoon op het forum van codeconsortium zelf. Edit: Ben zelf nog nieuw in Symfony2-wereld, vandaar. Misschien een stuk netter om de oplossing te plaatsen, je weet maar nooit of er iemand tegen een zelfde soort probleem aanloopt!  |
Sitethief | dinsdag 1 april 2014 @ 09:57 |
quote: Op dinsdag 1 april 2014 09:42 schreef Chandler het volgende:[..] Misschien een stuk netter om de oplossing te plaatsen, je weet maar nooit of er iemand tegen een zelfde soort probleem aanloopt!  https://xkcd.com/979/ |
slacker_nl | dinsdag 1 april 2014 @ 10:34 |
quote:
Mijn thee zat bijna op m'n beeldscherm. |
Sitethief | dinsdag 1 april 2014 @ 10:44 |
quote: Hover eens met je muis over de strip . |
#ANONIEM | dinsdag 1 april 2014 @ 11:33 |
quote: Niet irritanters als dat. Vooral als mensen dan ook een hele post maken dat ze het antwoord na 3 dagen zoeken hebben gevonden en dan iedereen in de thread bedanken. Om daarna niet het antwoord te posten en nooit meer terug te zien. |
Chandler | dinsdag 1 april 2014 @ 11:41 |
quote: Op dinsdag 1 april 2014 11:33 schreef totalvamp het volgende:[..] Niet irritanters als dat. Vooral als mensen dan ook een hele post maken dat ze het antwoord na 3 dagen zoeken hebben gevonden en dan iedereen in de thread bedanken. Om daarna niet het antwoord te posten en nooit meer terug te zien. Zeer vervelend inderdaad, zulke figuren help ik dan ook maar 1x  |
Civilian | dinsdag 1 april 2014 @ 12:07 |
Zeg, doet PHP.net bij jullie ook zo raar? Het logo is vervangen door vreemde gifjes en mn pagina's draaien rond/auto refreshen.
Ik weet niet of 't een 1 april grap moet zijn of dat de site weer eens gehacked is, maar 't is rete irritant  |
Sitethief | dinsdag 1 april 2014 @ 12:54 |
quote: Op dinsdag 1 april 2014 12:07 schreef Civilian het volgende:Zeg, doet PHP.net bij jullie ook zo raar? Het logo is vervangen door vreemde gifjes en mn pagina's draaien rond/auto refreshen. Ik weet niet of 't een 1 april grap moet zijn of dat de site weer eens gehacked is, maar 't is rete irritant  Ik vermoed 1 april grap, Kheb het hier ook . |
KomtTijd... | dinsdag 1 april 2014 @ 12:56 |
Zodeknetter Je zal maar net volop bezig zijn een paar nieuwe functies te implementeren zeg  |
Sitethief | dinsdag 1 april 2014 @ 13:09 |
quote: http://blog.freenode.net/2014/04/googleplusfreenode/
 |
henrivo | dinsdag 1 april 2014 @ 13:25 |
quote: Op dinsdag 1 april 2014 09:42 schreef Chandler het volgende:[..] Misschien een stuk netter om de oplossing te plaatsen, je weet maar nooit of er iemand tegen een zelfde soort probleem aanloopt!  Je hebt gelijk, bij deze:
Ik moest kennelijk deze lap tekst er ook nog bij zetten in de config. Vraag me niet wat het doet, ik zag het ergens anders en heb het zelf overgenomen en sindsdien werkt het 
1 2 3 4 5 6 7 8 9 | mappings: FOSUserBundle: ~ AcmeUserBundle: mapping: true type: annotation #dir: "Resources/config/doctrine" alias: ~ prefix: Acme\UserBundle\Entity is_bundle: true |
|
Civilian | dinsdag 1 april 2014 @ 15:05 |
Oh trouwens, net mn ZCE examen gehaald! ^^ |
Aether | dinsdag 1 april 2014 @ 16:23 |
Use the Index, Luke!
Test je kennis: 3 minute test. |
Chandler | dinsdag 1 april 2014 @ 17:16 |
quote: Gefeliciteerd! ook in loon omhoog gegaan?  |
Civilian | dinsdag 1 april 2014 @ 17:42 |
quote: Nog niet Maar de hele cursus + examen is door mn werkgever betaald. Dus dat is al wel mooi meegenomen  |
Chandler | woensdag 2 april 2014 @ 08:18 |
quote: Zeker mooi meegenomen!  |
Modus | woensdag 2 april 2014 @ 19:01 |
Ik probeer PHP te installeren maar vind de stappen van PHP.net maar wat onduidelijk tot nu toe. Kan dat ook hier? Heb Windows XP (I know, daar gaan we het nu niet over hebben) en reeds IIS 5.1 geïnstalleerd.
quote: If PHP is used with IIS then choose PHP 5.3 VC9 Non Thread Safe or PHP 5.2 VC6 Non Thread Safe; Die eerste genomen, kan je kiezen tussen een zip of een installer. Eerst die laatste gedaan, beetje vaag allemaal, lees ik ergens dat je de installer niet zou moeten gebruiken maar waarom niet staat er niet bij. Dus de zip gedownload en die zoals aanbevolen uitgepakt naar C:\PHP.
Op deze pagina http://www.php.net/manual/en/install.windows.manual.php staat hoe de directorystructuur na uitpakken zou moeten zijn. Ik heb echter geen subdir Pear (geen idee waarom niet). Waarom heb ik die niet en is dat erg? Laten we hier maar eens mee beginnen. |
#ANONIEM | woensdag 2 april 2014 @ 20:05 |
quote: Op woensdag 2 april 2014 19:01 schreef Modus het volgende:Ik probeer PHP te installeren maar vind de stappen van PHP.net maar wat onduidelijk tot nu toe. Kan dat ook hier? Heb Windows XP (I know, daar gaan we het nu niet over hebben) en reeds IIS 5.1 geïnstalleerd. [..] Die eerste genomen, kan je kiezen tussen een zip of een installer. Eerst die laatste gedaan, beetje vaag allemaal, lees ik ergens dat je de installer niet zou moeten gebruiken maar waarom niet staat er niet bij. Dus de zip gedownload en die zoals aanbevolen uitgepakt naar C:\PHP. Op deze pagina http://www.php.net/manual/en/install.windows.manual.php staat hoe de directorystructuur na uitpakken zou moeten zijn. Ik heb echter geen subdir Pear (geen idee waarom niet). Waarom heb ik die niet en is dat erg? Laten we hier maar eens mee beginnen. Mag ik vragen waarom je niet een kant-en-klare WAMP-installatie draait?
http://www.wampserver.com/en/
Daarnaast wordt Windows XP haast niet meer ondersteund als het gaat om veiligheidsupdates etc. Ik raad je echt aan te upgraden, maar dat is off-topic. |
Boze_Appel | woensdag 2 april 2014 @ 20:37 |
Sowieso kan je voor wamp maar alvast een doos tissues klaarzetten. Wat een bende is dat. |
#ANONIEM | woensdag 2 april 2014 @ 20:39 |
quote: Valt wel mee toch? Installen en runnen maar. 
Een Linux-server is natuurlijk te prefereren.
[ Bericht 4% gewijzigd door #ANONIEM op 02-04-2014 20:40:04 ] |
Modus | woensdag 2 april 2014 @ 20:47 |
Geïnstalleerd, maar 'Deze toepassing kan niet worden gestart omdat php_mbstring.dll niet kan worden gevonden. Opnieuw installeren van deze toepassing kan dit probleem oplossen'.
Nog een keer installeren helpt niet. In die zip van PHP.net zit wel een bestand met die naam, is neem ik aan hetzelfde, maar waar moet ik het dan heen kopiëren?
-edit ik geloof dat ik hem nu toch aan de praat heb
[ Bericht 4% gewijzigd door Modus op 02-04-2014 22:39:52 ] |
#ANONIEM | donderdag 3 april 2014 @ 01:54 |
quote: Op woensdag 2 april 2014 20:47 schreef Modus het volgende:Geïnstalleerd, maar 'Deze toepassing kan niet worden gestart omdat php_mbstring.dll niet kan worden gevonden. Opnieuw installeren van deze toepassing kan dit probleem oplossen'. Nog een keer installeren helpt niet. In die zip van PHP.net zit wel een bestand met die naam, is neem ik aan hetzelfde, maar waar moet ik het dan heen kopiëren? -edit ik geloof dat ik hem nu toch aan de praat heb Waarom niet gewoon XAMPP installeren, ben je in 1x klaar. |
KomtTijd... | donderdag 3 april 2014 @ 10:16 |
quote: Tering dat ga je toch niet menen? Windows kan geen PHP5.5 draaien? 5.2 is al jaren uit de support en 5.3 binnenkort ook. |
Modus | donderdag 3 april 2014 @ 12:58 |
quote:
quote: Omdat ik de ballen verstand heb van het hele technische aspect eromheen, ik wil eerst alleen maar een beetje de taal leren, dan moet je nu eenmaal een webservertje hebben. De Wampserverversie die ik nu heb geïnstalleerd, heeft PHP 5.4.16. |
KomtTijd... | donderdag 3 april 2014 @ 13:11 |
Oh gelukkig  |
slacker_nl | donderdag 3 april 2014 @ 14:15 |
http://windows.php.net/ zou gewoon 5.5 moeten kunnen gebruiken..
Aha, hij gebruikt XP (unsupported) en wilt dan PHP gaan gebruiken. Makkelijk doen is zo 2012 |
Chandler | donderdag 3 april 2014 @ 14:18 |
Is er ook eens php/apache/mysql distro met imagemagick? voor winhoos? want het installeren van imagemagick is mij tot op heden nog steeds niet gelukt (werkend krijgen onder php...) |
Modus | donderdag 3 april 2014 @ 14:31 |
quote: Ms heb ik op dit moment wel geen geld voor een upgrade? Ben overigens wel aan het kijken wat de mogelijkheden zijn, want helemaal niks veranderen lijkt me ook niet slim.
[ Bericht 8% gewijzigd door Modus op 03-04-2014 14:57:34 ] |
Tijn | donderdag 3 april 2014 @ 14:59 |
quote: Op donderdag 3 april 2014 14:31 schreef Modus het volgende:[..] Ms heb ik op dit moment wel geen geld voor een upgrade? Ben overigens wel aan het kijken wat de mogelijkheden zijn, want helemaal niks veranderen lijkt me ook niet slim. Als je wil ontwikkelen met PHP zou ik zeggen: installeer Ubuntu. Kost niks en het is veel makkelijker alles aan de praat te krijgen en up-to-date te houden dan Windows. |
Modus | donderdag 3 april 2014 @ 15:14 |
quote: Op donderdag 3 april 2014 14:59 schreef Tijn het volgende:[..] Als je wil ontwikkelen met PHP zou ik zeggen: installeer Ubuntu. Kost niks en het is veel makkelijker alles aan de praat te krijgen en up-to-date te houden dan Windows. Ik moet nog uitzoeken of ik met wellicht een paar reepjes extra geheugen kan upgraden naar Win7, dat zou ik wel doen dan. Zoals mijn PC (uit 2006) nu is, draait dat anders ws niet of zeer traag.
Ik ben een beetje 'huiverig' voor zo'n heel ander OS als Ubuntu (draaien reguliere programma's daar ook allemaal onder?) en heb weinig zin in weer een kale install (half jaartje geleden nog gedaan) maar als ik het goed begrepen heb, gebeurt dat bij een Windows upgrade dus ook. |
#ANONIEM | donderdag 3 april 2014 @ 15:16 |
quote: Op donderdag 3 april 2014 14:59 schreef Tijn het volgende:[..] Als je wil ontwikkelen met PHP zou ik zeggen: installeer Ubuntu. Kost niks en het is veel makkelijker alles aan de praat te krijgen en up-to-date te houden dan Windows. Waarom geen wampservertje op windows voor dev doeleinden installeren? |
Tijn | donderdag 3 april 2014 @ 15:31 |
quote: Ja, dat kan natuurlijk ook. Maar als je op XP zit en geen geld hebt om te upgraden en je computer voornamelijk gebruikt voor webdevelopment zou ik zeggen: ga voor Ubuntu. |
Modus | donderdag 3 april 2014 @ 15:35 |
quote: Op donderdag 3 april 2014 15:31 schreef Tijn het volgende:[..] Ja, dat kan natuurlijk ook. Maar als je op XP zit en geen geld hebt om te upgraden en je computer voornamelijk gebruikt voor webdevelopment zou ik zeggen: ga voor Ubuntu. Belangrijk detail: het is ook gewoon de PC die op internet zit aangesloten. . |
Tijn | donderdag 3 april 2014 @ 15:38 |
quote: Op donderdag 3 april 2014 15:14 schreef Modus het volgende:[..] Ik ben een beetje 'huiverig' voor zo'n heel ander OS als Ubuntu (draaien reguliere programma's daar ook allemaal onder?) Wat zijn "reguliere" programma's? Je hebt hartstikke veel software voor Ubuntu, maar als de vraag is "kan ik Windows-software in Ubuntu draaien?" dan is het antwoord over het algemeen nee. Maar zoiets als Apache, PHP en MySQL is geïnstalleerd in een handomdraai.
quote: en heb weinig zin in weer een kale install (half jaartje geleden nog gedaan) maar als ik het goed begrepen heb, gebeurt dat bij een Windows upgrade dus ook.
Dat zal toch niet? Ik heb al jaren geen Windows meer gebruikt, maar ik neem aan dat je toch wel gewoon van XP naar Windows 7 kunt upgraden met behoud van je applicaties en instellingen? |
Tijn | donderdag 3 april 2014 @ 15:39 |
quote: Waarom is dat een belangrijk detail? Natuurlijk zit je computer op internet aangesloten, ik begrijp niet wat je wilt zeggen met deze opmerking  |
Modus | donderdag 3 april 2014 @ 15:45 |
quote: Op donderdag 3 april 2014 15:38 schreef Tijn het volgende:[..] Wat zijn "reguliere" programma's? Je hebt hartstikke veel software voor Ubuntu, maar als de vraag is "kan ik Windows-software in Ubuntu draaien?" dan is het antwoord over het algemeen nee. Maar zoiets als Apache, PHP en MySQL is geïnstalleerd in een handomdraai. Gewoon de standaard dingen als Winamp, Word, Firefox.
[..]
quote: Dat zal toch niet? Ik heb al jaren geen Windows meer gebruikt, maar ik neem aan dat je toch wel gewoon van XP naar Windows 7 kunt upgraden met behoud van je applicaties en instellingen?
Ik weet het ook niet zeker.
quote: Op donderdag 3 april 2014 15:39 schreef Tijn het volgende:[..] Waarom is dat een belangrijk detail? Natuurlijk zit je computer op internet aangesloten, ik begrijp niet wat je wilt zeggen met deze opmerking  Alleen een beetje ontwikkelen kan natuurlijk prima zonder internet. Maar met XP straks het internet nog op wordt toch als grootste risicofactor aangegeven? |
#ANONIEM | donderdag 3 april 2014 @ 15:55 |
quote: Op donderdag 3 april 2014 15:31 schreef Tijn het volgende:[..] Ja, dat kan natuurlijk ook. Maar als je op XP zit en geen geld hebt om te upgraden en je computer voornamelijk gebruikt voor webdevelopment zou ik zeggen: ga voor Ubuntu. Tja, geen idee of diegene affiniteit met linux heeft, anders is het nog wel een drastische wijziging  |
#ANONIEM | donderdag 3 april 2014 @ 15:57 |
quote: Op donderdag 3 april 2014 15:45 schreef Modus het volgende:Alleen een beetje ontwikkelen kan natuurlijk prima zonder internet. Maar met XP straks het internet nog op wordt toch als grootste risicofactor aangegeven? Ach welnee. |
Tijn | donderdag 3 april 2014 @ 16:06 |
quote: Firefox is er ook voor Linux. Winamp en Word niet. Maar dat wil niet zeggen dat je in Ubuntu geen muziek kunt luisteren of brieven kunt typen.
Er bestaat niet zoiets als "standaard software". Voor jou zijn dit 3 voorbeelden van applicaties die je elke dag gebruikt, maar ik gebruik ze alledrie zelden tot nooit.
quote: Ik weet het ook niet zeker. Het lijkt me bijzonder sterk dat er geen upgradepath van XP naar 7 is zonder dataverlies.
quote: Alleen een beetje ontwikkelen kan natuurlijk prima zonder internet. Maar met XP straks het internet nog op wordt toch als grootste risicofactor aangegeven?
Het is natuurlijk moeilijk in te schatten wat er gaat gebeuren, omdat niemand weet wat voor onveiligheden er nog in XP blijken te zitten. Maar je zou zeggen dat de grootste gaten er na 13 jaar wel uit zijn, toch? Bovendien houdt je router/firewall ook al een hoop aanvallen tegen. Ik zou zeggen dat als je niet al te rare software installeert en een beetje oppast met waar je op klikt, je niet zoveel kan gebeuren.
Het grootste probleem waar je tegenaan gaat lopen als je op XP blijft hangen is dat er op een gegeven moment helemaal geen software meer uitkomt die je kunt draaien. |
Tijn | donderdag 3 april 2014 @ 16:07 |
quote: Ik vind dat je een beetje flexibiliteit van geest wel mag verwachten van een ontwikkelaar. Zo raar is het niet als je een handjevol programmeertalen en besturingssystemen beheerst, toch? |
Sitethief | donderdag 3 april 2014 @ 16:14 |
quote: Op donderdag 3 april 2014 16:07 schreef Tijn het volgende:[..] Ik vind dat je een beetje flexibiliteit van geest wel mag verwachten van een ontwikkelaar. Zo raar is het niet als je een handjevol programmeertalen en besturingssystemen beheerst, toch? Ik heb het een half jaartje geprobeerd, maar ik ben een lui mens zodra ik thuis kom. Dus als ik dan iets wou doen was dat altijd lastiger dan dat dat onder mijn windhoos was. Ik had en heb geen behoefte een compleet nieuw OS van haver tot gort te leren kennen alleen maar om de correcte browserversie te kunnen installeren. Ik wil gewoon een werkend systeem hebben waar ik mijn zooi kan doen.
Op werk is wat anders, maar thuis ben ik lui wat dat betreft. |
slacker_nl | donderdag 3 april 2014 @ 19:06 |
quote: Op donderdag 3 april 2014 15:14 schreef Modus het volgende:[..] Ik moet nog uitzoeken of ik met wellicht een paar reepjes extra geheugen kan upgraden naar Win7, dat zou ik wel doen dan. Zoals mijn PC (uit 2006) nu is, draait dat anders ws niet of zeer traag. Ik ben een beetje 'huiverig' voor zo'n heel ander OS als Ubuntu (draaien reguliere programma's daar ook allemaal onder?) en heb weinig zin in weer een kale install (half jaartje geleden nog gedaan) maar als ik het goed begrepen heb, gebeurt dat bij een Windows upgrade dus ook. Een kale install op unix bestaat niet (nouja, hij bestaat, maar dan heb je een cli voor je snufferd en dan kan je gaan installen). Een gangbare distro heeft gelijk alles voor je geinstalleerd wat je als gangbare gebruiker kan gebruiken. En anders heb je altijd nog de live versies die je vanaf USB/CD kan bekijken zonder te installen (en je kan dan ook nog eens packages installen en devven als je wilt).
Wat je mogelijk zou kunnen proberen: http://www.vagrantup.com/
Devven op een linux doosje, binnen je Windows machine. |
Modus | donderdag 3 april 2014 @ 19:13 |
quote: Op donderdag 3 april 2014 16:06 schreef Tijn het volgende:Het is natuurlijk moeilijk in te schatten wat er gaat gebeuren, omdat niemand weet wat voor onveiligheden er nog in XP blijken te zitten. Maar je zou zeggen dat de grootste gaten er na 13 jaar wel uit zijn, toch? Bovendien houdt je router/firewall ook al een hoop aanvallen tegen. Ik zou zeggen dat als je niet al te rare software installeert en een beetje oppast met waar je op klikt, je niet zoveel kan gebeuren. Het grootste probleem waar je tegenaan gaat lopen als je op XP blijft hangen is dat er op een gegeven moment helemaal geen software meer uitkomt die je kunt draaien. Ik zou ook heus wel een keer overstappen maar nu zou het gewoon even slecht uitkomen. Verder heb ik het idee dat ik wel iets meer dan gemiddeld weet waar wel en niet op te klikken. Het probleem is idd een beetje dat niemand weet hoe en wat; dan is overstappen op een wel ondersteund systeem op zich geen rare stap natuurlijk.quote: Op donderdag 3 april 2014 16:07 schreef Tijn het volgende:[..] Ik vind dat je een beetje flexibiliteit van geest wel mag verwachten van een ontwikkelaar. Zo raar is het niet als je een handjevol programmeertalen en besturingssystemen beheerst, toch? Ik snap de gedachtengang wel, maar ik zou mezelf (nog) bepaald geen ontwikkelaar willen noemen. Klein beginnen. C:\mijneerstephppagina.php met "Hello World". . |
KomtTijd... | donderdag 3 april 2014 @ 19:16 |
Je hebt toch niet je C:-partitie je webroot gemaakt he? |
Modus | donderdag 3 april 2014 @ 19:17 |
quote: Op donderdag 3 april 2014 19:06 schreef slacker_nl het volgende:[..] Een kale install op unix bestaat niet (nouja, hij bestaat, maar dan heb je een cli voor je snufferd en dan kan je gaan installen). Een gangbare distro heeft gelijk alles voor je geinstalleerd wat je als gangbare gebruiker kan gebruiken. En anders heb je altijd nog de live versies die je vanaf USB/CD kan bekijken zonder te installen (en je kan dan ook nog eens packages installen en devven als je wilt). Wat je mogelijk zou kunnen proberen: http://www.vagrantup.com/Devven op een linux doosje, binnen je Windows machine. Ongetwijfeld goed bedoeld, maar ik snap weinig van wat je zegt. Zoals ik al zei, klein beginnen. "Linux-bak", hoor en zie die kreet zo vaak langskomen maar ik heb geen idee wat het nou precies is, en is volgens mij ook niet bijster relevant voor wat ik nu wil gaan doen. Correct me if I'm wrong. |
Modus | donderdag 3 april 2014 @ 19:19 |
quote: Nee, was slechts een voorbeeld. Heb nog helemaal geen webroot aangemaakt. Ook dat moet ik nog uitzoeken, want eik weet ik niet eens waarom dat dan fout/onverstandig zou zijn. |
slacker_nl | donderdag 3 april 2014 @ 19:30 |
quote: Op donderdag 3 april 2014 19:17 schreef Modus het volgende:[..] Ongetwijfeld goed bedoeld, maar ik snap weinig van wat je zegt. Zoals ik al zei, klein beginnen. "Linux-bak", hoor en zie die kreet zo vaak langskomen maar ik heb geen idee wat het nou precies is, en is volgens mij ook niet bijster relevant voor wat ik nu wil gaan doen. Correct me if I'm wrong. Ik trek mn handen hiervan af, succes! |
terdege | vrijdag 4 april 2014 @ 00:58 |
Hij wil gewoon kennis maken met PHP en jullie raden hem aan om van OS te veranderen? Modus ik zou gewoon XAMPP downloaden. Je installeert het, jet zet een aantal dingen aan in het menu, je zet je bestanden in de root directory (default is c/xampp/htdocs) en dan kan je je website zien door localhost/websiteurl in je browser te typen. Volgens mij heb ik zo ongeveer alles verteld wat nodig is om te beginnen. |
Modus | vrijdag 4 april 2014 @ 12:52 |
quote: Op vrijdag 4 april 2014 00:58 schreef terdege het volgende:Hij wil gewoon kennis maken met PHP en jullie raden hem aan om van OS te veranderen? Modus ik zou gewoon XAMPP downloaden. Je installeert het, jet zet een aantal dingen aan in het menu, je zet je bestanden in de root directory (default is c/xampp/htdocs) en dan kan je je website zien door localhost/websiteurl in je browser te typen. Volgens mij heb ik zo ongeveer alles verteld wat nodig is om te beginnen. Het was even pielen maar met nog wat hulp heb ik de eerste scriptjes werkend kunnen krijgen, met die Wampserver dus. Thanks. |
KomtTijd... | vrijdag 4 april 2014 @ 14:03 |
quote: Op donderdag 3 april 2014 19:19 schreef Modus het volgende:[..] Nee, was slechts een voorbeeld. Heb nog helemaal geen webroot aangemaakt. Ook dat moet ik nog uitzoeken, want eik weet ik niet eens waarom dat dan fout/onverstandig zou zijn. Ik denk niet dat je je hele harde schijf via HTTP beschikbaar wilt stellen aan de buitenwereld (en ook niet aan de rest van je thuisnetwerk). 
Ok zolang je server niet van buitenaf bereikbaar is valt het allemaal nog wel mee, maar je moet altijd voorzichtig zijn met wat je in je webroot gooit. Zet daar geen privébestanden neer of vergewis je er héél goed van dat ze degelijk afgeschermd zijn.
quote: Op vrijdag 4 april 2014 00:58 schreef terdege het volgende:Hij wil gewoon kennis maken met PHP en jullie raden hem aan om van OS te veranderen? Modus ik zou gewoon XAMPP downloaden. Je installeert het, jet zet een aantal dingen aan in het menu, je zet je bestanden in de root directory (default is c/xampp/htdocs) en dan kan je je website zien door localhost/websiteurl in je browser te typen. Volgens mij heb ik zo ongeveer alles verteld wat nodig is om te beginnen. Je kunt op zich prima op windows devven (mits je wel even Dejavu mono installeert natuurlijk) maar een webserver draaien op een linux machine is gewoon een stuk makkelijker. In het begin heb ik zelf altijd externe servers gebruikt om mijn scripts op te testen, dat werkt ook best prima. Scheelt je een hoop gedoe, maar het nadeel is natuurlijk dat je altijd online moet zijn. |
TwenteFC | zaterdag 5 april 2014 @ 00:49 |
quote: Op donderdag 3 april 2014 19:06 schreef slacker_nl het volgende:[..] Een kale install op unix bestaat niet (nouja, hij bestaat, maar dan heb je een cli voor je snufferd en dan kan je gaan installen). Een gangbare distro heeft gelijk alles voor je geinstalleerd wat je als gangbare gebruiker kan gebruiken. En anders heb je altijd nog de live versies die je vanaf USB/CD kan bekijken zonder te installen (en je kan dan ook nog eens packages installen en devven als je wilt). Wat je mogelijk zou kunnen proberen: http://www.vagrantup.com/Devven op een linux doosje, binnen je Windows machine. En om het vervolgens nog een stapje eenvoudiger te maken kan je desnoods via PuPHPet aanklikken wat je wil hebben.
https://puphpet.com/ |
papernote | zaterdag 5 april 2014 @ 15:11 |
quote: Op donderdag 3 april 2014 14:18 schreef Chandler het volgende:Is er ook eens php/apache/mysql distro met imagemagick?  voor winhoos? want het installeren van imagemagick is mij tot op heden nog steeds niet gelukt (werkend krijgen onder php...) Toen ik dat nog deed, gebruikte ik ImageMagick via de command line vanuit PHP. Ik gebruikte als basis Thumbnail Party, maar dan volledig aangepast zodat het alleen ImageMagick gebruikte (geen GD), zelf caching ingebouwd, opties toegevoegd/veranderd.
Achteraf gezien had ik dat beter opnieuw kunnen bouwen, maar om het als basis te gebruiken was toen prima . |
Chandler | zaterdag 5 april 2014 @ 15:22 |
Ik gebruik het nu ook via de commandline maar wil heel graag de functies van imagemagick binnen php willen benutten  |
papernote | zaterdag 5 april 2014 @ 15:40 |
Waarom?
Ik gebruikte het om door de bezoeker geüploade afbeeldingen te bewerken. Die staan op het file system en niet in het geheugen (geldt waarschijnlijk sowieso voor alle afbeeldingen). PHP is echt te gelimiteerd om serieuze beeldverwerking te doen. En dan ga je lopen klooien door een afbeelding in het geheugen te laden (loop je enorm snel tegen je PHP memory_limit aan) en dan via PHP met ImageMagick te bewerken? Ik kan er geen logische argumenten voor bedenken. |
slacker_nl | zaterdag 5 april 2014 @ 16:31 |
quote: Op zaterdag 5 april 2014 15:40 schreef papernote het volgende:Waarom? Ik gebruikte het om door de bezoeker geüploade afbeeldingen te bewerken. Die staan op het file system en niet in het geheugen (geldt waarschijnlijk sowieso voor alle afbeeldingen). PHP is echt te gelimiteerd om serieuze beeldverwerking te doen. En dan ga je lopen klooien door een afbeelding in het geheugen te laden (loop je enorm snel tegen je PHP memory_limit aan) en dan via PHP met ImageMagick te bewerken? Ik kan er geen logische argumenten voor bedenken. Hoezo, bij een post zit de file in het geheugen en kan je daarmee aan de gang gaan, dan hoef je niks speciaals te doen?!
Verder is het fijner dat je geen system calls hoeft te doen, daarom zit je met de PHP API te werken, of gebruik je ook een MySQL binary om met mysql te praten?  |
Tijn | zaterdag 5 april 2014 @ 17:01 |
quote: Op zaterdag 5 april 2014 16:31 schreef slacker_nl het volgende:[..] Hoezo, bij een post zit de file in het geheugen en kan je daarmee aan de gang gaan, dan hoef je niks speciaals te doen?! Wat bedoel je met "bij een post zit de file in het geheugen"? |
slacker_nl | zaterdag 5 april 2014 @ 17:50 |
quote: Totdat je de file opslaat heb je niks op disk. Dus zit alles in het geheugen. Of heb je bij php gelijk een filehandle waar je wat mee kan doen?
Kennelijk heb je gelijk een filehandle: 1 2 3 | <?php $_FILES['userfile']['tmp_name'] ?> |
[ Bericht 32% gewijzigd door slacker_nl op 05-04-2014 18:23:29 ] |
#ANONIEM | zondag 6 april 2014 @ 03:09 |

Ik krijg wat variabelen door via de sessie en die moeten naar de database worden gestuurd. Zijn ze leeg wordt het null, anders behouden ze hun waarde. In beide gevallen wordt het een "lokale" variabele. Het probleem is echter dat er niets in de database komt. De testquery onderaan werkt wel, dus de verbinding is er. Weet iemand hoe dat komt?
n.b. Regel 9 is er omdat de leerlingnummers hier niet werkzaam waren. Dit nummer is hier het leerlingnummer.
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 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <?php /* Sessie starten */ session_start();
/* If/else afhandeling. Voorkomt fouten bij lege variabele */ if (isset($_SESSION['llnr'])) { $llnr = $_SESSION['llnr']; } else { $llnr = 220225; // echo "Leerlingnummer onbekend. Probeer opnieuw."; // exit(); }
if (isset($_SESSION['Vak00'])) { $Vak00 = $_SESSION['Vak00']; } else { $Vak00 = null; }
if (isset($_SESSION['Vak01'])) { $Vak01 = $_SESSION['Vak01']; } else { $Vak01 = null; }
if (isset($_SESSION['Vak02'])) { $Vak02 = $_SESSION['Vak02']; } else { $Vak02 = null; }
if (isset($_SESSION['Vak03'])) { $Vak03 = $_SESSION['Vak03']; } else { $Vak03 = null; }
if (isset($_SESSION['Vak04'])) { $Vak04 = $_SESSION['Vak04']; } else { $Vak04 = null; } if (isset($_SESSION['Vak05'])) { $Vak05 = $_SESSION['Vak05']; } else { $Vak05 = null; }
if (isset($_SESSION['Vak06'])) { $Vak06 = $_SESSION['Vak06']; } else { $Vak06 = null; }
if (isset($_SESSION['Vak07'])) { $Vak07 = $_SESSION['Vak07']; } else { $Vak07 = null; }
if (isset($_SESSION['Vak08'])) { $Vak08 = $_SESSION['Vak08']; } else { $Vak08 = null; }
if (isset($_SESSION['Vak08'])) { $Vak08 = $_SESSION['Vak08']; } else { $Vak08 = null; }
if (isset($_SESSION['Vak08'])) { $Vak09 = $_SESSION['Vak09']; } else { $Vak09 = null; }
if (isset($_SESSION['Vak10'])) { $Vak10 = $_SESSION['Vak10']; } else { $Vak10 = null; }
if (isset($_SESSION['Vak11'])) { $Vak11 = $_SESSION['Vak11']; } else { $Vak11 = null; }
if (isset($_SESSION['Vak12'])) { $Vak12 = $_SESSION['Vak12']; } else { $Vak12 = null; }
if (isset($_SESSION['Vak13'])) { $Vak13 = $_SESSION['Vak13']; } else { $Vak13 = null; }
if (isset($_SESSION['Vak14'])) { $Vak14 = $_SESSION['Vak14']; } else { $Vak14 = null; }
if (isset($_SESSION['Vak15'])) { $Vak15 = $_SESSION['Vak15']; } else { $Vak15 = null; }
if (isset($_SESSION['Vak16'])) { $Vak16 = $_SESSION['Vak16']; } else { $Vak16 = null; }
if (isset($_SESSION['Vak17'])) { $Vak17 = $_SESSION['Vak17']; } else { $Vak17 = null; }
if (isset($_SESSION['Vak18'])) { $Vak18 = $_SESSION['Vak18']; } else { $Vak18 = null; }
if (isset($_SESSION['Keuze1'])) { $Keuze1 = $_SESSION['Keuze1']; } else { $Keuze1 = null; }
if (isset($_SESSION['Keuze2'])) { $Keuze2 = $_SESSION['Keuze2']; } else { $Keuze2 = null; }
if (isset($_SESSION['Opmerkingen'])) { $Opmerkingen = $_SESSION['Opmerkingen']; } else { $Opmerkingen = null; }
/* Controleer verbinding */ $link = mysqli_connect("localhost", "root", "usbw", "profielkeuze");
if (mysqli_connect_errno()) { printf("Fout bij verbinden met de database: %s\n", mysqli_connect_error()); exit(); } else { echo "Je profielkeuze is doorgegeven. Je mag de pagina sluiten."; }
/* Query naar database */ $query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Vak14, Vak15, Vak16, Vak17, Vak18, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04, '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Vak14', '$Vak15', '$Vak16', '$Vak17', '$Vak18', '$Keuze1', '$Keuze2', '$Opmerkingen')"; mysqli_query($link, $query);
/* TEST QUERY */ //$query2 = "INSERT INTO keuzes (llnr, Vak04) VALUES (224, 'Geschiedenis')"; //mysqli_query($link, $query2);
/* Sluit verbinding */ mysqli_close($link);
/* Sessie in de kliko */ //session_destroy();
?> |
|
Robuustheid | zondag 6 april 2014 @ 03:13 |
1 2 | if("".($_POST["value1"]+0) != $_POST["value1"]) $message="<font color=#FF0000>Value 1 must be a number</font><script>document.forms[0].value1.focus();</script>"; |
De waarde uit value1 in principe een cijfer. Bij een cijfer, gaat dat samen met de 0, dus 1+0 = 1. Bij een karakter, wordt het bijv. a0. Dus niet gelijk aan de value1. Als je iets anders dan een cijfer invoert, dan wordt bovenstaande melding uit variabele $message weergegeven.
Maar wat ik niet begrijp...
1 2 3 | $test=0+"a"; echo $test; if($test==0){echo "gelukt";} |
In de echo, krijg ik alleen de 0 te zien, zonder 'a'. Als ik dit test, is er ook alleen 0 aan de variabele $test toegekend, zonder de letter 'a'. Hoe kan PHP in eerste code dan valideren of er een karakter aanwezig is? |
#ANONIEM | zondag 6 april 2014 @ 03:21 |
quote: Op zondag 6 april 2014 03:09 schreef DrNick het volgende: Ik krijg wat variabelen door via de sessie en die moeten naar de database worden gestuurd. Zijn ze leeg wordt het null, anders behouden ze hun waarde. In beide gevallen wordt het een "lokale" variabele. Het probleem is echter dat er niets in de database komt. De testquery onderaan werkt wel, dus de verbinding is er. Weet iemand hoe dat komt? n.b. Regel 9 is er omdat de leerlingnummers hier niet werkzaam waren. Dit nummer is hier het leerlingnummer. [ code verwijderd ] Ik zou de code eerst maar veranderen. De sessie hoort een array te zijn, met daarin alle vakken. Dit is gewoon niet goed gedaan. Als je nu meer vakken krijgt moet je alles aanpassen.
Daarnaast de tabel aanpassen naar een betere standaard. Je kunt hier het beste 2 of 3 tabellen gebruiken. Vakken: id vak leerlingnr |
#ANONIEM | zondag 6 april 2014 @ 03:24 |
quote: Op zondag 6 april 2014 03:13 schreef Robuustheid het volgende:[ code verwijderd ] De waarde uit value1 in principe een cijfer. Bij een cijfer, gaat dat samen met de 0, dus 1+0 = 1. Bij een karakter, wordt het bijv. a0. Dus niet gelijk aan de value1. Als je iets anders dan een cijfer invoert, dan wordt bovenstaande melding uit variabele $message weergegeven. Maar wat ik niet begrijp... [ code verwijderd ] In de echo, krijg ik alleen de 0 te zien, zonder 'a'. Als ik dit test, is er ook alleen 0 aan de variabele $test toegekend, zonder de letter 'a'. Hoe kan PHP in eerste code dan valideren of er een karakter aanwezig is? Ik snap je rare constructie niet. Wat is er mis met is_int() of ctype_digit()?
daarnaast is "a" 0 in je constructie. Wat er gebeurd is dit: 0 + (int) "a" = 0 als je strings wilt samenvoegen doe je dat met . 0."a" |
#ANONIEM | zondag 6 april 2014 @ 03:42 |
quote: Op zondag 6 april 2014 03:21 schreef totalvamp het volgende:[..] Ik zou de code eerst maar veranderen. De sessie hoort een array te zijn, met daarin alle vakken. Dit is gewoon niet goed gedaan. Als je nu meer vakken krijgt moet je alles aanpassen. Daarnaast de tabel aanpassen naar een betere standaard. Je kunt hier het beste 2 of 3 tabellen gebruiken. Vakken: id vak leerlingnr Het aantal vakken blijft hetzelfde, dat is geen probleem. Wat is het eigenlijke probleem dan eigenlijk?
De vorige pagina's gaan ook zo en daar is er geen probleem. De vakken worden dan goed weergegeven (vorige pagina is controlescherm). |
Chandler | zondag 6 april 2014 @ 08:46 |
quote: Op zaterdag 5 april 2014 15:40 schreef papernote het volgende:Waarom? Ik gebruikte het om door de bezoeker geüploade afbeeldingen te bewerken. Die staan op het file system en niet in het geheugen (geldt waarschijnlijk sowieso voor alle afbeeldingen). PHP is echt te gelimiteerd om serieuze beeldverwerking te doen. En dan ga je lopen klooien door een afbeelding in het geheugen te laden (loop je enorm snel tegen je PHP memory_limit aan) en dan via PHP met ImageMagick te bewerken? Ik kan er geen logische argumenten voor bedenken. Omdat een SYSTEM call veel langer duurt dan een niet SYSTEM call... uit ervaring.. vandaar.. En dat m.b.t. het geheugen, dat is zowel een probleem met of zonder SYSTEM call aangezien je toch de afbeelding wil bewerken en dat kost een berg met geheugen!  |
slacker_nl | zondag 6 april 2014 @ 09:02 |
@DrNick
Had je niet het idee, dat je heel veel hetzelfde aan het doen was?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php # Jouw $_SESSION $GEKOZEN = array( 'Vak00' => 'Nederlands', 'Keuze1' => '' );
# Hier zet je wat je wilt hebben $keuzes = array('Vak00', 'Vak01', 'Keuze1');
# Hierin prop je het nieuwe resultaat. $gekozen;
# Doe 139 regels code in 3 foreach ($keuzes as $v) { $gekozen[$v] = isset($GEKOZEN[$v]) ? $GEKOZEN[$v] : null; }
# Je resultaat print_r($gekozen); ?> |
Je kan nu je query gaan opbouwen, hoe? Dat laat ik aan jou over, maar het is ongeveer hetzelfde. En tip: prepared statements. |
Robuustheid | zondag 6 april 2014 @ 11:09 |
quote: Op zondag 6 april 2014 03:24 schreef totalvamp het volgende:[..] Ik snap je rare constructie niet. Wat is er mis met is_int() of ctype_digit()? daarnaast is "a" 0 in je constructie. Wat er gebeurd is dit: 0 + (int) "a" = 0 als je strings wilt samenvoegen doe je dat met . 0."a" Het is ook niet m'n constructie. Als de 0+"a" een 0 oplevert, waarom ziet de interpreter dat anders als hij het met de 0 vergelijkt, en als false evalueert? Dat is mijn vraag namelijk.. |
slacker_nl | zondag 6 april 2014 @ 11:17 |
quote: Op zondag 6 april 2014 11:09 schreef Robuustheid het volgende:[..] Het is ook niet m'n constructie. Als de 0+"a" een 0 oplevert, waarom ziet de interpreter dat anders als hij het met de 0 vergelijkt, en als false evalueert? Dat is mijn vraag namelijk.. Misschien heb je hier wat aan: http://www.php.net/manual(...)es.string.conversion
$test + "10 varkens" wordt namelijk 10. |
Robuustheid | zondag 6 april 2014 @ 11:55 |
quote: Dat snap ik, maar mijn vraag staat nog steeds open...... Mijn vraag: waarom kan-ie het als false evalueren, aangezien 0+a met uitkomst 0 volgens PHP niet gelijk staat aan 0? |
slacker_nl | zondag 6 april 2014 @ 12:00 |
quote: Op zondag 6 april 2014 11:55 schreef Robuustheid het volgende:[..] Dat snap ik, maar mijn vraag staat nog steeds open...... Mijn vraag: waarom kan-ie het als false evalueren, aangezien 0+a met uitkomst 0 volgens PHP niet gelijk staat aan 0? Dat kan wel, want zoals je ziet is 0 + "een willekeurig iets" 0. Wat false is.
1 2 3 4 5 6 7 | <?php # uit de docs $foo = 1 + "bob3"; // $foo is integer (1)
# jouw voorbeeld $test = 0 + 'a'; // $test is dus 0 ?> |
|
Robuustheid | zondag 6 april 2014 @ 12:32 |
Volgens mij praten we langs elkaar heen. 
Je zegt van wel, maar PHP zegt van niet. Dat probeer ik dus te begrijpen. |
#ANONIEM | zondag 6 april 2014 @ 12:37 |
quote: Maar wat probeer je nou te doen dan? Ik snap niet waarom je die vergelijking wilt doen. |
Light | zondag 6 april 2014 @ 12:44 |
quote: Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig. Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat.
1 2 3 4 5 6 | <?php $string = '0'; if (empty($string) && strlen($string) > 0) { echo 'Leeg maar toch ook niet'; } ?> |
|
#ANONIEM | zondag 6 april 2014 @ 12:48 |
quote: Op zondag 6 april 2014 09:02 schreef slacker_nl het volgende:@DrNick Had je niet het idee, dat je heel veel hetzelfde aan het doen was? [ code verwijderd ] Je kan nu je query gaan opbouwen, hoe? Dat laat ik aan jou over, maar het is ongeveer hetzelfde. En tip: prepared statements. Dat wel ja 
Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch? |
Robuustheid | zondag 6 april 2014 @ 13:02 |
quote: Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost.
Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a". quote: Op zondag 6 april 2014 12:44 schreef Light het volgende:[..] Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig. Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat. [ code verwijderd ] Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt.  |
slacker_nl | zondag 6 april 2014 @ 13:12 |
Wat wil je dan, zeg het in code. Dat helpt vaak om dingen duidelijk te maken. |
slacker_nl | zondag 6 april 2014 @ 13:14 |
quote: Op zondag 6 april 2014 12:48 schreef DrNick het volgende:[..] Dat wel ja  Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch? Ook. Ik vind ze icm named parameters erg fijn. |
#ANONIEM | zondag 6 april 2014 @ 13:14 |
quote: Op zondag 6 april 2014 13:02 schreef Robuustheid het volgende:[..] Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost. Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a". [..] Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt.  Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit dat kan namelijk niet veel goed betekenen xD |
Robuustheid | zondag 6 april 2014 @ 13:55 |
quote: Op zondag 6 april 2014 13:14 schreef totalvamp het volgende:[..] Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit  dat kan namelijk niet veel goed betekenen xD Nou voorruit, voor jou dan:
SPOILER <html> <head><title>PHP Web Calc</title></head></html> <body> <?php if(!isset($_POST["value1"])) $_POST["value1"]=0; if(!isset($_POST["value2"])) $_POST["value2"]=0; if("".($_POST["value1"]+0) != $_POST["value1"]) $message="<font color=#FF0000>Value 1 must be a number</font><script>document.forms[0].value1.focus();</script>"; else if("".($_POST["value2"]+0) != $_POST["value2"]) $message="<font color=#FF0000>Value 2 must be a number</font><script>document.forms[0].value2.focus();</script>"; else if(isset($_POST["oper"])) switch($_POST["oper"]) { case "+": $message=($_POST["value1"]+0)+($_POST["value2"]+0); break; case "-": $message=($_POST["value1"]+0)-($_POST["value2"]+0); break; case "*": $message=($_POST["value1"]+0)*($_POST["value2"]+0); break; case "/": if(($_POST["value2"]+0) == 0) { $message="<font color=#FF0000>Division by 0 is impossible...</font><script>document.forms[0].value2.focus();</script>"; } else $message=($_POST["value1"]+0)/($_POST["value2"]+0); break; default: break; } else $message="Enter 2 numbers and press 1 operation button."; echo "<form action=test.php method=post>"; echo "<table border=0>"; echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>"; echo "<td>Value 2</td><td><input type=text name=value2 value=\"".$_POST["value2"]."\"></td></tr>"; echo "<tr><td align=center colspan=4><input type=submit name=oper value=r>"; echo "<input type=submit name=oper value=->"; echo "<input type=submit name=oper value=*>"; echo "<input type=submit name=oper value=/></td></tr>"; echo "<tr><td colspan=4 align=right>$message</td></tr>"; echo "</table>"; echo "</form>";
echo "a"; ?> </body>
Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht.  |
bondage | zondag 6 april 2014 @ 14:14 |
quote: Op zondag 6 april 2014 12:44 schreef Light het volgende:[..] Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig. Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat. [ code verwijderd ] Is het in dit geval niet beter om het op onderstaande manier te doen?
1 2 3 4 5 6 | <?php $string = '0'; if (empty($string) && $string != '') { echo 'Leeg maar toch ook niet'; } ?> |
Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is. |
#ANONIEM | zondag 6 april 2014 @ 15:26 |
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 | <?php /* Sessie starten */ session_start();
/* If/else afhandeling. Voorkomt fouten bij lege variabele */ if (isset($_SESSION['llnr'])) { $llnr = $_SESSION['llnr']; } else { // $llnr = 220225; echo "Leerlingnummer onbekend. Probeer opnieuw."; exit(); }
if (isset($_SESSION['Vak00'])) { $Vak00 = $_SESSION['Vak00']; } else { $Vak00 = null; }
if (isset($_SESSION['Vak01'])) { $Vak01 = $_SESSION['Vak01']; } else { $Vak01 = null; }
#etcetera
/* Controleer verbinding */ $link = mysqli_connect("localhost", "root", "usbw", "profielkeuze");
if (mysqli_connect_errno()) { printf("Fout bij verbinden met de database: %s\n", mysqli_connect_error()); exit(); } else { echo "Je profielkeuze is doorgegeven. Je mag de pagina sluiten."; }
echo $llnr; echo $Vak00; echo $Vak01; echo $Vak02; echo $Vak03; echo $Vak04; echo $Vak05; echo $Vak06; echo $Vak07; echo $Vak08; echo $Vak09; echo $Vak10; echo $Vak11; echo $Vak12; echo $Vak13; echo $Keuze1; echo $Keuze2; echo $Opmerkingen;
/* Query naar database */ $query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')"; mysqli_query($link, $query);
/* TEST QUERY */ //$query2 = "INSERT INTO keuzes (llnr, Vak04) VALUES (224, 'Geschiedenis')"; //mysqli_query($link, $query2);
/* Sluit verbinding */ mysqli_close($link);
/* Sessie in de kliko */ //session_destroy();
?> |
Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.
[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 15:39:03 ] |
Light | zondag 6 april 2014 @ 15:26 |
quote: Op zondag 6 april 2014 14:14 schreef bondage het volgende:[..] Is het in dit geval niet beter om het op onderstaande manier te doen? [ code verwijderd ] Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is. Da's ook nog een mogelijkheid  |
Light | zondag 6 april 2014 @ 15:39 |
quote: Op zondag 6 april 2014 15:26 schreef DrNick het volgende:[ code verwijderd ] Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er. Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld:
1 2 3 4 5 6 7 8 9 | <?php /* Query naar database */ $query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04, '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')"; mysqli_query($link, $query);
if (mysqli_errno($link)) { echo mysqli_error($link); } ?> |
|
#ANONIEM | zondag 6 april 2014 @ 15:41 |
quote: Op zondag 6 april 2014 15:39 schreef Light het volgende:[..] Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld: [ code verwijderd ] Als ik die gebruik krijg ik geen error of iets dergelijks.
edit: Ah, nu wel. Duplicate entry. Eens zien.
[ Bericht 4% gewijzigd door #ANONIEM op 06-04-2014 15:43:32 ] |
#ANONIEM | zondag 6 april 2014 @ 15:44 |
Aw yeah, het werkt 
 |
#ANONIEM | zondag 6 april 2014 @ 16:13 |
1 2 3 4 5 | <tr> <td> <?php echo $_SESSION['Vak10']; ?> </td> <td> <input type="radio" name="Keuze1" value="<?php echo $_SESSION['Vak10']; ?>" / > </td> <td> <input type="radio" name="Keuze2" value="<?php echo $_SESSION['Vak10']; ?>" / > </td> </tr> |
Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen? |
bondage | zondag 6 april 2014 @ 16:17 |
quote: Op zondag 6 april 2014 16:13 schreef DrNick het volgende:Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen? $_SESSION['Keuze1'] = $row['keuze1'] $_SESSION['Keuze2'] = $row['keuze2'] |
#ANONIEM | zondag 6 april 2014 @ 16:20 |
quote: Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding:
Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136 Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137
[ Bericht 5% gewijzigd door #ANONIEM op 06-04-2014 16:20:16 ] |
#ANONIEM | zondag 6 april 2014 @ 16:28 |
quote: Op zondag 6 april 2014 15:26 schreef DrNick het volgende:[ code verwijderd ] Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er. Ik neem aan dat je dan voorderest geen PHP meer gaat programmeren? Je script is zo lek als een mandje. |
bondage | zondag 6 april 2014 @ 16:28 |
quote: Op zondag 6 april 2014 16:20 schreef DrNick het volgende:[..] Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding: Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136 Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137 $row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc.
Als je mysqli gebruikt krijg je zoiets:
1 2 3 4 5 6 7 8 | <?php $query = "SELECT keuze, waarde FROM tabel where..."; $result = $mysqli->query($query);
while($row = $result->fetch_array()) { $_SESSION[$row['keuze']] = $row['waarde']; } ?> |
|
#ANONIEM | zondag 6 april 2014 @ 16:34 |
quote: Op zondag 6 april 2014 16:28 schreef bondage het volgende:[..] $row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc. Als je mysqli gebruikt krijg je zoiets: [ code verwijderd ] Die resultaten zaten nog niet in de database 
Het werkt inmiddels  |
#ANONIEM | zondag 6 april 2014 @ 16:35 |
quote: Hierna ben ik er voor de rest van mijn leven klaar mee 
Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog?
Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst. 
[ Bericht 7% gewijzigd door #ANONIEM op 06-04-2014 16:35:49 ] |
bondage | zondag 6 april 2014 @ 16:36 |
quote: Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML. |
#ANONIEM | zondag 6 april 2014 @ 16:37 |
quote: Op zondag 6 april 2014 13:55 schreef Robuustheid het volgende:[..] Nou voorruit, voor jou dan: Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht.  Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <html> <head><title>PHP Web Calc</title></head></html> <body> <?php if(!isset($_POST["value1"])) $_POST["value1"]=0; if(!isset($_POST["value2"])) $_POST["value2"]=0;
if(!is_int($_POST['value1'])) { $message="<font color=#FF0000>Value 1 must be a number</font><script>document.forms[0].value1.focus();</script>"; } else if(!is_int($_POST['value2'])) { $message="<font color=#FF0000>Value 2 must be a number</font><script>document.forms[0].value2.focus();</script>"; } if(isset($_POST["oper"]) && !isset($message)) { switch($_POST["oper"]) { case "+": $message=$_POST["value1"]+$_POST["value2"]; break; case "-": $message=$_POST["value1"]-$_POST["value2"]; break; case "*": $message=$_POST["value1"]*$_POST["value2"]; break; case "/": if((int)$_POST["value2"] === 0) { $message="<font color=#FF0000>Division by 0 is impossible...</font><script>document.forms[0].value2.focus();</script>"; } else $message=$_POST["value1"]/$_POST["value2"]; break; default: break; } } else { $message="Enter 2 numbers and press 1 operation button."; } ?> <form action="test.php" method="post"> <table border="0"> <tr><td>Value 1</td><td><input type="text" name="value1" value="<?php echo $_POST["value1"]; ?>"></td> <td>Value 2</td><td><input type="text" name="value2" value="<?php echo $_POST["value2"]; ?>"></td></tr> <tr><td align="center" colspan="4"> <input type="submit" name="oper" value="+"/> <input type="submit" name="oper" value="-" /> <input type="submit" name="oper" value="*"/> <input type="submit" name="oper" value="/" /> </td></tr> <tr><td colspan="4" align="right">$message</td></tr> </table> </form> </body> |
quote: Op zondag 6 april 2014 16:35 schreef DrNick het volgende:[..]  Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog? Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst.  Inderdaad prepared statements  Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd.
Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases).
Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk 
[ Bericht 36% gewijzigd door #ANONIEM op 06-04-2014 16:47:02 ] |
#ANONIEM | zondag 6 april 2014 @ 16:42 |
quote: Op zondag 6 april 2014 16:36 schreef bondage het volgende:[..] Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML. Zal ik ook eens naar kijken.
quote: Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:Inderdaad prepared statements  Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd. Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases). Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk  Zal ik doen  |
Robuustheid | zondag 6 april 2014 @ 21:30 |
quote: Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:[..] Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten. [ code verwijderd ] Het is slim gevonden. En dat lijkt mij ook?
En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft.
En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij. |
#ANONIEM | zondag 6 april 2014 @ 21:56 |
quote: Op zondag 6 april 2014 21:30 schreef Robuustheid het volgende:[..] Het is slim gevonden. En dat lijkt mij ook? En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft. En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij. Nee, het is gewoon een gecompliceerde manier om iets te doen wat stukken makkelijker kan. Wat mij meer van toepassing lijkt, is dat de programmeur van het script niet goed wist wat hij deed en zelf ook nog een beginner is.
Dat zie je mede hieraan:
1 2 3 4 5 6 7 8 9 | <?php //Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen. echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>";
echo '<tr><td>Value 1</td><td><input type="text" name="value1" value="'.$_POST["value1"].'" /></td>';
//Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert. $message=($_POST["value1"]+0)/($_POST["value2"]+0); ?> |
HTML tags maak je zo op. <p class="class" name="p"> niet zo <p class=class name=p>
de HTML tag <font> wordt al tijden niet meer gebruikt. |
#ANONIEM | zondag 6 april 2014 @ 21:58 |
Sowieso een table echoën met input elementen en shit  |
#ANONIEM | zondag 6 april 2014 @ 21:59 |
En die +0 lachwekkend. |
#ANONIEM | zondag 6 april 2014 @ 22:00 |
En geen isset() huilen hier |
Robuustheid | zondag 6 april 2014 @ 22:03 |
quote: //Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen.
Ik begrijp je opmerking niet zo goed.
1 2 3 4 5 | //Onderstaand regel is volgens je dus verkeerd? echo "voorbeeld"; //En onderstaand regel is dus juist? echo 'voorbeeld'; //Waarom is eerste voorbeeld verkeerd dan? Je uitleg over parsen is mij nog vaag. |
quote: //Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert.
Wat moet ik mij daarbij voorstellen? En als de font niet gebruikt wordt, dan zie ik niet in hoe je de letters in dit voorbeeld een kleur kunt geven zonder CSS in dit voorbeeld.
http://www.makewebgames.c(...)iewfull=1#post240408
Ik heb de bovenstaande code daarvandaan. De auteur is ook nog Zend PHP gecertificeerd. 
[ Bericht 31% gewijzigd door Robuustheid op 06-04-2014 22:10:29 ] |
Robuustheid | zondag 6 april 2014 @ 22:04 |
quote: Wat zou je anders gaan doen dan? quote: Ik zie wel isset staan? |
#ANONIEM | zondag 6 april 2014 @ 22:18 |
quote: Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo. Maar voor zoiets als dit 
Krijg je dus zoiets
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>"; // zo moet het dus niet
?> <tr> <td> Value 1 </td> <td> <input type="text" name="value1" value="<?php echo $_POST['value1']; ?>" /> </td> </tr> <?php // .. |
[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 22:18:19 ] |
#ANONIEM | zondag 6 april 2014 @ 22:21 |
quote: Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var" Dat duurt dus langer om op het scherm te tonen.
quote: Wat moet ik mij daarbij voorstellen? En als de font niet gebruikt wordt, dan zie ik niet in hoe je de letters in dit voorbeeld een kleur kunt geven zonder CSS in dit voorbeeld.
1 | <p style="color:#FF0000">rode text</p> |
quote: Ik heb de bovenstaande code daarvandaan. De auteur is ook nog Zend PHP gecertificeerd.  2010, die code is sowieso niet meer echt relevant.
[ Bericht 6% gewijzigd door #ANONIEM op 06-04-2014 22:23:01 ] |
Light | zondag 6 april 2014 @ 23:21 |
quote: Op zondag 6 april 2014 22:21 schreef totalvamp het volgende:[..] Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var" Dat duurt dus langer om op het scherm te tonen. Dat is tegenwoordig geen issue meer. |
#ANONIEM | zondag 6 april 2014 @ 23:31 |
quote: Hmm, latere versies hebben dit dus verholpen  Ik ben zelf begonnen met PHP3 nog.
Mooi dat het weg is, nu zal je alsnog ' ' gebruiken voor html en het geeft beter weer wat er in de string komt te staan door colour coding.
Snelheid is misschien geen factor meer, maar netheid wel 
[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 23:31:43 ] |
#ANONIEM | maandag 7 april 2014 @ 19:08 |
Wellicht dat jullie hier ook kunnen helpen:
Ons programma werkt nu bijna helemaal. Het laatste wat eigenlijk moet gebeuren nu is ervoor zorgen dat de record geüpdate wordt wanneer een leerling met llnr x nogmaals een keuze maakt. Nu zou zo'n leerling namelijk een error krijgen, vanwege de duplicaten. Nu heb ik wel reeds een stukje code gevonden, maar dit is slechts de SQL versie. Hoe doe ik dit in php?
1 2 3 4 5 6 7 8 9 10 11 12 | begin tran if exists (select * from table with (updlock,serializable) where key = @key) begin update table set ... where key = @key end else begin insert table (key, ...) values (@key, ...) end commit tran |
|
slacker_nl | maandag 7 april 2014 @ 19:17 |
quote: Op maandag 7 april 2014 19:08 schreef DrNick het volgende:Wellicht dat jullie hier ook kunnen helpen: Ons programma werkt nu bijna helemaal. Het laatste wat eigenlijk moet gebeuren nu is ervoor zorgen dat de record geüpdate wordt wanneer een leerling met llnr x nogmaals een keuze maakt. Nu zou zo'n leerling namelijk een error krijgen, vanwege de duplicaten. Nu heb ik wel reeds een stukje code gevonden, maar dit is slechts de SQL versie. Hoe doe ik dit in php? [ code verwijderd ] <?php ?> tags gebruiken. |
#ANONIEM | maandag 7 april 2014 @ 19:19 |
quote: Dus in plaats van de insert query die er nu staat deze gebruiken? |
TwenteFC | maandag 7 april 2014 @ 19:23 |
quote: http://www.php.net/manual/en/book.pdo.php |
#ANONIEM | maandag 7 april 2014 @ 19:35 |
quote: Op zondag 6 april 2014 22:18 schreef CrashO het volgende:[..] Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo. Maar voor zoiets als dit  Krijg je dus zoiets [ code verwijderd ]  |
#ANONIEM | maandag 7 april 2014 @ 19:39 |
quote: Hmm, ik snap er nog niet veel van, maar is dit wat er moet gebeuren?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php
PDO { public __construct(database,root,usbw); public beginTransaction(); if exists (select * from profielkeuze with (updlock,serializable) where llnr = $llnr) begin update table set profielkeuze where llnr = $llnr end else begin insert into profielkeuze(llnr, Vak00, ...) values ('$llnr', '$Vak00', ...); end public commit(); } ?> |
Er klopt vast weinig van, maar ik heb grofweg de handleiding gevolgd; van wat ik snapte in ieder geval. |
slacker_nl | maandag 7 april 2014 @ 19:47 |
quote: Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden.
Overigens kent MySQL een INSERT INTO ON DUPLICATE KEY UPDATE syntax. |
#ANONIEM | maandag 7 april 2014 @ 19:52 |
quote: Op maandag 7 april 2014 19:47 schreef slacker_nl het volgende:[..] Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden. Overigens kent MySQL een INSERT INTO ON DUPLICATE KEY UPDATE syntax. Dus mijn INSERT INTO vervangen door dat zou al afdoende moeten zijn?
Edit: http://stackoverflow.com/(...)pdate-same-as-insert , Ga ik eens proberen, als het goed is moet het werken dan 
[ Bericht 18% gewijzigd door #ANONIEM op 07-04-2014 20:30:08 ] |
#ANONIEM | maandag 7 april 2014 @ 20:42 |
quote: INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g) Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding: 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 'Vak00=VALUES(Vak00),Vak01=VALUES(Vak01),Vak02=VALUES(Vak02),Vak03=VALUES(Vak03),' at line 3 |
#ANONIEM | maandag 7 april 2014 @ 20:55 |
quote: Op maandag 7 april 2014 20:42 schreef DrNick het volgende:[..] Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding: 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 'Vak00=VALUES(Vak00),Vak01=VALUES(Vak01),Vak02=VALUES(Vak02),Vak03=VALUES(Vak03),' at line 3 Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit.
[ Bericht 1% gewijzigd door #ANONIEM op 07-04-2014 20:56:00 ] |
#ANONIEM | maandag 7 april 2014 @ 21:09 |
quote: Op maandag 7 april 2014 20:55 schreef robin007bond het volgende:[..] Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit. Die heb ik overgenomen uit de syntax beschreven in de link 2 posts terug. |
slacker_nl | maandag 7 april 2014 @ 21:52 |
Volgens mij is het:
INSERT INTO table (id, a, b, c) VALUES (iets, 1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3;
Eigenlijk dezelfde syntax als de update zelf:
UPDATE table SET a = 1, b = 2, c = 3 WHERE ID = iets; |
#ANONIEM | maandag 7 april 2014 @ 21:52 |
Dit is de huidige query:
1 2 3 | $query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerking') ON DUPLICATE KEY Vak00='Vak00', Vak01='Vak01', Vak02='Vak02', Vak03='Vak03', Vak04='Vak04', Vak05='Vak05', Vak06='Vak06', Vak07='Vak07', Vak08='Vak08', Vak09='Vak09', Vak10='Vak10', Vak11='Vak11', Vak12='Vak12', Vak13='Vak13', Keuze1='Keuze1', Keuze2='Keuze2', Opmerkingen='Opmerkingen'"; |
Deze heb ik aangepast naar deze syntax:
1 2 3 4 5 6 | INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ] |
Bron: https://mariadb.com/kb/en/insert-on-duplicate-key-update/
Echter krijg ik nog steeds deze melding: 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 'Vak00='Vak00', Vak01='Vak01', Vak02='Vak02', Vak03='Vak03', Vak04='Vak04', Vak05' at line 3 |
#ANONIEM | maandag 7 april 2014 @ 21:53 |
quote: Op maandag 7 april 2014 21:52 schreef slacker_nl het volgende:Volgens mij is het: INSERT INTO table (id, a, b, c) VALUES (iets, 1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3; Eigenlijk dezelfde syntax als de update zelf: UPDATE table SET a = 1, b = 2, c = 3 WHERE ID = iets; Dus die extra regel moet er nog bij? |
#ANONIEM | maandag 7 april 2014 @ 21:57 |
Ah, ik heb het probleem gevonden: UPDATE miste in de syntax.
Bedankt voor jullie hulp  |
slacker_nl | maandag 7 april 2014 @ 21:57 |
quote: Je mist UPDATE na ON DUPLICATE KEY. |
#ANONIEM | maandag 7 april 2014 @ 22:09 |
quote: Je zag hem gelijk met mij 
[ Bericht 0% gewijzigd door #ANONIEM op 07-04-2014 22:10:04 ] |
slacker_nl | dinsdag 8 april 2014 @ 08:13 |
INSERT lastpost INTO topic; |