quote:MySQL 5.7 Labs — Inserting, Updating, and Deleting Records via HTTP
In the MySQL Labs version of MySQL version 5.7, there is a new HTTP plugin. The HTTP plugin documentation from the labs site provides this information (from MySQL Labs):
The HTTP Plugin for MySQL adds HTTP(S) interfaces to MySQL. Clients can use the HTTP respectively HTTPS (SSL) protocol to query data stored in MySQL. The query language is SQL but other, simpler interfaces exist. All data is serialized as JSON. This version of MySQL Server HTTP Plugin is a Labs release, which means it’s at an early development stage. It contains several known bugs and limitation, and is meant primarily to give you a rough idea how this plugin will look some day. Likewise, the user API is anything but finalized. Be aware it will change in many respects.
[...]
1 2 3 4 5 6 | <?php function showRandom() { $query = "SELECT `category`, `idHash`, `title`, `urlTitle`, `imgName`, `views`, `active` FROM `entries` ORDER BY RAND() LIMIT 1"; $row = mysql_fetch_object($query); } ?> |
1 2 3 | <?php echo showRandom->$row->title; ?> |
1 2 3 4 5 6 7 | <?php function showRandom() { // hier code om een random $row uit de database te halen met de benodigde velden return $row; } ?> |
1 2 3 | <?php echo showRandom()['title']; ?> |
1 2 3 4 | <?php $randomRow = showRandom(); echo $randomRow['title']; ?> |
Mijn dank is groot, straks even proberen. Heb hier PHP 5.3.29, vrij oud volgens mij.quote:Op zondag 10 mei 2015 00:13 schreef Tijn het volgende:
[ code verwijderd ]
In recente versies van PHP:
[ code verwijderd ]
In oudere versies van PHP:
[ code verwijderd ]
Ik heb het nu zo en lijkt te werken:quote:Op zondag 10 mei 2015 00:13 schreef Tijn het volgende:
[ code verwijderd ]
In recente versies van PHP:
[ code verwijderd ]
In oudere versies van PHP:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 | <?php function showRandom() { global $mysqli; $query = "SELECT `category`, `idHash`, `title`, `urlTitle`, `imgName`, `views`, `active` FROM `entries` ORDER BY RAND() LIMIT 1"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_object()) { return $row; } } } ?> |
1 2 3 | <?php echo showRandom()->title; ?> |
Resultaat van showRandom() bewaren:quote:Op zondag 10 mei 2015 00:46 schreef xaban06 het volgende:
[..]
Ik heb het nu zo en lijkt te werken:
[ code verwijderd ]
[ code verwijderd ]
Weet alleen niet of dit DE manier is
/edit
Hmm, nu ik er zo over na denk wil ik dit helemaal niet.
Want als ik ergens op de pagina echo showRandom->views; doe, en iets later echo showRandom()->imgName;. Zal de views niet uit hetzelfde result komen als van imgName, omdat iedere ik showRandom(); en nieuwe query wordt gedraaid
1 2 3 | $random = showRandom(); echo $random->views; echo $random->imgName; |
En die functie niet showRandom() noemen. Iets als getRandomEntry() geeft beter aan wat de functie doet.quote:Op zondag 10 mei 2015 02:16 schreef Reemi het volgende:
[..]
Resultaat van showRandom() bewaren:
[ code verwijderd ]
quote:Tweakers: Sql-optimalisatie - Eén grote versus veel kleine queries
In de afgelopen periode hebben we bij Tweakers diverse belangrijke stukken code herschreven. Eerder dit jaar is ons vernieuwde reactiesysteem geïntroduceerd, en in april en mei zijn we bezig geweest om het karmasysteem te herschrijven.
[...]
Wat ons betreft valt de database van Tweakers met 219GB trouwens niet in de orde van grootte om over te stappen op sharding of andere technieken om verscheidene servers tegelijk te gebruiken. Overigens hebben we er wel op diverse manieren voor gezorgd dat de MySQL-database niet voor alle gegevens gebruikt hoeft te worden. We hebben er bijvoorbeeld voor gekozen om bepaalde stukken data in MongoDB op te slaan of in memcached te cachen en veel van de informatie wordt via onze Java-omgeving opgevraagd.
In dit artikel beschrijven we twee toepassingen waarbij de databaseprestaties voor ons belangrijk waren. Daarbij laten we stapsgewijs een aantal optimalisaties zien die signficante verbeteringen in de prestaties gaven. Bedenk wel dat dit artikel niet gaat over het plaatsen van de juiste indices of het optimisaliseren van de instellingen van een database. Dit is een parallelle taak waarbij bekeken wordt of de database wel optimaal ingezet wordt, maar een goed geoptimaliseerde tabelstructuur en database zijn uiteraard ook belangrijk voor goede prestaties.
maak een padamtssshhh prepare statement 😂quote:
Inderdaad op die manier opgelostquote:Op zondag 10 mei 2015 02:16 schreef Reemi het volgende:
[..]
Resultaat van showRandom() bewaren:
[ code verwijderd ]
1 2 3 | <?php global $mysqli; ?> |
1 2 3 | <?php $mysqli = new mysqli("localhost", "xx", "xx", "xx"); ?> |
Al paar keer daarover gaan lezen, maar ik begrijp het maar niet, ik ben blijven haken bij php4quote:Op zondag 10 mei 2015 13:29 schreef Monolith het volgende:
Sowieso kan het geen kwaad om eerst eens de basisconcepten van object georiënteerd programmeren te leren; classes, methodes, fields, scopes, objecten, enzovoort.
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 | <?php $URI = $_SERVER['REQUEST_URI']; $urlPart = explode("/", strtolower($URI)); if ($URI == "/") { /* Show frontpage as browser URL is http://www.xx.nl */ $showPage = "frontpage"; } else { /* We need to show another page than the frontpage */ /* Lets see which pages we have */ $safePages = array("xx", "foo", "bar", "contact"); if (in_array($urlPart["1"], $safePages)) { /* The page which needs to be loaded seems to be a valid URL */ /* Lets see now which page we have to load */ if ($urlPart["1"] == "xx") { /* We have to load the xx page */ /* But first we have to check if we have to load the general xx page or we have to show a single xx entry */ if (empty($urlPart["2"])) { /* Ok, we have to load the xx general page */ $showPage = "xx"; } else { /* It seems there is more in the URL, so we have to load a xx entry */ /* But first, lets check if the entry does exists */ $resultCheck = checkEntry($urlPart["1"], $urlPart["2"]); if ($resultCheck) { /* Result is found. We can safely load a xx entry */ $showPage = "xxEntry"; } else { /* Result not found, probably incorrect hash or someone is hacking the website */ /* Show Error 404 - entry not found */ $showPage = "404"; } } } /* repeat the if for other pages */ /* STILL TO DO */ } else { /* Page not found in safe pages */ /* Show Error 404 - page not found */ $showPage = "404"; } } ?> |
Mja, ik zou het toch blijven proberen. Wat jij hierboven schetst kun je bijvoorbeeld prima regelen met een singleton.quote:Op dinsdag 12 mei 2015 18:58 schreef xaban06 het volgende:
[..]
Al paar keer daarover gaan lezen, maar ik begrijp het maar niet, ik ben blijven haken bij php4
Of dependency injection jo! Het 'Services principe' lijkt steeds meer gebruikt te worden.quote:Op dinsdag 12 mei 2015 19:27 schreef Monolith het volgende:
[..]
Mja, ik zou het toch blijven proberen. Wat jij hierboven schetst kun je bijvoorbeeld prima regelen met een singleton.
En wat als je site in een ander pad geinstalleerd wordt dan onder de www-root?quote:Op dinsdag 12 mei 2015 19:24 schreef xaban06 het volgende:
Nu ik toch bezig ben. Ik wil 'clean URLs'. Dat moet ik met PHP zien af te vangen en de correcte pagina te laden.
Heb daarvoor dit geschreven, is dit een beetje de manier hoe het moet of kan het VEEL simpeler en beter?
[ code verwijderd ]
Bovenstaande script include ik in mijn index. In de index kijk ik naar de waarde van $showPage en afhankelijk daarvan include ik de benodigde pagina's.
Hoe bedoel je? Is mijn script daar afhankelijk van dan?quote:Op dinsdag 12 mei 2015 20:57 schreef zoem het volgende:
[..]
En wat als je site in een ander pad geinstalleerd wordt dan onder de www-root?
quote:Op dinsdag 12 mei 2015 21:10 schreef xaban06 het volgende:
[..]
Hoe bedoel je? Is mijn script daar afhankelijk van dan?
1 2 3 | <?php $URI = $_SERVER['REQUEST_URI']; ?> |
Als je http://example.com/site/index.php aanroept zul je 'site' eruit moeten knippen. Anders zullen de array indices van $urlPart niet meer kloppen.quote:Op dinsdag 12 mei 2015 21:10 schreef xaban06 het volgende:
[..]
Hoe bedoel je? Is mijn script daar afhankelijk van dan?
Ah op die manierquote:Op dinsdag 12 mei 2015 21:18 schreef zoem het volgende:
[..]
Als je http://example.com/site/index.php aanroept zul je 'site' eruit moeten knippen. Anders zullen de array indices van $urlPart niet meer kloppen.
Functie voor schrijven die om en om de elementen toevoegt en indien één van de twee geen elementen meer heeft de resterende elementen uit de ander toevoegen. Lijkt me niet zo moeilijk toch?quote:Op dinsdag 12 mei 2015 21:24 schreef boem-dikkie het volgende:
Weet iemand hoe je twee arrays merged met dezelfde keys in de juiste volgorde waarbij één array primair is qua volgorde?
Ik heb bijv.
0 => 'nul_primair'
1 => 'een_primair'
2 => 'twee_primair'
En
0 => 'nul'
1 => 'een'
2 => 'twee'
3 => 'drie'
Ik wil ze mergen zodat het als volgt wordt:
0 => 'nul_primair'
1 => 'nul'
2 => 'een_primair'
3 => 'een'
4 => 'twee_primair'
5 => 'twee'
6 => 'drie'
Het gaat niet om en om. Soms moeten er uit de eerste array bijvoorbeeld 3 komen, daarna één uit de andere array, daarna weer 2 uit de één, drie uit de ander, et cetera.quote:Op dinsdag 12 mei 2015 21:29 schreef Monolith het volgende:
[..]
Functie voor schrijven die om en om de elementen toevoegt en indien één van de twee geen elementen meer heeft de resterende elementen uit de ander toevoegen. Lijkt me niet zo moeilijk toch?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $result = array(); for($i = 0; $i < max(count($array1), count($array2)); $i += 1) { if(isset($array1[$i])) { $result[] = $array1[$i]; } if(isset($array2[$i])) { $result[] = $array2[$i]; } } ?> |
Hoe weet je dan wat de volgorde is?quote:Op dinsdag 12 mei 2015 21:31 schreef boem-dikkie het volgende:
[..]
Het gaat niet om en om. Soms moeten er uit de eerste array bijvoorbeeld 3 komen, daarna één uit de andere array, daarna weer 2 uit de één, drie uit de ander, et cetera.
De leidende volgorde is de eerste array. De invoegende array heeft zijn volgorde in zijn keys zitten. Dus die array is bijv.quote:
Het is me nog steeds niet helemaal duidelijk wat je probeert te bereiken. Een array in PHP bestaat in wezen altijd uit key => value pairs. Hetzij met expliciete keys, hetzij met impliciete numerieke keys.quote:Op dinsdag 12 mei 2015 21:37 schreef boem-dikkie het volgende:
[..]
De leidende volgorde is de eerste array. De invoegende array heeft zijn volgorde in zijn keys zitten. Dus die array is bijv.
4 => 'hoi'
7 => 'hoi2'
9 => 'hoi3'
Die moet dan in de goede volgorde in de eerste array komen.
Geef eens een voorbeeld, want ik snap er geen zak van.quote:Op dinsdag 12 mei 2015 21:37 schreef boem-dikkie het volgende:
[..]
De leidende volgorde is de eerste array. De invoegende array heeft zijn volgorde in zijn keys zitten. Dus die array is bijv.
4 => 'hoi'
7 => 'hoi2'
9 => 'hoi3'
Die moet dan in de goede volgorde in de eerste array komen.
Je doet nu alweer wat anders, net was het nog een,twee,drie,een_primair.quote:Op dinsdag 12 mei 2015 21:37 schreef boem-dikkie het volgende:
[..]
De leidende volgorde is de eerste array. De invoegende array heeft zijn volgorde in zijn keys zitten. Dus die array is bijv.
4 => 'hoi'
7 => 'hoi2'
9 => 'hoi3'
Die moet dan in de goede volgorde in de eerste array komen.
Dit voorbeeld is om aan te geven wat ik met die keys doe. Maar ik heb het al opgelost.quote:Op dinsdag 12 mei 2015 22:21 schreef TwenteFC het volgende:
[..]
Je doet nu alweer wat anders, net was het nog een,twee,drie,een_primair.
Beschrijf eens duidelijk wat je probleem is, en wat je eigenlijk graag wil bereiken.
Deze voorbeeldjes zijn een beetje wazig, en niet consequent.
1 2 3 4 5 6 | <?php $checkboxvalue = get_field('color'); foreach($checkboxvalue as $key => $check){ echo '<div class="product-color '.$check.'" alt="Color" title="Color"></div>'; }; ?> |
Wat heb je geprobeerd?quote:Op maandag 1 juni 2015 20:09 schreef Drommelsch85 het volgende:
Ik lees uit een veld een waarde uit, en ik probeer de caption (label) in dit stukje HTML te stoppen, waar nu 'Color' staat. Het veld waar de waarde(s) in staan heet ook color, deze bevat meerdere keuzes, waaronder color1, color2, enz. Die hebben echter ook namen zoals Black, Brown, White, Green etc.
[ code verwijderd ]
Volgens deze link moet ik zo, maar ik kom er niet uit. http://wordpress.stackexc(...)el-from-acf-checkbox
thnx
Je zet de value van color als class. Is dat de bedoeling?quote:Op maandag 1 juni 2015 20:09 schreef Drommelsch85 het volgende:
Ik lees uit een veld een waarde uit, en ik probeer de caption (label) in dit stukje HTML te stoppen, waar nu 'Color' staat. Het veld waar de waarde(s) in staan heet ook color, deze bevat meerdere keuzes, waaronder color1, color2, enz. Die hebben echter ook namen zoals Black, Brown, White, Green etc.
[ code verwijderd ]
Volgens deze link moet ik zo, maar ik kom er niet uit. http://wordpress.stackexc(...)el-from-acf-checkbox
thnx
Misschien dat hier iets tussenzit voor je?quote:Op zaterdag 13 juni 2015 00:56 schreef n8n het volgende:
Zijn er hier gebruikers van wamp/xampp/mamp (mamp specifiek)? Vind altijd dat alles in etc/ een bende wordt dus een sandbox lijkt me wel wat. Is het handig om mee te werken? Zijn er vage restricties met de gratis versie? Bedankt.
MAMP Pro gebruiker hier.quote:Op zaterdag 13 juni 2015 00:56 schreef n8n het volgende:
Zijn er hier gebruikers van wamp/xampp/mamp (mamp specifiek)? Vind altijd dat alles in etc/ een bende wordt dus een sandbox lijkt me wel wat. Is het handig om mee te werken? Zijn er vage restricties met de gratis versie? Bedankt.
Wow thanksquote:Op zaterdag 13 juni 2015 01:17 schreef TwenteFC het volgende:
[..]
Misschien dat hier iets tussenzit voor je?
https://puphpet.com/
https://github.com/fideloper/Vaprobash
http://phansible.com/
http://laravel.com/docs/5.1/homestead
Allemaal gratis, wanneer je het dmv VirtualBox doet.
Via VMWare Workstation kost dan wel weer geld.
Ja MAMP is wel easy, en het vervuilt nergens het systeem omdat het in die sandbox blijft. Vagrant vind ik dan weer te veel van het goede (en te traag). Ik ga m'n opties even na.quote:Op zaterdag 13 juni 2015 01:20 schreef Crutch het volgende:
[..]
MAMP Pro gebruiker hier.
Voorheen was ik zo'n held die keurig z'n virtual hosts en hosts file bijhield, maar MAMP maak het wel erg gemakkelijk.
Eenvoudig domeinen aanmaken, de root folder selecteren, server herstarten and you're good to go.
MAMP Pro is imo by far de meest relaxte optie, maar het kost geld. (¤ 39,-)quote:Op zaterdag 13 juni 2015 10:18 schreef n8n het volgende:
[..]
Wow thanks
Edit: allemaal Vagrant zie ik, daar heb ik echt een grondige hekel aan
[..]
Ja MAMP is wel easy, en het vervuilt nergens het systeem omdat het in die sandbox blijft. Vagrant vind ik dan weer te veel van het goede (en te traag). Ik ga m'n opties even na.
Ik gebruik nog even de standaard tools van OSX met Mysql los geïnstalleerd, php 5.5 voldoet momenteel wel en die hostfiles weet ik wel te vinden. Ben nog even student, nog even doorbijtenquote:Op zaterdag 13 juni 2015 13:05 schreef Crutch het volgende:
[..]
MAMP Pro is imo by far de meest relaxte optie, maar het kost geld. (¤ 39,-)
Op zich een goede investering.
Het is maar waar je voor gaat, ik vind vagrant zwaar ideaal. MAMP vind ik persoonlijk een net niet oplossing.quote:Op zaterdag 13 juni 2015 10:18 schreef n8n het volgende:
[..]
Wow thanks
Edit: allemaal Vagrant zie ik, daar heb ik echt een grondige hekel aan
[..]
Ja MAMP is wel easy, en het vervuilt nergens het systeem omdat het in die sandbox blijft. Vagrant vind ik dan weer te veel van het goede (en te traag). Ik ga m'n opties even na.
Ik ga Vagrant gebruiken wanneer ik van een werkgever een workstation met >32GB aan ram krijg. Heb net mcrypt gecompileerd, wat een heerlijk klusje, maar hey, alles loopt nu als de gesmeerde bliksem.quote:Op zaterdag 13 juni 2015 15:08 schreef TwenteFC het volgende:
[..]
Het is maar waar je voor gaat, ik vind vagrant zwaar ideaal. MAMP vind ik persoonlijk een net niet oplossing.
Een speciale reden waarom je hem zelf compiled?quote:Op zaterdag 13 juni 2015 15:26 schreef n8n het volgende:
[..]
Ik ga Vagrant gebruiken wanneer ik van een werkgever een workstation met >32GB aan ram krijg. Heb net mcrypt gecompileerd, wat een heerlijk klusje, maar hey, alles loopt nu als de gesmeerde bliksem.
Een hele mooie uitleg mcrypt http://coolestguidesonthe(...)-development-server/
werkt toch ook?quote:sudo apt-get install php5-mcrypt
OSX kent geen Apt-get, voor zulke zaken heb ik Homebrew, die installeert php met flags waar mcrypt er 1 van is. Helaas lag de php.net server er net uit dus dan maar even handmatig compileren en aan de default installatie toevoegen.quote:Op zaterdag 13 juni 2015 16:43 schreef TwenteFC het volgende:
[..]
Een speciale reden waarom je hem zelf compiled?
[..]
werkt toch ook?
Ik ga geen vagrant installeren. Richt jij per project dan een nieuwe server in? Vind eigenlijk alleen het handmatig managen van de vhost, en hostfile irritant, verder komt het allemaal wel goed.quote:
Nee natuurlijk niet, wij hebben gewoon replica's van onze live omgevingen.quote:Op zaterdag 13 juni 2015 16:45 schreef n8n het volgende:
[..]
OSX kent geen Apt-get, voor zulke zaken heb ik Homebrew, die installeert php met flags waar mcrypt er 1 van is. Helaas lag de php.net server er net uit dus dan maar even handmatig compileren en aan de default installatie toevoegen.
[..]
Ik ga geen vagrant installeren. Richt jij per project dan een nieuwe server in? Vind eigenlijk alleen het handmatig managen van de vhost, en hostfile irritant, verder komt het allemaal wel goed.
Je kunt gewoon in je gulpfile als task 'php -S 127.0.0.1:3000' oid draaien, geen hostfiles meer aanpassen.quote:Op zaterdag 13 juni 2015 13:14 schreef n8n het volgende:
[..]
Ik gebruik nog even de standaard tools van OSX met Mysql los geïnstalleerd, php 5.5 voldoet momenteel wel en die hostfiles weet ik wel te vinden. Ben nog even student, nog even doorbijten
ff naar kijken, al die enterprise dingen komen wel in de enterprise.quote:Op zaterdag 13 juni 2015 22:02 schreef boem-dikkie het volgende:
[..]
Je kunt gewoon in je gulpfile als task 'php -S 127.0.0.1:3000' oid draaien, geen hostfiles meer aanpassen.
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 | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql= "SELECT Subsite , Unit , UserName , UserID , DATE_FORMAT(Startdate, '%d-%m-%Y') Startdate , CASE WHEN DATE_FORMAT(Enddate, '%d-%m-%Y') = '00-00-0000' THEN 'heden' ELSE DATE_FORMAT(Enddate, '%d-%m-%Y') END Enddate , StartURL , EndURL , NrOfDays FROM AllData WHERE Subsite = 'Forum' AND UserID = " . $id ; $stmt=$con->prepare($sql); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '<tr>'; echo '<td>' . ++$t . '</td>'; echo '<td>' . $row['Unit'] . '</td>'; echo '<td>' . $row['NrOfDays'] . ' dagen</td>'; echo '<td>'; if ($row['StartURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['StartURL'] . '" target="_blank">' . $row['Startdate'] . '</a>'; } else { echo $row['Startdate']; } echo '</td>'; echo '<td>'; if ($row['EndURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['EndURL'] . '" target="_blank">' . $row['Enddate'] . '</a>'; } else { echo $row['Enddate']; } echo '</td>'; echo '</tr>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> |
1 2 3 | <?php WHERE Subsite = 'Forum' AND UserID = " . $id ; ?> |
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 | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql= "SELECT Subsite , Unit , UserName , UserID , DATE_FORMAT(Startdate, '%d-%m-%Y') Startdate , CASE WHEN DATE_FORMAT(Enddate, '%d-%m-%Y') = '00-00-0000' THEN 'heden' ELSE DATE_FORMAT(Enddate, '%d-%m-%Y') END Enddate , StartURL , EndURL , NrOfDays FROM AllData WHERE Subsite = ? AND UserID = ?" ; $stmt=$con->prepare($sql); $stmt->execute(array('Forum',$id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '<tr>'; echo '<td>' . ++$t . '</td>'; echo '<td>' . $row['Unit'] . '</td>'; echo '<td>' . $row['NrOfDays'] . ' dagen</td>'; echo '<td>'; if ($row['StartURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['StartURL'] . '" target="_blank">' . $row['Startdate'] . '</a>'; } else { echo $row['Startdate']; } echo '</td>'; echo '<td>'; if ($row['EndURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['EndURL'] . '" target="_blank">' . $row['Enddate'] . '</a>'; } else { echo $row['Enddate']; } echo '</td>'; echo '</tr>'; } $stmt->execute(array('Frontpage',$id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '<tr>'; echo '<td>' . ++$t . '</td>'; echo '<td>' . $row['Unit'] . '</td>'; echo '<td>' . $row['NrOfDays'] . ' dagen</td>'; echo '<td>'; if ($row['StartURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['StartURL'] . '" target="_blank">' . $row['Startdate'] . '</a>'; } else { echo $row['Startdate']; } echo '</td>'; echo '<td>'; if ($row['EndURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['EndURL'] . '" target="_blank">' . $row['Enddate'] . '</a>'; } else { echo $row['Enddate']; } echo '</td>'; echo '</tr>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> |
.quote:Op woensdag 17 juni 2015 11:41 schreef mstx het volgende:
[ code verwijderd ]
Zoiets? (uit mn hoofd)
Zie voorbeelden
http://php.net/manual/en/pdo.prepare.php
Zoiets?quote:Op woensdag 17 juni 2015 11:53 schreef zarGon het volgende:
Weet je trouwens ook of het mogelijk is dat die while() dynamisch kan worden?
Dat er voor elke susbite automatisch een while() gemaakt wordt, in plaats van handmatig voor de subsite 'Forum' en 'Frontpage' een while() te typen (die verder totaal hetzeflde zijn). Heb je 3 subsites, zijn er 3 while()'s enzovoorts enzovoorts.
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 | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql= "SELECT Subsite , Unit , UserName , UserID , DATE_FORMAT(Startdate, '%d-%m-%Y') Startdate , CASE WHEN DATE_FORMAT(Enddate, '%d-%m-%Y') = '00-00-0000' THEN 'heden' ELSE DATE_FORMAT(Enddate, '%d-%m-%Y') END Enddate , StartURL , EndURL , NrOfDays FROM AllData WHERE Subsite = ? AND UserID = ?" ; $stmt=$con->prepare($sql); foreach(array('Forum', 'Frontpage') as $subsite) { $stmt->execute(array($subsite,$id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '<tr>'; echo '<td>' . ++$t . '</td>'; echo '<td>' . $row['Unit'] . '</td>'; echo '<td>' . $row['NrOfDays'] . ' dagen</td>'; echo '<td>'; if ($row['StartURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['StartURL'] . '" target="_blank">' . $row['Startdate'] . '</a>'; } else { echo $row['Startdate']; } echo '</td>'; echo '<td>'; if ($row['EndURL'] <> "0") { echo '<a href="http://forum.fok.nl/topic/' . $row['EndURL'] . '" target="_blank">' . $row['Enddate'] . '</a>'; } else { echo $row['Enddate']; } echo '</td>'; echo '</tr>'; } } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> |
Zoiets?quote:Op woensdag 17 juni 2015 11:53 schreef zarGon het volgende:
Weet je trouwens ook of het mogelijk is dat die while() dynamisch kan worden?
Dat er voor elke susbite automatisch een while() gemaakt wordt, in plaats van handmatig voor de subsite 'Forum' en 'Frontpage' een while() te typen (die verder totaal hetzeflde zijn). Heb je 3 subsites, zijn er 3 while()'s enzovoorts enzovoorts.
1 2 3 4 5 6 | <?php foreach(array('Forum', 'Frontpage', 'Weblog') as $subsite) { // hier je while loop, waarin je $subsite gebruikt voor deze specifieke subsite } ?> |
Hetzelfde als bij Rockfire zie ik. Ook jij bedankt.quote:
1 2 3 4 | RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?p=$1 [L] |
quote:Op donderdag 18 juni 2015 13:33 schreef zarGon het volgende:
[..]
Hetzelfde als bij Rockfire zie ik. Ook jij bedankt.
Nog 1 vraag...
Ik wil een URL rewrite (d.m.v. .htaccess):
1) domein.ext/index.php?p=[paginanaam] wil ik kunnen openen met domein.ext/[paginanaam]
2) domein.ext/index.php?p=user&id=[userid] wil ik kunnen openen met domein.ext/user/[userid]
1 is gelukt:
[ code verwijderd ]
Maar 2 lukt me niet om werkend te krijgen. Iemand een idee? .
1 | RewriteRule ^([^/]*)/([^$]*)$ /index.php?p=$1&id=$2 [L] |
Werkt niet.quote:
Je bedoelt het volgende?quote:Op donderdag 18 juni 2015 13:54 schreef KomtTijd... het volgende:
.* matcht ook user/id dus die moet je minder gready maken ( [^/]* ) of je moet de tweede regel bovenaan zetten.
1 2 3 4 5 | RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?p=$1 [L] RewriteRule ^([^/]*)/([^$]*)$ /index.php?p=$1&id=$2 [L] |
1 2 3 4 5 | RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^$]*)$ /index.php?p=$1&id=$2 [L] RewriteRule ^(.*)$ /index.php?p=$1 [L] |
1 2 3 | RewriteEngine on RewriteRule ^(.*)/([0-9]*) /index.php?p=$1&id=$2 [L] RewriteRule ^(.*) /index.php?p=$1 [L] |
Zelfde foutmelding. 500 Internal Server Error.quote:Op donderdag 18 juni 2015 14:18 schreef Rockfire het volgende:
Ik ben niet heel goed in rewrite rules, maar volgens mij werkt dit:
[ code verwijderd ]
Althans volgens deze tester
Ditquote:Op zaterdag 20 juni 2015 12:25 schreef Monolith het volgende:
Waarom gebruik je eigenlijk niet gewoon een simpel MVC framework waar request mappings al voor he geregeld worden?
Werkt dit bij jou?quote:Op zaterdag 20 juni 2015 12:20 schreef zarGon het volgende:
Hmpf, heb echt allerlei combinaties geprobeerd, maar blijf de Internal Server Error krijgen. (Zou het aan de server kunnen liggen?)
Ik zou het zo willen proberen nu:
• site.nl/?p=home ----> site.nl/home
• site.nl/?p=users ----> site.nl/users
• site.nl/?p=forums ---> site.nl/forums
• site.nl/?p=user&id={USERID} ---> site.nl/user/{USERID}
Geen wildcard meer dus.
Iemand die me daarmee zou kunnen helpen?
1 2 3 4 5 | RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^user/([0-9]+)$ index.php?p=user&id=$1 [QSA,L] RewriteRule ^([a-z]+)$ index.php?p=$1 [QSA,L] |
.quote:Op zaterdag 20 juni 2015 17:01 schreef paulb_nl het volgende:
[..]
Werkt dit bij jou?
[ code verwijderd ]
Laravel 5 of Silex afhankelijk van de applicatie.quote:Op zaterdag 20 juni 2015 19:10 schreef totalvamp het volgende:
Als je nu een nieuwe PHP project zou moeten beginnen welk framework zouden jullie gebruiken?
Symphony 2
Laravel 5.1
Zend
etc.
Waar doel je dan precies op?quote:Op zaterdag 20 juni 2015 19:53 schreef Crutch het volgende:
Laravel verdient wmb absoluut niet de schoonheidsprijs.
Dat het een grote vergaarbak van statische classes.quote:
Ik had al een vermoeden dat je aan zou komen met het fabeltje over statische classes.quote:Op zondag 21 juni 2015 13:50 schreef Crutch het volgende:
[..]
Dat het een grote vergaarbak van statische classes.
Gezien het feit dat Laravel behoorlijk afhankelijk is van Symfony componenten kun je net zo goed Symfony gebruiken.
Ik heb gelezen dat beginners eerst silex wordt aangeraden. Ben zelf direct gestart met symfony en heb er geen seconde spijt van. zf2 vond ik trouwens ook best werkenquote:Op zondag 21 juni 2015 13:50 schreef Crutch het volgende:
[..]
Dat het een grote vergaarbak van statische classes.
Gezien het feit dat Laravel behoorlijk afhankelijk is van Symfony componenten kun je net zo goed Symfony gebruiken.
quote:Op maandag 22 juni 2015 13:22 schreef KomtTijd... het volgende:
MySQL, wordt dat nog gebruikt dan?
TT mag ook wel eens veranderd worden in PHP/MariaDB
quote:PHP 7.0.0 Alpha 1 Released
The PHP development team announces the immediate availability of PHP 7.0.0 Alpha 1. This release marks the beginning of the PHP 7 major series. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.
THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!
PHP 7.0.0 Alpha 1 comes with new version of the Zend Engine with features such as (incomplete list):
• Improved performance: PHP 7 is up to twice as fast as PHP 5.6
• Consistent 64-bit support
• Many fatal errors are now Exceptions
• Removal of old and unsupported SAPIs and extensions
• The null coalescing operator (??)
• Combined comparison Operator (<=>)
• Return Type Declarations
• Scalar Type Declarations
• Anonymous Classes
For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive.
Het duurt 20 jaar, maar dan heb je ook wat.quote:
Hehe. Het is derhalve wel een goede ontwikkeling.quote:Op maandag 22 juni 2015 17:16 schreef Monolith het volgende:
[..]
Het duurt 20 jaar, maar dan heb je ook wat.
Combined comparison Operatorquote:
1 2 3 4 5 6 7 8 9 | function order_func($a, $b) { return ($a < $b) ? -1 : (($a > $b) ? 1 : 0); } // With this operator, you can easily write proper ordering functions, like this one: function order_func($a, $b) { return $a <=> $b; } |
1 2 3 4 5 | // Fetches the request parameter user and results in 'nobody' if it doesn't exist $username = $_GET['user'] ?? 'nobody'; // equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; |
Dat soort dingen vind ik niet zo spannend. Dat hoort afgehandeld te worden door je framework.quote:Op maandag 22 juni 2015 17:33 schreef Aether het volgende:
[..]
Combined comparison Operator
[ code verwijderd ]
[ code verwijderd ]
Jaquote:Op maandag 22 juni 2015 13:22 schreef KomtTijd... het volgende:
MySQL, wordt dat nog gebruikt dan?
TT mag ook wel eens veranderd worden in PHP/MariaDB
De tweede is wel een language construct die je vaker ziet en op zich wel handig.quote:Op maandag 22 juni 2015 17:45 schreef Boze_Appel het volgende:
[..]
Dat soort dingen vind ik niet zo spannend. Dat hoort afgehandeld te worden door je framework.
Gelukkig heb ik dat mooi in de tijd van de baas kunnen doen. Zou nu nooit meer een applicatie willen ontwikkelen zonder symfony.quote:Op woensdag 24 juni 2015 07:49 schreef robin007bond het volgende:
Poeh. Moet zeggen dat zo'n framework leren als Symfony meer tijd kost dan gedacht.
Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 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 | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql="SELECT @curRank := @curRank + 1 AS Rank , UnitDays.UserID , UnitDays.UserName , UnitDays.Subsite , UnitDays.Unit , UnitDays.FirstStartdate , UnitDays.NrOfUniqueDays , CASE WHEN UnitDays.Subsite = ? THEN 'Yes' ELSE 'No' END IsDisplayed FROM (SELECT UserID , UserName , Subsite , Unit , FirstStartdate , NrOfUniqueDays FROM UnitDays) UnitDays JOIN (SELECT @curRank := 0) r WHERE UnitDays.UserID = ? ORDER By UnitDays.FirstStartdate"; $stmt=$con->prepare($sql); foreach(array('Forum', 'Frontpage') as $subsite) { $stmt->execute(array($subsite,$id)); $fok = 0; echo '<script type="text/javascript" data-src="https://www.google.com/jsapi" style="visibility:hidden;"></script>'; echo '<script type="text/javascript">'; echo 'google.load("visualization", "1", {packages:["corechart"]});'; echo 'google.setOnLoadCallback(drawChart);'; echo 'function drawChart() {'; echo 'var data = google.visualization.arrayToDataTable(['; echo "['Functie', 'Dagen'],['', ''], ['',''],"; if ($SelectedID == 41894 OR $SelectedID == 372780) { echo "['',''], "; } // 99.999 == du_ke while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ++$fok; if ($row['IsDisplayed'] == 'Yes') { echo "['" . $row['Unit'] . "', " . $row['NrOfUniqueDays'] . "]"; } else { echo "['','']"; } if ($fok !== $row['Rank']) { echo ","; } } echo ']);'; echo 'var chart = new google.visualization.PieChart(document.getElementById("' . $row['Subsite'] . '"));'; echo "var options = { title: 'Subsite: " . $row['Subsite']. "', sliceVisibilityThreshold: .00001, backgroundColor: 'transparent', tooltip: {showColorCode: true, textStyle: { color: 'black'}} };"; echo 'chart.draw(data, options);'; echo '}'; echo '</script>'; echo '<div class="piechart" id="' . $row['Subsite'] . '" style="width: 100%; height:400px;"></div>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> |
1 2 3 | <?php $row = $stmt->fetch(PDO::FETCH_ASSOC) ?> |
Gewoon $subsite gebruiken buiten de while?quote:Op woensdag 24 juni 2015 11:56 schreef zarGon het volgende:
[..]
Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.
[ code verwijderd ]
Het gaat om regel 49 t/m 54. $row['Subsite'] wordt niet aangevuld en is dus leeg.
Ik denk dat dat komt omdat het niet meer in de while() zit, maar ik krijg het niet aan de praat. Ook niet als ik nogmaals het onderstaande toevoeg op regel 48.
[ code verwijderd ]
Enig idee hoe ik $row['Subsite'] wel met de juiste waarden terugkrijg?
Yes, werkt! En javascript laadt nu 1 kee in. Bedankt!quote:Op woensdag 24 juni 2015 12:06 schreef mstx het volgende:
[..]
Gewoon $subsite gebruiken buiten de while?
En ik zou even zorgen dat je dat externe javascriptje niet 2x inlaadt
Jep.quote:Op woensdag 24 juni 2015 12:15 schreef Nattekat het volgende:
Klopt de tabel die de SQL query teruggeeft wel? Het is de enige plek waar $row gevuld wordt als ik het zo bekijk.
Je kan controleren of er gegevens in de data zijn gezet; als er geen gegevens in data zijn gezet moet de variable data gelijk zijn aanquote:Op woensdag 24 juni 2015 12:16 schreef zarGon het volgende:
[..]
Jep.
Alleen Forum: http://fokcrew.nl/user/151187
Forum + Frontpage: http://fokcrew.nl/user/280647.
Edit:
- nu met 6 subsites in de array...
- http://fokcrew.nl/user/356028 (ik wil dus alleen de taartgrafieken met data tonen)
1 | google.visualization.arrayToDataTable([]) |
Waarom doe je een order by in een subquery?quote:Op woensdag 24 juni 2015 11:56 schreef zarGon het volgende:
[..]
Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.
[ code verwijderd ]
Het gaat om regel 49 t/m 54. $row['Subsite'] wordt niet aangevuld en is dus leeg.
Ik denk dat dat komt omdat het niet meer in de while() zit, maar ik krijg het niet aan de praat. Ook niet als ik nogmaals het onderstaande toevoeg op regel 48.
[ code verwijderd ]
Enig idee hoe ik $row['Subsite'] wel met de juiste waarden terugkrijg?
Mijn arrayToDataTable() is altijd gevuld...quote:Op woensdag 24 juni 2015 12:32 schreef Nattekat het volgende:
[..]
Je kan controleren of er gegevens in de data zijn gezet; als er geen gegevens in data zijn gezet moet de variable data gelijk zijn aan
[ code verwijderd ]
1 | ([['Functie', 'Dagen'],['', ''], ['',''],['',''], ['POL', 1244],['TDF', 93],]) |
De taartgrafiek berekent het totaal aantal dagen een functie per user. Een functie kan meerdere keren door een user bekleed worden. De view UnitDays groepeert dus per user en per functie, en neemt daarbij de startdatum van de eerste keer dat een functie bekleed wordt.quote:Op woensdag 24 juni 2015 12:43 schreef raptorix het volgende:
[..]
Waarom doe je een order by in een subquery?
Maar het heeft geen enkele zin om in een subquery te ordenen (tenzij je een top/limit selectie doet), de ordering vind namelijk plaats over de uiteindelijke select die je doet.quote:Op woensdag 24 juni 2015 13:00 schreef zarGon het volgende:
[..]
Mijn arrayToDataTable() is altijd gevuld...
Elke taartgrafiek die je maakt heeft dezelfde kleuren voor de posities. Positie 1 is blauw, positie 2 is rood, 3 is geel etc etc. Als ik dus 3 grafieken maak zonder rekening te houden met de posities, hebben al die 3 grafieken dezelfde kleuren. En dat komt dan weer niet overeen met de timeline.
Daarom mijn fratsen met Rank en IsDisplayed... om de kleuren van de timeline en taartgrafieken kloppend te hebben.
[ code verwijderd ]
De eerste 3 posities zijn leeg, zodat POL en TDF de juiste kleuren hebben...
Ik heb iets anders nodig. .
[..]
De taartgrafiek berekent het totaal aantal dagen een functie per user. Een functie kan meerdere keren door een user bekleed worden. De view UnitDays groepeert dus per user en per functie, en neemt daarbij de startdatum van de eerste keer dat een functie bekleed wordt.
Voorbeeld:
- ONZ - 10 dagen - 7 juni
- FOT - 15 dagen - 9 juni
- ONZ - 20 dagen - 10 juni
Resultaat UnitDays:
- ONZ - 30 dagen - 7 juni
- FOT - 15 dagen - 9 juni
Ik heb die sortering nodig om de volgorde van de timeline en taartgrafiek kloppende te houden. Anders is er een mismatch tussen de kleuren.
http://fokcrew.nl/user/127981.quote:Op woensdag 24 juni 2015 13:04 schreef raptorix het volgende:
[..]
Maar het heeft geen enkele zin om in een subquery te ordenen (tenzij je een top/limit selectie doet), de ordering vind namelijk plaats over de uiteindelijke select die je doet.
Ja dat kan best zijn, maar de ordering is toch echt afhankelijk van je order in de buitenste select.quote:Op woensdag 24 juni 2015 13:10 schreef zarGon het volgende:
[..]
http://fokcrew.nl/user/127981.
Zie de kleuren in de timeline en in de taartgrafiek. Zonder een order is het resultaat van de taartgrafiek alfabetisch. En dat komt niet overeen met de timeline, die chronologisch is.
Hoe zou jij die query geschreven hebben? (Waar zou jij de order plaatsen? Binnen de UnitDays-subquery?)quote:Op woensdag 24 juni 2015 13:14 schreef raptorix het volgende:
[..]
Ja dat kan best zijn, maar de ordering is toch echt afhankelijk van je order in de buitenste select.
Select id,name from (select id,name from users order by id) order by name
en
Select id,name from (select id,name from users order by name) order by name
en
Select id,name from (select id,name from users) order by name
Leveren exact het zelfde op.
Zie editquote:Op woensdag 24 juni 2015 13:18 schreef zarGon het volgende:
[..]
Hoe zou jij die query geschreven hebben? (Waar zou jij de order plaatsen? Binnen de UnitDays-subquery?)
Zit een count in UnitDays die de unieke dagen telt. Wilde een window function gebruiken die ik gewend was bij MSSQL, maar dat vond MariaDB niet leuk.quote:Op woensdag 24 juni 2015 13:19 schreef raptorix het volgende:
[..]
Zie edit
Ik zou hem persoonlijk denk ik gewoon met een aggregate functie hebben geschreven.
Ehm, ik heb geen verstand van MariaDB, ik doe het al 17 jaar in MS SQLquote:Op woensdag 24 juni 2015 13:33 schreef zarGon het volgende:
[..]
Zit een count in UnitDays die de unieke dagen telt. Wilde een window function gebruiken die ik gewend was bij MSSQL, maar dat vond MariaDB niet leuk.
Ben blij dat er geen grove fout in zit. .
Enig idee of jij me kan helpen met mijn openstaande issue?
Hmhmm, jammer. .quote:Op woensdag 24 juni 2015 13:37 schreef raptorix het volgende:
[..]
Ehm, ik heb geen verstand van MariaDB, ik doe het al 17 jaar in MS SQL
10 jaar terug deed ik uberhaupt veel meer met SQL, maar dat kwam omdat ik toen die ene huizensite bouwde
1 2 3 | <?php foreach(array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { ?> |
Staat de code eigenlijk op GitHub? Dan kun je FOK!kers pull requests laten doen.quote:Op woensdag 24 juni 2015 17:18 schreef zarGon het volgende:
[ code verwijderd ]
Kan ik de array niet vullen met de subsites die alleen in het resultaat van de query voorkomen? Zelf een paar dingen geprobeerd, maar hopeloos. . .
Goed om te horen. Ik ben bezig met een webapplicatie en ondertussen maak ik me Symfony eigen. (Ook voor werk)quote:Op woensdag 24 juni 2015 09:34 schreef KomtTijd... het volgende:
[..]
Gelukkig heb ik dat mooi in de tijd van de baas kunnen doen. Zou nu nooit meer een applicatie willen ontwikkelen zonder symfony.
Eerder geprobeerd (staat ook een topic in DIG), maar geen animo.quote:Op woensdag 24 juni 2015 18:43 schreef robin007bond het volgende:
[..]
Staat de code eigenlijk op GitHub? Dan kun je FOK!kers pull requests laten doen.
Is er uberhaupt een reden om het niet te doen? Je code is toch al openbaar.quote:Op woensdag 24 juni 2015 19:00 schreef zarGon het volgende:
[..]
Eerder geprobeerd (staat ook een topic in DIG), maar geen animo.
Ik zou zeggen de config.php in de .gitignore en dan een config-sample.php als template erin.quote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
Dat is wel een goede ja.quote:Op woensdag 24 juni 2015 20:50 schreef mstx het volgende:
[..]
Ik zou zeggen de config.php in de .gitignore en dan een config-sample.php als template erin.
https://github.com/vlucas/phpdotenvquote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
Eerst alle rows inlezen en dan checken of de array leeg is.quote:Op woensdag 24 juni 2015 12:15 schreef zarGon het volgende:
[..]
Hoe kan ik ervoor zorgen dat-ie een subsite (Forum, Frontpage) alleen uitvoert als er records zijn? Probleem nu is dat ik voor elke subsite 400 pixels reserveer op regel 54 (dus 2 subsites = 800 pixels), terwijl de SQL-query slechts 1 subsite bevat. (Is het te volgen?)
Voorbeeld: http://fokcrew.nl/user/151187. Frontpage bevat geen records, maar wordt alsnog getoond. (Ik heb geloof ik 6 subsites, dus dat worden vele lege ruimtes.)
1 2 3 4 5 6 | foreach(array('Forum', 'Frontpage') as $subsite) { $stmt->execute(array($subsite,$id)); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($rows)) { continue; } |
Het beste is natuurlijk om je database connectie op basis van locale gebruiksrechten te doen, en niet met een username password.quote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
Geprobeerd, ik zag niets verschijnen op het scherm. Voor zover ik zag geen foutmeldingen.quote:Op donderdag 25 juni 2015 01:17 schreef paulb_nl het volgende:
[..]
Eerst alle rows inlezen en dan checken of de array leeg is.
[ code verwijderd ]
en de while naar foreach($rows as $row).
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 | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql="SELECT @curRank := @curRank + 1 AS Rank , UnitDays.UserID , UnitDays.UserName , UnitDays.Subsite , UnitDays.Unit , UnitDays.FirstStartdate , UnitDays.NrOfUniqueDays , CASE WHEN UnitDays.Subsite = ? THEN 'Yes' ELSE 'No' END IsDisplayed FROM (SELECT UserID , UserName , Subsite , Unit , FirstStartdate , NrOfUniqueDays FROM UnitDays ORDER By UnitDays.FirstStartdate) UnitDays JOIN (SELECT @curRank := 0) r WHERE UnitDays.UserID = ? "; $stmt = $con->prepare($sql); // een closure functie, zodat $stmt automatisch beschikbaar is binnen de functie $fetchAll = function ($subsite, $id) use ($stmt) { $results = []; $stmt->execute(array($subsite, $id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $row; } return $results; }; foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { $results = $fetchAll(array($subsite,$id)); $countRecord = 0; // ga door naar volgende subsite indien geen resultaten (lege array) if (!$results) { continue; } echo '<script type="text/javascript">'; echo 'google.load("visualization", "1", {packages:["corechart"]});'; echo 'google.setOnLoadCallback(drawChart);'; echo 'function drawChart() {'; echo 'var data = google.visualization.arrayToDataTable(['; echo "['Functie', 'Dagen'],['', ''], ['',''],"; if ($SelectedID == 41894 OR $SelectedID == 372780) { echo "['',''], "; } // 99.999 == du_ke // loop over resultaten met dezelfde logica als voorheen in je while loop foreach ($results as $row) { ++$countRecord; if ($row['IsDisplayed'] == 'Yes') { echo "['" . $row['Unit'] . "', " . $row['NrOfUniqueDays'] . "]"; } else { echo "['','']"; } if ($countRecord !== $row['Rank']) { echo ","; } } echo ']);'; echo 'var chart = new google.visualization.PieChart(document.getElementById("' . $subsite . '"));'; echo "var options = { title: 'Subsite: " . $subsite . "', sliceVisibilityThreshold: .00001, backgroundColor: 'transparent', tooltip: {showColorCode: true, textStyle: { color: 'black'}} };"; echo 'chart.draw(data, options);'; echo '}'; echo '</script>'; echo '<div class="piechart" id="' . $subsite . '" style="width: 100%; height:400px;"></div>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?> |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Voorbeeld: http://fokcrew.nl/user/151187 (onderaan).
Regel 339 en verder:($fetchAll is regel 339.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<?php
$fetchAll = function ($subsite, $id) use ($stmt) {
$results = [];
$stmt->execute(array($subsite, $id));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$results[] = $row;
}
return $results;
};
foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) {
$results = $fetchAll(array($subsite,$id));
$countRecord = 0;
// ga door naar volgende subsite indien geen resultaten (lege array)
if (!$results) {
continue;
}
?>
Enig idee wat ik over het hoofd zie?
1 | $fetchAll(var) |
1 | $fetchAll(var, var) |
Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing. . Ik moet ergens een parameter extra meegeven, of de functie aanpassen?quote:Op donderdag 25 juni 2015 15:36 schreef Nattekat het volgende:
$fetchAll(array($subsite,$id)) deze functie klopt niet, je roept hierbij aan:
[ code verwijderd ]
Terwijl je gedeclareerd hebt:
[ code verwijderd ]
Er mist dus een parameter.
Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.quote:Op donderdag 25 juni 2015 15:47 schreef zarGon het volgende:
[..]
Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing. . Ik moet ergens een parameter extra meegeven, of de functie aanpassen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $fetchAll = function ($subsite, $id) use ($stmt) { $results = []; $stmt->execute(array($subsite, $id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $row; } return $results; }; foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { $results = $fetchAll($subsite,$id); $countRecord = 0; // ga door naar volgende subsite indien geen resultaten (lege array) if (!$results) { continue; } ?> |
Foutmelding is weg, en het werkt!quote:Op donderdag 25 juni 2015 15:51 schreef Nattekat het volgende:
[..]
Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.
Dan krijg je dus:
[ code verwijderd ]
Regel 14 is veranderd
Laravel dagelijks, OctoberCMS niet.quote:Op donderdag 25 juni 2015 17:52 schreef Qunix het volgende:
2 kudoos voor de TT.
Iemand hier die wat doet met Laravel? en OctoberCMS?
Dagelijks als in je werk?quote:Op donderdag 25 juni 2015 18:17 schreef TwenteFC het volgende:
[..]
Laravel dagelijks, OctoberCMS niet.
Nice!quote:Op donderdag 25 juni 2015 18:48 schreef TwenteFC het volgende:
[..]
Ja, en in het weekend voor de hobby ook nog vaak.
Geen bestaande systemen, alles inhouse gemaakt.quote:Op donderdag 25 juni 2015 18:52 schreef Qunix het volgende:
[..]
Nice!
Ik ben nu met een site bezig (staat nog niet live) in OctoberCMS. Wat gebruik jij als CMS (of als admin)?
https://github.com/briannesbitt/Carbonquote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Één ding erger ik me nog wel heel erg aan:
Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
http://carbon.nesbot.com/quote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Één ding erger ik me nog wel heel erg aan:
Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
Dat ziet er mooi uit.quote:Op donderdag 25 juni 2015 18:55 schreef TwenteFC het volgende:
[..]
https://github.com/briannesbitt/Carbon
Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/quote:Op donderdag 25 juni 2015 18:57 schreef robin007bond het volgende:
Dit had ik veel eerder moeten weten. Ik heb zulke fucking dirty trucjes uit moeten halen om fatsoenlijk meerdere datums van elkaar af te trekken en dergelijke. En vergelijkingen met unix timestamps en dergelijke. Niet echt meer van deze tijd.
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vindenquote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.quote:Op donderdag 25 juni 2015 18:59 schreef TwenteFC het volgende:
[..]
Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/
Heel eenvoudig zoeken door composer compatible packages.
Op een USB installeren thuis en booten vanaf USB op je werk.quote:Op donderdag 25 juni 2015 19:04 schreef robin007bond het volgende:
[..]
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.
Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever. (zeker omdat ik vakantiekracht ben).
Ja, de taal zelf is lelijk. En vooral de procedurele stijl en OOP-stijl door elkaar.quote:Op donderdag 25 juni 2015 18:59 schreef Qunix het volgende:
[..]
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden
Oh, en java is absoluut niet beter.
Ja, kan. Maar dan moet ik wel fatsoenlijk op een active directory kunnen inloggen en dergelijke. Geen zin om dat helemaal te configureren.quote:Op donderdag 25 juni 2015 19:06 schreef Qunix het volgende:
[..]
Op een USB installeren thuis en booten vanaf USB op je werk.
Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.quote:Op donderdag 25 juni 2015 19:04 schreef robin007bond het volgende:
[..]
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.
Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever. (zeker omdat ik vakantiekracht ben).
Ik zou in ieder geval die CASE uit de sql halen en in php checken zodat je maar 1 keer de database hoeft aan te roepen ipv 6 keer . Je kan terwijl je de results array aan het opbouwen bent ook de subsites uit de results in een array opslaan. Die kan je dan gebruiken om te bepalen of je de subsite moet overslaan.quote:Op donderdag 25 juni 2015 15:57 schreef zarGon het volgende:
[..]
Foutmelding is weg, en het werkt!
Ik zie alleen weer alle subsites, maar dat klopt ook... Ik heb iets over het hoofd gezien. Argh... .
Er vindt geen filtering plaats (geen ?) op subsite, alleen op ID. Dus het resultaat is altijd gevuld. .
Ik heb alle records nodig, daarom geen filtering op subsite.
Ugh... Ik moet dus een andere oplossing vinden, eentje waarin bepaald wordt of de subsite wel of niet voorkomt en dat doorgeven of zo.
Bedankt in ieder geval.
Het valt te proberen ja. Via USB is wel langzaam, maar wellicht beter dan Windows.quote:Op donderdag 25 juni 2015 19:08 schreef TwenteFC het volgende:
[..]
Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.
En daarnaast nog alle gekke trucjes en dergelijke die je uit moet halen voor gulp en dat soort tools.
Development is bij ons niet de core-business, dus imacs zitten er helaas niet in, dat booten van Ubuntu via USB is misschien ook nog wel een test waard.
Java is volstrekt anders. Java is een volwaardige programmeertaal, PHP is bedoeld voor web front end. Veel plezier met het ontwikkelingen van toepassingen waarbij je gebruik moet maken van JMS of ESB achtige oplossingen in PHP. Fatsoenlijke threading kun je ook vergeten.quote:Op donderdag 25 juni 2015 18:59 schreef Qunix het volgende:
[..]
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden
Oh, en java is absoluut niet beter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <div id="form" class="form" style="float:right;"> <h1>Driver, you've been flyin'!</h1> <form action="insert.php" method="post"> <input name="license" id="license" type="text" placeholder="Your licenceNumber"> <input name="time" id="time" type="text" placeholder="What Time"> <input name="where" id="where" type="text" placeholder="Which Road?"> <input name="comment" id="comment" type="text" placeholder="Any additional comments?"> <input name="button" type="submit" value="Send me my Fine"> </form> <p/> Dit is formulier 2.<p/> Als je dit formulier invult ga je naar "insert.php". <p/>Daar wordt wat je hebt ingevuld in de database gezet <span class="bold">(2pt)</span>, tenminste, <u>als</u> je alle velden heb ingevuld.<span class="bold">(1pt)</span><p/>Eerst moet moet je nog in phpMyAdmin een tabel maken met de naam "verkeersboetes"<span class="bold">(2pt)</span>.<p/>Alles uit de tabel verkeersboetes moet meteen na het toevoegen ook wordenuitgelezen op die pagina <span class="bold">(2pt)</span>. </div> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <table width="600" border="0" cellspacing="4" cellpadding="4"> <tr> <td>Licence nr</td> <td>Time</td> <td>Place</td> <td>Comment</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> </table> |
Gewoon met POST of GET.quote:Op vrijdag 26 juni 2015 16:41 schreef ikbenrond het volgende:
Hallo..
[ code verwijderd ]
Stel ik wil deze uitlezen naar een andere pagina? Kan dat? insert.php heeft deze tabelletjes, daar moeten de gegevens inkomen
[ code verwijderd ]
Als je Vagrant gebruikt zijn deze tips misschien iets voor je: https://stefanwrobel.com/how-to-make-vagrant-performance-not-suckquote:Op donderdag 25 juni 2015 19:08 schreef TwenteFC het volgende:
[..]
Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.
En daarnaast nog alle gekke trucjes en dergelijke die je uit moet halen voor gulp en dat soort tools.
Development is bij ons niet de core-business, dus imacs zitten er helaas niet in, dat booten van Ubuntu via USB is misschien ook nog wel een test waard.
Engels is inderdaad consequenter en daarbij werk ik grotendeels met expats die niet of nauwelijks Nederlands spreken.quote:Op maandag 29 juni 2015 23:31 schreef TwenteFC het volgende:
In welke taal programmeren jullie meestal, dus ik bedoel letterlijk de taal
Nederlands of Engels?
Ik hink wat dat betreft altijd op twee gedachten, persoonlijk vind ik Engels fijner lezen en consequenter aangezien standaard functionaliteiten van de programmeertaal ook in het Engels zijn.
Maar daarentegen vind ik het persoonlijk ook altijd wel fijn om specifieke bedrijfsacties welke door iedereen om mij heen zo genoemd worden in de code ook zo te noemen.
Bijvoorbeeld het woord adviesprijs om maar iets simpels te noemen, er zal hier niemand zijn die het suggestedRetailPrice noemt. En uit ervaring heb ik gemerkt dat een mengelmoes ook altijd zo'n bende wordt en dat het snel leidt tot inconsequente naamgevingen.
Zijn er serieus mensen die in Nederlands programmeren?quote:Op maandag 29 juni 2015 23:31 schreef TwenteFC het volgende:
In welke taal programmeren jullie meestal, dus ik bedoel letterlijk de taal
Nederlands of Engels?
Ik hink wat dat betreft altijd op twee gedachten, persoonlijk vind ik Engels fijner lezen en consequenter aangezien standaard functionaliteiten van de programmeertaal ook in het Engels zijn.
Maar daarentegen vind ik het persoonlijk ook altijd wel fijn om specifieke bedrijfsacties welke door iedereen om mij heen zo genoemd worden in de code ook zo te noemen.
Bijvoorbeeld het woord adviesprijs om maar iets simpels te noemen, er zal hier niemand zijn die het suggestedRetailPrice noemt. En uit ervaring heb ik gemerkt dat een mengelmoes ook altijd zo'n bende wordt en dat het snel leidt tot inconsequente naamgevingen.
Bij overheidsprojecten helemaal niet ongebruikelijk, zeker niet als het een wat gedateerde codebase is.quote:Op dinsdag 30 juni 2015 09:11 schreef boem-dikkie het volgende:
[..]
Zijn er serieus mensen die in Nederlands programmeren?
En wat zou de reden zijn geweest om dat te doen?quote:Op dinsdag 30 juni 2015 09:14 schreef Tijn het volgende:
[..]
Bij overheidsprojecten helemaal niet ongebruikelijk, zeker niet als het een wat gedateerde codebase is.
Geen idee. Misschien om de termen die in de wet staan terug te laten komen in de code, voor de duidelijkheid?quote:Op dinsdag 30 juni 2015 09:27 schreef boem-dikkie het volgende:
[..]
En wat zou de reden zijn geweest om dat te doen?
Daar heb je comments voor indien nodig. Het lijkt me eerder een soort overblijfsel uit een tijd waarin Engels nog wat minder gemeengoed was dan tegenwoordig. Ik kom incidenteel (met name in de PHP hoek, waar toch b.v. meer MBO'ers zitten dan in de Java hoek) nog wel eens developers tegen die het Engels niet echt goed beheersen. Die hebben nog wel eens de neiging om applicaties in het Nederlands te ontwikkelen.quote:Op dinsdag 30 juni 2015 09:33 schreef Tijn het volgende:
[..]
Geen idee. Misschien om de termen die in de wet staan terug te laten komen in de code, voor de duidelijkheid?
daar is abstractie voor, termen gaan ook met de tijd mee.quote:Op dinsdag 30 juni 2015 11:34 schreef Scarlet_Dragonfly het volgende:
Wij schrijven software voor zorgaanbieders/zorgverleners/zorgverzekeraars/etc.
Het zorgstelsel is zo totaal specifiek voor Nederland dat er voor heel veel termen helemaal geen geschikte Engelse vertaling te bedenken is.
Daarom is ons domein ook geheel met Nederlandse termen uitgeprogrammeerd.
Mja, ik weet het niet hoor. Zoveel code die is geschreven voor de jaren '80 is er nou ook weer niet nog in gebruik. En ik zou denken dat in die tijd Engels minstens zo mainstream was als het nu is.quote:Op dinsdag 30 juni 2015 11:28 schreef Monolith het volgende:
[..]
Het lijkt me eerder een soort overblijfsel uit een tijd waarin Engels nog wat minder gemeengoed was dan tegenwoordig.
ik zie bij beginners wel vaak Nederlands er in glippen. Best practice is er nog niet overal ingeslopen, en dan zijn er nog de uitzonderlijke gevallen zoals zorg. Bij bedrijven is ook enorm veel legacy van pre-best practice tijden en zo kom je het toch zo nu en dan wel tegen.quote:Op dinsdag 30 juni 2015 14:55 schreef Tijn het volgende:
[..]
Mja, ik weet het niet hoor. Zoveel code die is geschreven voor de jaren '80 is er nou ook weer niet nog in gebruik. En ik zou denken dat in die tijd Engels minstens zo mainstream was als het nu is.
Ik doe het soms ook, wat niet meehelpt is dat alle kolomnamen in onze database ook Nederlands zijn. Ik ben er ook niet trots op en zeker in persoonlijke projecten is alles Engels.quote:Op dinsdag 30 juni 2015 09:11 schreef boem-dikkie het volgende:
[..]
Zijn er serieus mensen die in Nederlands programmeren?
Het is wel eens handig als je wat CSV data b.v. in code moet hangen voor een snel tooltje, waar je in Excel dan even wat tekst splitst en samenvoegt met code om er hashmap.put("key","value"); statements van te maken.quote:Op dinsdag 30 juni 2015 19:04 schreef KomtTijd... het volgende:
Excel is sowieso faal om daarin te programmeren. De enigen die dat doen zijn managers, secretaresen etc., en daar is het ook voor gemaakt en daarom is het Nederlands.
Heb op het werk geen Mac, dus zo uit de doos werkt het niet op windows.quote:Op dinsdag 30 juni 2015 01:01 schreef totalvamp het volgende:
[..]
Als je Vagrant gebruikt zijn deze tips misschien iets voor je: https://stefanwrobel.com/how-to-make-vagrant-performance-not-suck
VirtualBox is inderdaad onwijs traag met filesharing. daarom moet je NFS aanzetten
Maar als je bv data wilt exporteren naar CSV zodat de gebruiker het in Excel kan laden, dan moet je eigenlijk weten of diegene met een NLse of Engelse versie van Excel werkt.quote:Op dinsdag 30 juni 2015 19:10 schreef Monolith het volgende:
Voor CSV gebruik ik toch ook echt liever Calc.
Hoezo? Doel je nu op het scheiden van de kolommen en dergelijke?quote:Op dinsdag 30 juni 2015 19:21 schreef Tijn het volgende:
[..]
Maar als je bv data wilt exporteren naar CSV zodat de gebruiker het in Excel kan laden, dan moet je eigenlijk weten of diegene met een NLse of Engelse versie van Excel werkt.
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.quote:Op dinsdag 30 juni 2015 19:22 schreef TwenteFC het volgende:
[..]
Hoezo? Doel je nu op het scheiden van de kolommen en dergelijke?
quote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
Calc doet gewoon een pop-up bij het openen met de keuze voor scheidingsteken(s) en dergelijke. In Excel moet je dan weer die tekst naar kolommen functionaliteit gebruiken, maar dan is de gemiddelde Excel gebruiker al afgehaakt en boze mails aan het sturen.quote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
Kun je dat niet net zo goed met een macro doen in je favoriete tekstbewerker? Of IDE?quote:Op dinsdag 30 juni 2015 19:08 schreef Monolith het volgende:
[..]
Het is wel eens handig als je wat CSV data b.v. in code moet hangen voor een snel tooltje, waar je in Excel dan even wat tekst splitst en samenvoegt met code om er hashmap.put("key","value"); statements van te maken.
Oh dat kan ook wel hoor, maar dat is meer gedoe voor een dergelijke eenmalige conversie. Als dingen vaker voorkomen kun je bv zaken als live templates in IntelliJ gebruiken.quote:Op dinsdag 30 juni 2015 19:36 schreef robin007bond het volgende:
[..]
Kun je dat niet net zo goed met een macro doen in je favoriete tekstbewerker? Of IDE?
En meestal gokt die popup zelf al goed hoe die kolommen eruit zien. (Of heb ik gewoon heel vaak geluk?)quote:Op dinsdag 30 juni 2015 19:36 schreef Monolith het volgende:
[..]
Calc doet gewoon een pop-up bij het openen met de keuze voor scheidingsteken(s) en dergelijke. In Excel moet je dan weer die tekst naar kolommen functionaliteit gebruiken, maar dan is de gemiddelde Excel gebruiker al afgehaakt en boze mails aan het sturen.
Klopt, zit ook nog een preventieve scan op veel voorkomende separators in inderdaad.quote:Op dinsdag 30 juni 2015 19:54 schreef KomtTijd... het volgende:
[..]
En meestal gokt die popup zelf al goed hoe die kolommen eruit zien. (Of heb ik gewoon heel vaak geluk?)
Is gelukkig met 3 klikken wel te veranderenquote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
Je moet ze eigenlijk gewoon een mooi dashboardje gunnen, met statistieken. ShinyDashboard ftw.quote:Op dinsdag 30 juni 2015 20:19 schreef TwenteFC het volgende:
[..]
Is gelukkig met 3 klikken wel te veranderen
Managers met hun CSV/Excel overzichten
Zonder dollen, wat ze doen met overzichten uit ons backofficesysteem is alles kopiëren en plakken naar Excel en vervolgens daar zelf filters maken.quote:Op dinsdag 30 juni 2015 20:21 schreef robin007bond het volgende:
[..]
Je moet ze eigenlijk gewoon een mooi dashboardje gunnen, met statistieken. ShinyDashboard ftw.
In die zin is iedereen wel een beetje autistisch. Ironisch genoeg juist vaak digibeten die geen ander programma willen dan dat ze gewend zijn.quote:Op dinsdag 30 juni 2015 20:26 schreef Monolith het volgende:
Mensen vallen vaak terug op wat ze kennen.
Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.quote:Op dinsdag 30 juni 2015 20:31 schreef robin007bond het volgende:
[..]
In die zin is iedereen wel een beetje autistisch. Ironisch genoeg juist vaak digibeten die geen ander programma willen dan dat ze gewend zijn.
Heuy, mijn overzichten zijn per definitie foutloos.quote:Op dinsdag 30 juni 2015 20:35 schreef Monolith het volgende:
[..]
Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.
Als je iets gebruikt dat werkt en waar je vertrouwd mee bent zodat je er zeker van weet dat je geen fouten maakt is er niet direct reden om iets anders te gaan gebruiken, tenzij dat echt enorm veel efficiënter is.
Hmm, dat is ook waar inderdaad. Maar toch.. Ik weet het niet.quote:Op dinsdag 30 juni 2015 20:35 schreef Monolith het volgende:
[..]
Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.
Als je iets gebruikt dat werkt en waar je vertrouwd mee bent zodat je er zeker van weet dat je geen fouten maakt is er niet direct reden om iets anders te gaan gebruiken, tenzij dat echt enorm veel efficiënter is.
Tja, als mensen vervolgens de verkeerde filters en dergelijke gaan gebruiken, dan kan je data nog zo correct zijn, maar dan is het rapport niet zo zinvol.quote:Op dinsdag 30 juni 2015 20:36 schreef TwenteFC het volgende:
[..]
Heuy, mijn overzichten zijn per definitie foutloos.
Ben het met je eens hoor , en ik houd er nu ook al meer rekening mee wie bepaalde overzichten gaat gebruiken. Voor het management weet ik nu gewoon dat het zinloos is om creatieve filters te gaan verzinnen. Maar bijvoorbeeld onze logistieke afdeling doet dat wel in het beheer dus dan stop ik er wat meer tijd in. Was in het begin even wennen, werken voor een bedrijf waar de development afdeling absoluut geen core-business is.quote:Op dinsdag 30 juni 2015 20:39 schreef Monolith het volgende:
[..]
Tja, als mensen vervolgens de verkeerde filters en dergelijke gaan gebruiken, dan kan je data nog zo correct zijn, maar dan is het rapport niet zo zinvol.
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 | <?php /* Handles month/year increment calculations in a safe way, avoiding the pitfall of 'fuzzy' month units. Returns a DateTime object with incremented month values, and a date value == 1. */ function incrementDate($startDate, $monthIncrement = 0) { $startingTimeStamp = $startDate->getTimestamp(); // Get the month value of the given date: $monthString = date('Y-m', $startingTimeStamp); // Create a date string corresponding to the 1st of the give month, // making it safe for monthly calculations: $safeDateString = "first day of $monthString"; // Increment date by given month increments: $incrementedDateString = "$safeDateString $monthIncrement month"; $newTimeStamp = strtotime($incrementedDateString); $newDate = DateTime::createFromFormat('U', $newTimeStamp); return $newDate; } $currentDate = new DateTime(); $oneMonthAgo = incrementDate($currentDate, -1); $twoMonthsAgo = incrementDate($currentDate, -2); $threeMonthsAgo = incrementDate($currentDate, -3); echo "THIS: ".$currentDate->format('F Y') . "<br>"; echo "1 AGO: ".$oneMonthAgo->format('F Y') . "<br>"; echo "2 AGO: ".$twoMonthsAgo->format('F Y') . "<br>"; echo "3 AGO: ".$threeMonthsAgo->format('F Y') . "<br>"; ?> |
1 2 3 4 | <?php /* Set locale to Dutch */ setlocale(LC_ALL, 'nl_NL'); ?> |
Daar kwam ik inderdaad ook op uit, maar ik heb geen idee waar ik de strftime() moet plaatsen.quote:Op zondag 5 juli 2015 10:08 schreef mschol het volgende:
wellicht heb je hier wat aan:
http://php.net/manual/en/function.strftime.php
Waar doe je de setlocale?quote:Op zondag 5 juli 2015 10:05 schreef zarGon het volgende:
Ik wil in PHP graag de huidige maandnaam + de komende 12 maanden weergeeft.
Deze script gevonden op http://stackoverflow.com/(...)ree-months-using-php:
[ code verwijderd ]
Doet het op zich perfect, maar de maandnamen zijn in het Engels.
Heb geprobeerd om het in het Nederlands te krijgen met set_locale.
[ code verwijderd ]
Op verschillende plaatsen gezet. Ook geprobeerd met "LC_TIME" etc., maar niets werkt.
Iemand een idee hoe ik de output in het Nederlands kan krijgen?
Overal tussengezet. Helemaal bovenaan, net boven de echo's, boven $currentDate etc.quote:
Staat de Nederlandse locale wel geinstalleerd op je server?quote:Op zondag 5 juli 2015 10:05 schreef zarGon het volgende:
Ik wil in PHP graag de huidige maandnaam + de komende 12 maanden.
Deze script gevonden op http://stackoverflow.com/(...)ree-months-using-php:
[ code verwijderd ]
Doet het op zich perfect, maar de maandnamen zijn in het Engels.
Heb geprobeerd om het in het Nederlands te krijgen met set_locale.
[ code verwijderd ]
Op verschillende plaatsen gezet. Ook geprobeerd met "LC_TIME" etc., maar niets werkt.
Iemand een idee hoe ik de output in het Nederlands kan krijgen?
quote:locale -a
Ik ben het niet eens met het antwoord op de laatste vraagquote:Op maandag 6 juli 2015 15:01 schreef Aether het volgende:
Doe de 3-minuten What do you know about SQL performance?-test.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
quote:Op maandag 6 juli 2015 15:49 schreef Ai_KaRaMBa het volgende:
[..]
Ik ben het niet eens met het antwoord op de laatste vraag
Ik doe zakelijk praktisch nooit iets met SQL, dus ik heb geen praktijkervaring met een dergelijke casus, maar als het echt...Heb je de rest van de uitleg ook gelezen?SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
De eerste query hoeft alleen de index te raadplegen, alle informatie staat daarin.
De tweede query pakt eerst de index, en heeft daarna alsnog de full-table nodig voor de extra where-parameter.
(Trouwens, dit is blijkbaar alleen een mysql vraag, voor postgres kreeg ik een hele andere vraag 5)
Klopt, maar bij de eerste query moeten ook AL diezelfde records worden gefetched: die vormen namenlijk het resultaatquote:Op maandag 6 juli 2015 16:16 schreef Scarlet_Dragonfly het volgende:
[..]
Heb je de rest van de uitleg ook gelezen?
De eerste query hoeft alleen de index te raadplegen, alle informatie staat daarin.
De tweede query pakt eerst de index, en heeft daarna alsnog de full-table nodig voor de extra where-parameter.
(Trouwens, dit is blijkbaar alleen een mysql vraag, voor postgres kreeg ik een hele andere vraag 5)
Nee, het is een group-by query he: het resultaat toont alleen date_column en count(*). Die kun je ook uit de index halen.quote:Op maandag 6 juli 2015 16:19 schreef Ai_KaRaMBa het volgende:
[..]
Klopt, maar bij de eerste query moeten ook AL diezelfde records worden gefetched: die vormen namenlijk het resultaat
Oh, laat maarquote:Op maandag 6 juli 2015 16:19 schreef Ai_KaRaMBa het volgende:
[..]
Klopt, maar bij de eerste query moeten ook AL diezelfde records worden gefetched: die vormen namenlijk het resultaat
Mja, ik zag het ook netquote:Op maandag 6 juli 2015 16:37 schreef Scarlet_Dragonfly het volgende:
[..]
Nee, het is een group-by query he: het resultaat toont alleen date_column en count(*). Die kun je ook uit de index halen.
CakePHP.quote:Op vrijdag 10 juli 2015 19:08 schreef robin007bond het volgende:
Hmm.. Mijn persoonlijke project in Symfony doen of met Python + Django. Lastig.
Spring, vert.x, play, etcetera.quote:
Daar hoor ik ook wel eens over. Maar ik weet het niet. Er is echt teveel keuze. Ik vind het altijd lastig de knoop door te hakken.quote:
Gaat het om een groot project? Als het een relatief klein projectje is dan zou je ook nog kunnen denken aan Silex of Lumen.quote:Op vrijdag 10 juli 2015 19:11 schreef robin007bond het volgende:
[..]
Daar hoor ik ook wel eens over. Maar ik weet het niet. Er is echt teveel keuze. Ik vind het altijd lastig de knoop door te hakken.
Laravel zat ik ook aan te denken... Aan de andere kant wil ik ook ervaring opdoen met Django. Nadeel is alleen dat ik van te voren niet weet wat ik kan verwachten en dan naderhand misschien met een project zit dat niet zo lekker loopt.
In Symfony vond ik het omgaan met forms niet echt handig. Vooral niet als je 'embedded forms' wilt hebben. In mijn huidige project heb ik daar wel echt last van.
Relatief klein hobbyproject. Ik kende die frameworks niet eens, eens kijken.quote:Op vrijdag 10 juli 2015 19:24 schreef TwenteFC het volgende:
[..]
Gaat het om een groot project? Als het een relatief klein projectje is dan zou je ook nog kunnen denken aan Silex of Lumen.
Zijn mini frameworks stuk sneller qua performance.quote:Op vrijdag 10 juli 2015 19:30 schreef robin007bond het volgende:
[..]
Relatief klein hobbyproject. Ik kende die frameworks niet eens, eens kijken.
Er zijn trouwens ook web frameworks in Haskell. Als ik dat probeer leer ik gelijk ook een beetje functioneel programmeren.
Pfff, lastig allemaal. Ik denk toch dat ik voor Python + Django ga omdat ik al ervaring heb met Python. Om Haskell te leren zou ik veel meer in de theorie moeten duiken voordat ik aan een project begin. Gezien het om een heel ander programmeerparadigma gaat.quote:Op vrijdag 10 juli 2015 19:34 schreef TwenteFC het volgende:
[..]
Zijn mini frameworks stuk sneller qua performance.
Als het echt puur om het leren en het plezier gaat dan zou ik ook gewoon lekker iets exotisch pakken als ik jou was, altijd wel leuk om het af en toe een beetje af te wisselen.
Ik ben wel klein beetje verliefd geworden op Cake. Ben nu kassa software aan het maken en moet zeggen dat je met vrij weinig code echt iets neer kan zetten.quote:Op vrijdag 10 juli 2015 19:11 schreef robin007bond het volgende:
[..]
Daar hoor ik ook wel eens over. Maar ik weet het niet. Er is echt teveel keuze. Ik vind het altijd lastig de knoop door te hakken.
Laravel zat ik ook aan te denken... Aan de andere kant wil ik ook ervaring opdoen met Django. Nadeel is alleen dat ik van te voren niet weet wat ik kan verwachten en dan naderhand misschien met een project zit dat niet zo lekker loopt.
In Symfony vond ik het omgaan met forms niet echt handig. Vooral niet als je 'embedded forms' wilt hebben. In mijn huidige project heb ik daar wel echt last van.
Ik hoorde er wel aardige dingen over inderdaad.quote:Op vrijdag 10 juli 2015 19:50 schreef Scorpie het volgende:
[..]
Ik ben wel klein beetje verliefd geworden op Cake. Ben nu kassa software aan het maken en moet zeggen dat je met vrij weinig code echt iets neer kan zetten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from django.db import models class Country(models.Model): name = models.CharField(max_length=50) country_code = models.CharField(max_length=5) class Status(models.Model): name = models.CharField(max_length=10) class Author(models.Model): first_name = models.CharField(max_length=50) middle_name = models.CharField(max_length=20) last_name = models.CharField(max_length=100) date_of_birth = models.DateField('Date of birth') birthplace = models.CharField(max_length=100) country = models.ForeignKey(Country) class Book(models.Model): author = models.ForeignKey(Author) title = models.CharField(max_length=200) pub_date = models.DateField('Publication date') |
Maar dat is voor mij een opgelegde last, niet iets waar ik specifiek naar op zoek zou gaan. Laat mij gewoon lekker de hele dag bezig zijn met ideeën uitdenken en realiseren en ik ben happy.quote:Op vrijdag 17 juli 2015 21:10 schreef Crutch het volgende:
Je kan (als ik je taakomschrijving niet met een korrel zout neem) in de Randstad aan de slag voor ca. 2800 / 3250 bruto.
Maar een baan zoals je nu hebt vind je niet snel, oftewel er zijn weinig developers die ook nog voorraadbeheer doen.
Mja, als ik een CV zie van iemand die 25 jaar oud is en al 11 jaar beweert te hebben waarvan 7 jaar werkervaring, dan neem ik dat niet heel serieus. Dan neem je of een bijbaantje mee in je ervaring of je hebt een soort van leer- / werktraject op MBO niveau gedaan.quote:Op vrijdag 17 juli 2015 19:34 schreef TwenteFC het volgende:
Ik ga even offtopic hier, maar ik ben wel benieuwd naar wat volgens jullie een acceptabel loon is voor een 25e jarige developer met ~11 jaar ervaring waarvan ~7 binnen een bedrijfsomgeving.
Het gaat om een MKB groothandel met een jaar omzet van ~15 miljoen en ~25 medewerkers welke binnen het bedrijf in zijn eentje verantwoordelijk is voor onder andere:
- De backoffice (inkoop, sales, voorraadbeheer, crm enzovoorts, klantspecifieke datakoppelingen)
- Een zakelijke B2B shop
- Een particuliere shop
- Bijhouden en opzetten van verschillende merkspecifieke "showcase" sites.
- Het netwerkbeheer
- Inkopen en op pijl houden van bijv. toners, post etikketten
Rekening houdende met dat ik de enige ben die de legacy code snapt , welke groot is en structuurloos. En altijd bereikbaar moet zijn voor noodgevallen, op goede vrijdag terug komen op kantoor omdat iets niet goed loopt of omdat een internetverbinding eruit ligt zou niet nieuw zijn.
Met goede kennis van o.a. PHP,HTML,CSS,Javascript,NodeJS,AngularJS,MySQL,Elasticsearch.
Reden hiervoor is omdat ik al weet dat mijn werkgever mijn komende salariseisen compleet onwerkelijk gaat vinden, aangezien het gaat om forse verhoging ten opzichte van wat ik nu verdien.
Ik zit serieus te overwegen om ontslag te nemen, en mijn werkgever kennende zal hij sowieso de contractgesprekken pas starten wanneer ik al een paar dagen buiten mijn huidige contract zit waardoor ze dus eigenlijk van de een op de andere dag zonder IT-er zitten.
Heb al een beetje rondgekeken op onder andere intermediair maar ik ben ook wel benieuwd naar reacties "echte" mensen. En ik weet dat elke situatie anders is, en dat er meer bij komt kijken dan de paar dingen welke ik nu heb uitgetypt.
Ik heb het ervaring gedeelte wel aan de ruime kant genomen, maar op 13/14 jarige leeftijd zat ik tot diep in de nacht te programmeren. Een tijd lang een succesvolle site gehad waar ik voor mijn leeftijd een leuk zakcentje aan verdiend heb.quote:Op vrijdag 17 juli 2015 21:33 schreef Monolith het volgende:
[..]
Mja, als ik een CV zie van iemand die 25 jaar oud is en al 11 jaar beweert te hebben waarvan 7 jaar werkervaring, dan neem ik dat niet heel serieus. Dan neem je of een bijbaantje mee in je ervaring of je hebt een soort van leer- / werktraject op MBO niveau gedaan.
Werk- en denkniveau is altijd belangrijk bij het inschalen van mensen. Je hoeft in mijn ogen als software engineer niet per se een afgeronde HBO of WO opleiding te bezitten, maar je moet op zijn minst vergelijkbare werkervaring bezitten met complexe projecten.
Ik zit zelf meer in de Java hoek de laatste jaren. Daarin is een medior tot senior salaris in de randstad pakweg tussen de 3500-5500 bruto.
Wellicht daar de eerste schatting van zo rond de 3000 in de PHP / front end hoek redelijk accuraat is voor jouw wegstroomt ervaring, maar daar moet iets meer achtergrond bij.
Ben daar binnengekomen als een mbo stage voor 5 maand, vervolgens daar aan de slag gegaan om een halfjaar te overbruggen voor het hbo. Vervolgens een jaar hbo gedaan waarna ik ben overgegaan naar deeltijd voor de laatste 2 jaar met een 36 uren contract. Het afgelopen jaar had ik een 40 uren contract.quote:Op vrijdag 17 juli 2015 21:50 schreef Monolith het volgende:
Met altijd gewerkt bedoel je neem ik aan gewoon part time? Als ik het zo hoor zit je qua daadwerkelijke werkervaring op een jaar of twee fulltime en daarnaast een hele tijd een bijbaantje en wat eigen werk.
Als ik dat zo hoor dan lijkt 3k mij wel een redelijke indicatie. Het ligt er ook vaak erg aan in hoeverre je kennis hebt van vrij specifieke technologieën die men veel vraagt, in hoeverre je in staat bent een architectuur te bedenken en te implementeren, enzovoort.quote:Op vrijdag 17 juli 2015 21:56 schreef TwenteFC het volgende:
[..]
Ben daar binnengekomen als een mbo stage voor 5 maand, vervolgens daar aan de slag gegaan om een halfjaar te overbruggen voor het hbo. Vervolgens een jaar hbo gedaan waarna ik ben overgegaan naar deeltijd voor de laatste 2 jaar met een 36 uren contract. Het afgelopen jaar had ik een 40 uren contract.
Dus ik kom uit op ~4 gewerkte jaren op kantoor. Met tussendoor freelance werk.
Mooi!quote:Op maandag 20 juli 2015 20:09 schreef TwenteFC het volgende:
Bedankt nog allemaal voor de reacties, het heeft geholpen.
nice nice nicequote:
Only in PHPquote:
1 2 3 4 5 6 7 | <iframe src="html5-iframe-afbeeldingen/leeg.html" name="iframe1" title="eerste frame"></iframe> <iframe src="html5-iframe-afbeeldingen/leeg.html" name="iframe2" title="tweede frame"></iframe><br /> <br /> <iframe src="html5-iframe-afbeeldingen/leeg.html" name="iframe3" title="derde frame"></iframe> <iframe src="html5-iframe-afbeeldingen/leeg.html" name="iframe4" title="vierde frame"></iframe><br /> <iframe src="html5-iframe-afbeeldingen/leeg.html" name="iframe5" id="iframe5" title="vijfde frame"></iframe> <br /> |
1 2 3 4 5 | <article> <h2>News Article</h2> <iframe src="html5-iframe-afbeeldingen/form.php" name="iframe6" id="iframe6" title="zesde frame"></iframe> <br /> </article> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | iframe { border:none; width:350px; height:230px; } #iframe5 { border:none; width:910px; height:230px; } #iframe6 { border:none; width:910px; height:830px; } |
Ik zal het daar dan posten.quote:Op zondag 26 juli 2015 15:08 schreef mstx het volgende:
En je hebt met de element inspector al gekeken waar de iframe zijn css/afmetingen vandaan haalt?
Je kan het trouwens beter hier vragen: DIG / [HTML, CSS, JS] Frontend #43: 0 === -0
Al een keuze gemaakt?quote:Op vrijdag 10 juli 2015 19:08 schreef robin007bond het volgende:
Hmm.. Mijn persoonlijke project in Symfony doen of met Python + Django. Lastig.
Ik haat die $_GET['page'] of varianten daarvan mensen.. gebruik gvd gewoon een router functionaliteit.quote:Op zondag 26 juli 2015 16:45 schreef mstx het volgende:
Ik doe nu ook een projectje in Laravel.
Ben op basis van een bestaand stuk code bezig, zitten wel wat domme dingen in maargoed
[ afbeelding ]
Jup ik heb een keuze gemaakt en ben er tevreden over. Het is Python + Django geworden. Een verademing als je gewend bent te programmeren in PHP, want Python is naar mijn mening wel echt een betere taalquote:Op zondag 26 juli 2015 15:55 schreef Qunix het volgende:
[..]
Al een keuze gemaakt?
Keuzes, keuzes...
Ik werk nu met Laravel wat wel lekker gaat... Lumen is een afgeslankte versie van Laravel.
Django wil ik ook wat mee doen. Misschien het volgende project. Zoek nog wel een goeie framework in node.
1 2 3 | SELECT *, WEEK(WeekDatum, 3) as WeekNummer FROM marketingtaken ORDER BY WeekDatum DESC |
Als ISO 8601 niet geschikt is, welke definitie van weeknummers wil je dan wel gebruiken?quote:Op dinsdag 28 juli 2015 11:28 schreef wobbel het volgende:
Ik ben nu al een tijdje aan het denken hoe ik aan de juiste start- en einddatum van een week kom. Er zijn hiervoor allerlei functies en die werken allemaal prima totdat je rond de jaarwisseling komt.
Zo is 1-1-2015 namelijk volgens het ISO 8601 formaat nog week 52 van 2014, en daar gaan alle functies dan weer mis die ik kan vinden.
Ik heb het niet uitgeprobeerd, maar als ik de documentatie van mysql lees staat er over mode 3 dit:quote:Op dinsdag 28 juli 2015 11:55 schreef wobbel het volgende:
Ik krijg op 1-1-2015 echt weeknummer 52, ik gebruik dan mode 3 bij WEEK
Dat ligt dus aan de modus waarin je dat opvraagt. 1-1-2015 hoort week 1 te zijn en 1-1-2016 week 53, ik heb nu de juiste modus en dan kom ik er samen met DateTime() wel.quote:Op dinsdag 28 juli 2015 12:08 schreef Scarlet_Dragonfly het volgende:
[..]
Ik heb het niet uitgeprobeerd, maar als ik de documentatie van mysql lees staat er over mode 3 dit:
• First day of week: Monday
• Range: 1-53
• Week 1 is the first week with 4 or more days this year
Week beginnend op maandag zit je dan met 29, 30 en 31 december + 1, 2, 3 en 4 januari in dezelfde week: 4 of meer dagen januari, dus is dit week 1.
Weet je zeker dat mysql daar 52 uit laat komen?
1 2 3 | SELECT *, YEAR(WeekDatum) as WeekJaar, WEEK(WeekDatum, 3) as WeekNummer FROM marketingtaken ORDER BY WeekDatum DESC |
1 2 3 4 5 6 7 8 9 | <?php $week_begin = new DateTime(); $week_begin->setISODate ( $MySQL_Taken_Assoc['WeekJaar'], $MySQL_Taken_Assoc['WeekNummer'] ); $week_eind = new DateTime(); $week_eind->setISODate ( $MySQL_Taken_Assoc['WeekJaar'], $MySQL_Taken_Assoc['WeekNummer'], 7 ); echo $week_begin->format( "d-m-Y" ); echo $week_eind->format( "d-m-Y" ); ?> |
Word die value wel meegezonden als het formulier gepost wordt?quote:Op dinsdag 28 juli 2015 19:47 schreef robin007bond het volgende:
Nu heb ik het probleem dat als het form wordt gesubmit, dat dan vergeten wordt welke keuze is geselecteerd. Dat is dus het probleem. Hij kan de 'value' die in de SAP-database staan niet koppelen aan de tekst.
Jup. Die komt ook gewoon in de database terecht.quote:Op dinsdag 28 juli 2015 19:54 schreef Nemephis het volgende:
[..]
Word die value wel meegezonden als het formulier gepost wordt?
Apart. Dus je hebt je value, maar de database zegt 'nee' als je de bijbehorende tekst eruit wilt trekken.quote:Op dinsdag 28 juli 2015 20:01 schreef robin007bond het volgende:
[..]
Jup. Die komt ook gewoon in de database terecht.
Die value is dus een foreign key die verwijst naar projecten die in SAP staan. De projecten haal ik wel op uit SAP, omdat daar tekst bijstaat, omdat het recent moet zijn en omdat bepaalde werknemers gekoppeld zijn aan bepaalde projecten.
Bedankt voor het meedenken.quote:Op dinsdag 28 juli 2015 20:32 schreef Nemephis het volgende:
[..]
Apart. Dus je hebt je value, maar de database zegt 'nee' als je de bijbehorende tekst eruit wilt trekken.
Zou het toch met die choice_list te maken hebben?
DW wel als administrator opgestart?quote:Op dinsdag 28 juli 2015 22:24 schreef Doublepain het volgende:
Ik heb een simpele vraag, mis niet relevant hier maar achja. Ik heb Zend Server om mijn php file te testen, maar kan niet in htdocs opslaan via DW. Geeft aan dat ik geen toestemming heb, kan ook niks wijzigen in de map zelf via rechtermuisknop en permissie, ik ben gewoon admin en heb gewoon alle rechten volgens mijn map. Maar ik kan wel bestanden erin zetten maar niet via DW.. Iemand een idee hoe?
1 2 3 | <?php !empty($_POST['bericht']) || $_POST['afgerond'] != "yes" ?> |
1 2 3 | <?php !empty($_POST['bericht']) || $_POST['afgerond'] == "yes" ?> |
1 2 3 | <?php !empty($_POST['bericht']) || !empty($_POST['afgerond']) ?> |
Kun je er niet wat bij in vrotten waardoor 'ie achter het ID een oplopend cijfer zet, zodat je toch unieke ID's krijgt?quote:Op woensdag 29 juli 2015 21:25 schreef robin007bond het volgende:
Pfff nog een probleempje met Symfony. Ik wil een form meerdere keren laten voorkomen op dezelfde pagina. Echter gaat dat lastig met die form type-klasses gezien je dan duplicate ID's krijgt in je HTML.
Het enige alternatief is een heel form ervan maken, maar dat wil ik helemaal niet. Dat is wel de tussenoplossing die ik nu heb, maar het is niet ideaal.
* knip *
Ja, dat zou kunnen, maar dan moet ik zelf die form_widget templates gaan aanpassen volgens mij.quote:Op woensdag 29 juli 2015 21:28 schreef Nemephis het volgende:
[..]
Kun je er niet wat bij in vrotten waardoor 'ie achter het ID een oplopend cijfer zet, zodat je toch unieke ID's krijgt?
Dat vind ik het nadeel van frameworks, dat je vaak vast zit aan de denkwijze van de ontwerpers ervan.quote:
Dat is inderdaad een groot nadeel van de frameworks.quote:Op woensdag 29 juli 2015 21:36 schreef Nemephis het volgende:
[..]
Dat vind ik het nadeel van frameworks, dat je vaak vast zit aan de denkwijze van de ontwerpers ervan.
Wellicht is die template aanpassen toch de kortste klap, en als het goed is maakt het verder ook niet uit voor de werking op andere pagina's.
Je wilt sowieso meerdere formulieren die je toch al moet valideren, wat dat betreft zou het qua overhead toch geen verschil maken? Hooguit naar je template toe.quote:Op woensdag 29 juli 2015 21:40 schreef robin007bond het volgende:
Dat zou ik kunnen doen, maar dat geeft wel overhead. Dan moet ik dus forms aanmaken in een lus, die ik naar mijn template stuur en die vervolgens ook weer allemaal valideren in een lus (al zou die enkel de gewijzigden sturen,
Het is allemaal de schuld van Rutte!quote:dus wellicht dat het wel meevalt qua overheid).
Het is weer extra werk, inderdaad...quote:Maar erg handig is het niet.
Haha, grappige typfout.quote:Op woensdag 29 juli 2015 21:46 schreef Nemephis het volgende:
[..]
Je wilt sowieso meerdere formulieren die je toch al moet valideren, wat dat betreft zou het qua overhead toch geen verschil maken? Hooguit naar je template toe.
[..]
Het is allemaal de schuld van Rutte!
[..]
Het is weer extra werk, inderdaad...
Je edit een specifieke week dan? Want ik snap je probleem niet.quote:Op woensdag 29 juli 2015 21:49 schreef robin007bond het volgende:
[..]
Haha, grappige typfout.
Nja, ieder formulier heeft zijn eigen submit knop. Dus eigenlijk wil ik maar een formulier hoeven te valideren. Echter gaat dit gewoon niet.
Misschien voor de helderheid, inmiddels heb ik het dus zo:
http://symfony.com/doc/cu(...)orm_collections.html
Een form, in een form, in een form. (Weken, week, registratie)
Ik wil dat de week apart is te submitten.
jQueryquote:Op woensdag 29 juli 2015 21:49 schreef robin007bond het volgende:
Nja, ieder formulier heeft zijn eigen submit knop. Dus eigenlijk wil ik maar een formulier hoeven te valideren. Echter gaat dit gewoon niet.
Ik zie de code in php/html/JS zo voor me, zeg maar, maar ergens halverwege die template was ik likequote:Misschien voor de helderheid, inmiddels heb ik het dus zo:
http://symfony.com/doc/cu(...)orm_collections.html
Zonder verder te lezen of die link te bekijken, je mag form tags in html niet nesten.quote:Op woensdag 29 juli 2015 21:49 schreef robin007bond het volgende:
Een form, in een form, in een form. (Weken, week, registratie)
Ja da's een goeiequote:Op woensdag 29 juli 2015 22:39 schreef Light het volgende:
[..]
Zonder verder te lezen of die link te bekijken, je mag form tags in html niet nesten.
Symfony forms kun je wel nesten/embedden. Als je het form dan rendert wordt er één form tag gemaakt met (ook) de velden van de embedded forms erinquote:Op woensdag 29 juli 2015 22:39 schreef Light het volgende:
[..]
Zonder verder te lezen of die link te bekijken, je mag form tags in html niet nesten.
Klopt. Één heel groot vorm, terwijl ik allemaal aparte forms wil.quote:Op woensdag 29 juli 2015 22:58 schreef KomtTijd... het volgende:
[..]
Symfony forms kun je wel nesten/embedden. Als je het form dan rendert wordt er één form tag gemaakt met (ook) de velden van de embedded forms erin
Dat was op zich ook wel te verwachten. Ik schrik alleen al bij voorbaat als iemand het heeft over forms in formsquote:Op woensdag 29 juli 2015 22:58 schreef KomtTijd... het volgende:
[..]
Symfony forms kun je wel nesten/embedden. Als je het form dan rendert wordt er één form tag gemaakt met (ook) de velden van de embedded forms erin
Maak je geen zorgen, dat wil ik ook niet.quote:Op donderdag 30 juli 2015 08:02 schreef Light het volgende:
[..]
Dat was op zich ook wel te verwachten. Ik schrik alleen al bij voorbaat als iemand het heeft over forms in forms
quote:Daar wordt direct al info gestuurd naar de database (een lege rij is daar te zien). Vervolgens kan je het formulier invullen en wordt de ingevulde gegevens getoond, en op de juiste manier in de database geplaatst
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 | <!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php include 'input.php';?> <?php include 'toevoegen.php';?> <h2>Testformulier</h2> <p>Hieronder kunt u uw (of fictieve) gebruikersgegevens invullen. <br ?> De verstuurde gegevens ziet u onderaan en worden in een mysql database opgeslagen.<br /> <br /> <p><span class="error">* Benodigde velden.</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Naam: <input type="text" name="naam" value="<?php echo $naam;?>"> <span class="error">* <?php echo $naamErr;?></span> <br /><br /> E-mail: <input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br /><br /> Website: <input type="text" name="website" value="<?php echo $website;?>"> <span class="error"><?php echo $websiteErr;?></span> <br /><br /> Comment: <br /> <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea> <br /><br /> <input type="submit" name="submit" value="Submit"> </form> <?php echo "<h2>De door u ingevulde gegevens:</h2>"; echo $naam; echo "<br />"; echo $email; echo "<br />"; echo $website; echo "<br />"; echo $comment; ?> </body> </html> |
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 | <?php // define variables and set to empty values $naamErr = $emailErr = $websiteErr = ""; $naam = $email = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["naam"])) { $naamErr = "Het invullen van een naam is noodzakelijk"; } else { $naam = test_input($_POST["naam"]); // check if naam only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$naam)) { $naamErr = "Alleen letters en spaties zijn toegestaan"; } } if (empty($_POST["email"])) { $emailErr = "Een e-mail adres is noodzakelijk"; } else { $email = test_input($_POST["email"]); // check if email address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Geen kloppend e-mail formaat"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Ongeldig websiteformaat"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> |
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 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> |
Een if eromheen zetten waarin je bijvoorbeeld checkt of $naam ingevuld is:quote:Op zaterdag 1 augustus 2015 18:13 schreef jodelahity het volgende:
Maar dit krijg ik dus niet voor elkaar. Wat moet ik bij die laatste code plaatsen dat het niet direct laadt bij het openen van form.php maar pas nadat het formulier ingevuld en verzonden is gaat runnen?
1 2 3 4 5 6 7 8 9 10 11 | if ($naam!='') { $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } |
1 2 3 4 5 6 7 8 9 10 11 | if ($naam!='' and $email!='' and $website!='') { $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } |
Oke maar het e-mail adres is verplicht, rijen zonder e-mail adres in de database is dan niet echt wat ik graag zou willen Wel bedankt hoor Maar is er ook iets mogelijk waarmee alles correct moet zijn voordat het uberhaupt naar de database gestuurd wordt?quote:Op zaterdag 1 augustus 2015 20:17 schreef Arcee het volgende:
[..]
Stel even dat je de validatie met de (zelfverzonnen) functie correct() doet, dan kun je zoiets doen:
[ code verwijderd ]
Je laat dus gewoon in het geval het e-mailadres niet correct is het veld email weg uit het INSERT-statement.
Ik las het ook net en had me post met verwijderd.quote:Op zaterdag 1 augustus 2015 20:19 schreef jodelahity het volgende:
Oke maar het e-mail adres is verplicht, rijen zonder e-mail adres in de database is dan niet echt wat ik graag zou willen Wel bedankt hoor Maar is er ook iets mogelijk waarmee alles correct moet zijn voordat het uberhaupt naar de database gestuurd wordt?
1 2 3 4 5 6 7 8 9 10 11 | if ($naam!='' and $email!='' and $website!='' and correct($email)) { $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } |
Ja, als je daar ook daadwerkelijk een dergelijke functie voor hebt of hebt gemaakt.quote:Op zaterdag 1 augustus 2015 20:22 schreef jodelahity het volgende:
Oke laatste vraag: de website hoeft niet perse ingevuld te worden. Maar als die dat wel is dan moet dat correct zijn. Kan ik daarvoor dan ook correct($website) gebruiken?
1 2 | filter_var($email, FILTER_VALIDATE_EMAIL) filter_var($website, FILTER_VALIDATE_URL) |
1 2 3 4 5 6 7 8 9 10 11 | if ($naam!='' and $email!='' and $website!='' and filter_var($email, FILTER_VALIDATE_EMAIL) and filter_var($website, FILTER_VALIDATE_URL)) { $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if(isset($_POST["submit"])) { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ?> |
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 | <?php // define variables and set to empty values $naamErr = $emailErr = $websiteErr = ""; $naam = $email = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["naam"])) { $naamErr = "Het invullen van een naam is noodzakelijk"; } else { $naam = test_input($_POST["naam"]); // check if naam only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$naam)) { $naamErr = "Alleen letters en spaties zijn toegestaan"; } } if (empty($_POST["email"])) { $emailErr = "Een e-mail adres is noodzakelijk"; } else { $email = test_input($_POST["email"]); // check if email address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Geen kloppend e-mail formaat"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Ongeldig websiteformaat"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> |
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 | <!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php include 'input.php';?> <?php include 'toevoegen.php';?> <h2>Testformulier</h2> <p>Hieronder kunt u uw (of fictieve) gebruikersgegevens invullen. <br ?> De verstuurde gegevens ziet u onderaan en worden in een mysql database opgeslagen.<br /> <br /> <p><span class="error">* Benodigde velden.</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Naam: <input type="text" name="naam" value="<?php echo $naam;?>"> <span class="error">* <?php echo $naamErr;?></span> <br /><br /> E-mail: <input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br /><br /> Website: <input type="text" name="website" value="<?php echo $website;?>"> <span class="error"><?php echo $websiteErr;?></span> <br /><br /> Comment: <br /> <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea> <br /><br /> <input type="submit" name="submit" value="Submit"> </form> <?php echo "<h2>De door u ingevulde gegevens:</h2>"; echo $naam; echo "<br />"; echo $email; echo "<br />"; echo $website; echo "<br />"; echo $comment; ?> </body> </html> |
Pas het eens als volgt aan:quote:Op zaterdag 1 augustus 2015 20:40 schreef jodelahity het volgende:
Ik begrijp van je code dat het daarmee op te lossen is, ik zie zelf ook wel de logica daarvan in, alles definieren waaraan voldaan moet worden voordat het verstuurd wordt, maar ik doe blijkbaar dus toch iets fout daarbij
1 2 3 4 5 6 | if(isset($_POST["submit"]) and $naamErr=='' and $emailErr=='' and $websiteErr=='') { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; ... |
1 2 | <?php include 'toevoegen.php';?> <?php include 'input.php';?> |
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 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Onderstaande stukje heb ik toegevoegd if(isset($_POST["submit"]) and $naamErr=='' and $emailErr=='' and $websiteErr=='') { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; $sql = $conn->prepare("INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES (?, ?, ?, ?)"); $sql->bind_param('ssss', $naam, $email, $website, $comment); if (!$sql->execute()) { echo "Error: " . $sql->error; } else { echo "Succesvol toegevoegd"; } } $conn->close(); ?> |
Dus je hebt een (rooie) melding achter 1 van de velden staan, maar er is toch een record toegevoegd met alle data?quote:Op zaterdag 1 augustus 2015 21:41 schreef jodelahity het volgende:
Het wordt naar de database gestuurd maar niet gevalideerd volgens de validatie die ik heb opgesteld in het andere input.php
Ja alles wordt gewoon toegevoegd. Alleen het wordt toegevoegd aan de database voordat het gevalideerd wordt. Dus ook 'test' komt als e-mail erin terwijl dat eigenlijk alleen 'test@hotmail.com' zou moeten zijn bijvoorbeeld.quote:Op zaterdag 1 augustus 2015 21:50 schreef Arcee het volgende:
[..]
Dus je hebt een (rooie) melding achter 1 van de velden staan, maar er is toch een record toegevoegd met alle data?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |