abonnement Unibet Coolblue Bitvavo
pi_142321313


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL

Succes heren met het volgende deeltje!
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  dinsdag 15 juli 2014 @ 15:19:02 #2
187069 slacker_nl
Sicko pur sang
pi_142324947
quote:
0s.gif Op dinsdag 15 juli 2014 12:55 schreef remi1986 het volgende:

[..]

Interface? Of de desbetreffende query?
Interface.

Want als ik DBIx::Class gebruik onder perl moet ik m'n queries zo maken:

1
2
3
4
5
6
7
my $rs = $schema->resultset('Bar')->search_rs({ naam => { '~' => '^foo' } , { order => 'id' });
if ($rs->count) { 
   print yay
}
else {
   print found nothink
}
In theory there is no difference between theory and practice. In practice there is.
pi_142325843
quote:
0s.gif Op dinsdag 15 juli 2014 15:19 schreef slacker_nl het volgende:

[..]

Interface.

Want als ik DBIx::Class gebruik onder perl moet ik m'n queries zo maken:
[ code verwijderd ]

Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.

Waar ik op doelde is die querybuilder (wat gewoon een class is).

In dat voorbeeld (en ook die van jou) is het nog wel makkelijk te lezen. Maar als je echter 3 of 4 tabellen moet joinen, vind ik het persoonlijk fijner en overzichtelijker om gewoon de SQL query uit te schrijven.
pi_142330430
quote:
0s.gif Op dinsdag 15 juli 2014 15:44 schreef remi1986 het volgende:

[..]

Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.

Waar ik op doelde is die querybuilder (wat gewoon een class is).

In dat voorbeeld (en ook die van jou) is het nog wel makkelijk te lezen. Maar als je echter 3 of 4 tabellen moet joinen, vind ik het persoonlijk fijner en overzichtelijker om gewoon de SQL query uit te schrijven.
Eens, zodra de queries wat ingewikkelder worden gebruik ik voor de overzichtelijkheid ook liever gewoon SQL. Met Doctrine gebruik ik dan DQL wat hetzelfde effect heeft (ziet er ook vrijwel hetzelfde uit).
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  dinsdag 15 juli 2014 @ 20:04:04 #5
187069 slacker_nl
Sicko pur sang
pi_142334541
quote:
0s.gif Op dinsdag 15 juli 2014 15:44 schreef remi1986 het volgende:
Dat is gewoon het gebruik van een bepaalde class om je query te bouwen. Heeft niks te maken met interfaces. Een interface kan je dan ook niet aanmaken met een object.

Waar ik op doelde is die querybuilder (wat gewoon een class is).

In dat voorbeeld (en ook die van jou) is het nog wel makkelijk te lezen. Maar als je echter 3 of 4 tabellen moet joinen, vind ik het persoonlijk fijner en overzichtelijker om gewoon de SQL query uit te schrijven.
Volgens mij noemen we dat dan een interface, of een API, zoals je een module kan aanroepen.
Het voordeel van zulke modules is dat je onafhankelijk van de backend je query kan schrijven, je hoeft niet na te denken over de verschillende varianten SQL, dat doet de class voor je.

[ Bericht 14% gewijzigd door slacker_nl op 15-07-2014 20:12:01 ]
In theory there is no difference between theory and practice. In practice there is.
pi_142340473
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?

Waarom zijn er overigens geen topics over andere programmeertalen zoals Java, Phyton etc. ? :P
pi_142345359
quote:
0s.gif Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?

Waarom zijn er overigens geen topics over andere programmeertalen zoals Java, Phyton etc. ? :P
Die zijn er wel?
pi_142345449
quote:
7s.gif Op dinsdag 15 juli 2014 23:26 schreef Scorpie het volgende:

[..]

Die zijn er wel?
Waar? Heb het niet kunnen vinden? :P
  woensdag 16 juli 2014 @ 00:34:10 #9
12221 Tijn
Powered by MS Paint
pi_142348182
quote:
0s.gif Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?
Euh, onthouden en toepassen? :?
pi_142348653
quote:
0s.gif Op dinsdag 15 juli 2014 23:28 schreef Super-B het volgende:

[..]

Waar? Heb het niet kunnen vinden? :P
Hier heb je er alvast 1:
DIG / [Python] Voor de echte man - deel 1
  woensdag 16 juli 2014 @ 09:10:33 #11
187069 slacker_nl
Sicko pur sang
pi_142352698
quote:
0s.gif Op dinsdag 15 juli 2014 22:02 schreef Super-B het volgende:
Even een vraag aan de web dev'ers: wat doen jullie zoal met de kennis?

Waarom zijn er overigens geen topics over andere programmeertalen zoals Java, Phyton etc. ? :P
Ik ben geen webdevver, ik schrijf backend calls die een frontend dude moet gebruiken, in Perl. Maar niemand op Fok lijkt het te gebruiken.
In theory there is no difference between theory and practice. In practice there is.
pi_142355159
PHP NG now nearly TWICE as fast as PHP 5.6
http://ckon.wordpress.com/2014/07/14/php-5-7-twice-as-fast/ i

erg indrukwekkend :P
..///
pi_142359138
quote:
5s.gif Op woensdag 16 juli 2014 00:34 schreef Tijn het volgende:

[..]

Euh, onthouden en toepassen? :?
Scherp. Ik bedoelde meer of jullie een baan hebben binnen de IT of dat jullie het leren als hobby.
pi_142361682
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  woensdag 16 juli 2014 @ 15:48:03 #15
12221 Tijn
Powered by MS Paint
pi_142364430
quote:
0s.gif Op woensdag 16 juli 2014 13:21 schreef Super-B het volgende:

[..]

Scherp. Ik bedoelde meer of jullie een baan hebben binnen de IT of dat jullie het leren als hobby.
Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
  woensdag 16 juli 2014 @ 15:49:42 #16
166255 Maringo
Bèhèhèhèh
pi_142364479
quote:
14s.gif Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:

[..]

Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
Same here.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_142370009
quote:
14s.gif Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:

[..]

Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
:P Hier ook. Leuk puzzelen altijd.
  woensdag 16 juli 2014 @ 18:37:52 #18
91039 mstx
2x1/2 = 1/2 x 1/2
pi_142370067
quote:
14s.gif Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:

[..]

Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
Hier ook
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_142370518
Kwintet.
pi_142371789
quote:
14s.gif Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:

[..]

Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
Bij mij ook :)
pi_142372647
quote:
14s.gif Op woensdag 16 juli 2014 15:48 schreef Tijn het volgende:

[..]

Ik denk dat iedereen begint als hobby en iedereen er uiteindelijk z'n beroep van maakt. Zo ging het in elk geval bij mij :P
+1
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_142396426
Hebben jullie trouwens wel eens naar Scala gekeken? Laatst demo gehad van collega en zitten echt toffe dingen in.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_142469058
Mede PHP-ers. Ik zit met een dilemma en zou graag jullie mening willen weten.

Zoals jullie waarschijnlijk weten, verdwijnen de mysql_ functies (deprecated in 5.5).

Dus ben ik wat aan het stoeien met PDO. PDO opzich is het probleem niet, dit is allemaal niet zo heel moeilijk. De vraag waar ik mee zit, is het handig om hier een hele database class omheen te bouwen? PDO is immers al een class.

Persoonlijk, een groot voordeel van PDO is dat je al een stukje validatie kan doen op type met bindParam(). Nu heb ik een dynamische insert functie gemaakt, waar je gewoon een tabelnaam en een array met waarden ingooit, maar daarmee kan je die validatie niet uitvoeren.

Ik zou graag willen weten wat jullie mening hierover is.
  zaterdag 19 juli 2014 @ 09:04:50 #24
12221 Tijn
Powered by MS Paint
pi_142470925
Waarom zou je niet in je eigen class ook bindParam() kunnen aanroepen op de waarden in je array?
pi_142471010
quote:
5s.gif Op zaterdag 19 juli 2014 09:04 schreef Tijn het volgende:
Waarom zou je niet in je eigen class ook bindParam() kunnen aanroepen op de waarden in je array?
Omdat ik de functie zo had gemaakt dat je daar een array ingooit met column=>value.

Dit kan dus van alles zijn. Ik weet dus van tevoren niet wat voor waarde erin zit
  zaterdag 19 juli 2014 @ 09:27:30 #26
12221 Tijn
Powered by MS Paint
pi_142471151
quote:
0s.gif Op zaterdag 19 juli 2014 09:12 schreef remi1986 het volgende:

[..]

Omdat ik de functie zo had gemaakt dat je daar een array ingooit met column=>value.

Dit kan dus van alles zijn. Ik weet dus van tevoren niet wat voor waarde erin zit
Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.
pi_142471343
quote:
14s.gif Op zaterdag 19 juli 2014 09:27 schreef Tijn het volgende:

[..]

Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.
Hmm ik zie het inderdaad. Dan kan ik beter gewoon validatie via PHP doen en dan heb ik dat hele bindParam niet nodig.
  zaterdag 19 juli 2014 @ 09:47:04 #28
12221 Tijn
Powered by MS Paint
pi_142471380
quote:
0s.gif Op zaterdag 19 juli 2014 09:43 schreef remi1986 het volgende:

[..]

Hmm ik zie het inderdaad. Dan kan ik beter gewoon validatie via PHP doen en dan heb ik dat hele bindParam niet nodig.
Ik zou juist gebruik maken van het feit dat je met bindParam() automatische escaping kado krijgt waardoor SQL-injectie wordt voorkomen. Dat dat niet gebeurt met de mysql_-functies is de voornaamste reden dat ze het aan het uitfaseren zijn.
  zaterdag 19 juli 2014 @ 09:47:04 #29
91039 mstx
2x1/2 = 1/2 x 1/2
pi_142471381
quote:
14s.gif Op zaterdag 19 juli 2014 09:27 schreef Tijn het volgende:

[..]

Er zijn maar een paar mogelijkheden met PDO (null, bool, int en string). Je kunt makkelijk via PHP achterhalen welk type je variabele is (bv met is_null(), is_bool() en is_int()). PDO::PARAM_STR gebruik je dan als fallback als het niet een van de andere typen is.
Zo doe ik het ook
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_142471397
quote:
2s.gif Op zaterdag 19 juli 2014 09:47 schreef Tijn het volgende:

[..]

Ik zou juist gebruik maken van het feit dat je met bindParam() automatische escaping kado krijgt waardoor SQL-injectie wordt voorkomen. Dat dat niet gebeurt met de mysql_-functies is de voornaamste reden dat ze het aan het uitfaseren zijn.
escaping gebeurt toch middels de prepare functie? Of heb je daar echt de bindParam functie voor nodig?
  zaterdag 19 juli 2014 @ 09:50:35 #31
12221 Tijn
Powered by MS Paint
pi_142471412
quote:
0s.gif Op zaterdag 19 juli 2014 09:48 schreef remi1986 het volgende:

[..]

escaping gebeurt toch middels de prepare functie? Of heb je daar echt de bindParam functie voor nodig?
Als je prepare gebruikt, hoe stop je de variabelen er dan in? Ik doe dat met bindParam, maar ik weet eigenlijk niet eens of het ook anders kan :P
pi_142471427
quote:
5s.gif Op zaterdag 19 juli 2014 09:50 schreef Tijn het volgende:

[..]

Als je prepare gebruikt, hoe stop je de variabelen er dan in? Ik doe dat met bindParam, maar ik weet eigenlijk niet eens of het ook anders kan :P
quote:
So what's going on here? The prepare method sends the query to the server, and it's compiled with the '?' placeholders to be used as expected arguments. The execute method sends the arguments to the server and runs the compiled statement. Since the query and the dynamic parameters are sent separately, there is no way that any SQL that is in those parameters can be executed... so NO SQL INJECTION can occur! This is a much better and safer solution than concatenating strings together.
Zo dus:
1
2
3
4
<?php
$stmt 
$db->prepare("INSERT INTO table(field1,field2,field3,field4,field5) VALUES(:field1,:field2,:field3,:field4,:field5)");
$stmt->execute(array(':field1' => $field1':field2' => $field2':field3' => $field3':field4' => $field4':field5' => $field5));
?>
  zaterdag 19 juli 2014 @ 09:54:44 #33
12221 Tijn
Powered by MS Paint
pi_142471445
Ah, ja. Ik denk eigenlijk dat het dan niet zoveel uitmaakt.
pi_142471501
quote:
2s.gif Op zaterdag 19 juli 2014 09:54 schreef Tijn het volgende:
Ah, ja. Ik denk eigenlijk dat het dan niet zoveel uitmaakt.
Nee inderdaad. Ben er inmiddels al uit hoe ik het hebben wil. Ik laat dat bindParam gewoon weg, zodat ik dynamische insert, update en delete functies kan maken, waar ik gewoon een tabelnaam en array ingooi met column=>value.
pi_142471544
quote:
0s.gif Op zaterdag 19 juli 2014 09:59 schreef remi1986 het volgende:

[..]

Nee inderdaad. Ben er inmiddels al uit hoe ik het hebben wil. Ik laat dat bindParam gewoon weg, zodat ik dynamische insert, update en delete functies kan maken, waar ik gewoon een tabelnaam en array ingooi met column=>value.
Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.
pi_142471659
quote:
0s.gif Op zaterdag 19 juli 2014 10:02 schreef Light het volgende:

[..]

Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.
dat zou ik kunnen opvangen door van de tabelnaam ook een parameter te maken

dus INSERT INTO :table

en dan :table meegeven in de array of voor deze wel bindParam te gebruiken.
  zaterdag 19 juli 2014 @ 10:24:36 #37
25889 Sitethief
Fulltime Flapdrol
pi_142471847
quote:
0s.gif Op zaterdag 19 juli 2014 10:10 schreef remi1986 het volgende:

[..]

dat zou ik kunnen opvangen door van de tabelnaam ook een parameter te maken

dus INSERT INTO :table

en dan :table meegeven in de array of voor deze wel bindParam te gebruiken.
Volgens mij kun je niet alle onderdelen van een query via bindParam meegeven, o.a. table names en velden achter de SELECT etc.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zaterdag 19 juli 2014 @ 10:34:17 #38
91039 mstx
2x1/2 = 1/2 x 1/2
pi_142472005
quote:
0s.gif Op zaterdag 19 juli 2014 10:02 schreef Light het volgende:

[..]

Let er dan wel op dat die tabelnaam niet automatisch ge-escaped wordt en dat je daarmee dus nog wel potentieel sql-injection hebt.
De tabelnaam door de gebruiker laten invullen lijkt me sowieso niet handig.
Als het niet door de gebruiker wordt ingevuld hoef je het ook niet te escapen.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_142472274
quote:
0s.gif Op zaterdag 19 juli 2014 10:24 schreef Sitethief het volgende:

[..]

Volgens mij kun je niet alle onderdelen van een query via bindParam meegeven, o.a. table names en velden achter de SELECT etc.
Correct. Tabelnamen en kolomnamen kun je niet op die manier meegeven, al was het maar omdat je daar niets aan kunt 'preparen'.
pi_142472312
quote:
0s.gif Op zaterdag 19 juli 2014 10:34 schreef mstx het volgende:

[..]

De tabelnaam door de gebruiker laten invullen lijkt me sowieso niet handig.
Als het niet door de gebruiker wordt ingevuld hoef je het ook niet te escapen.
True, maar het is wel iets waar je je bewust van moet zijn bij het schrijven van de code.
pi_142472609
quote:
0s.gif Op zaterdag 19 juli 2014 10:49 schreef Light het volgende:

[..]

Correct. Tabelnamen en kolomnamen kun je niet op die manier meegeven, al was het maar omdat je daar niets aan kunt 'preparen'.
Hardcoded via PHP meegeven, is het dan nog mogelijk? (SQL Injection?)
1
2
3
<?php
$db
->insert("games", array("game_start" => date("Y-m-d H:i:s")));
?>

1
2
3
4
5
6
7
<?php
function insert($table$data)}
 global 
$db;

$db->prepare("INSERT INTO $table .... ");
}
?>
  zaterdag 19 juli 2014 @ 11:18:28 #42
12221 Tijn
Powered by MS Paint
pi_142472758
quote:
0s.gif Op zaterdag 19 juli 2014 11:10 schreef remi1986 het volgende:

[..]

Hardcoded via PHP meegeven, is het dan nog mogelijk? (SQL Injection?)
[ code verwijderd ]

[ code verwijderd ]

Nee, SQL-injectie gebeurt op het moment dat je gebruikersinput in je query stopt.
  dinsdag 22 juli 2014 @ 05:24:43 #43
272287 henrivo
Tikt tegen jassies
pi_142585128
Nog even terugkomend op dat Doctrine-verhaal, klopt het dat je (afgezien van getters/setters) de entities volledig met de hand moet schrijven? Ik werk met ZF2 en hoopte dat er net als bij (ik meen) Symfony2 een "tooltje/optie" is om kolommen te declareren, waarna je bijv kunt aangeven welke opties je er bij wilt hebben (name, type, nullable etc.).

Hoe doen jullie dit?
pi_142586818
Dat kun je aangeven dmv annotations.
http://symfony.com/doc/cu(...)ting-an-entity-class

De getters en setters en De fysieke database structuur maak je in een paar seconden aan dmv een command-line tool .
  dinsdag 22 juli 2014 @ 14:51:34 #45
166255 Maringo
Bèhèhèhèh
pi_142596687
quote:
14s.gif Op dinsdag 22 juli 2014 09:45 schreef KomtTijd... het volgende:
Dat kun je aangeven dmv annotations.
http://symfony.com/doc/cu(...)ting-an-entity-class

De getters en setters en De fysieke database structuur maak je in een paar seconden aan dmv een command-line tool .
Dat is voor Symfony2, hij vraagt voor ZF2. :)

Voor Symfony2 is er inderdaad een hele reeks aan commands voor allerlei dingen van doctirne. Geen idee of dat ook voor ZF2 is.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_142597015
Ja fuck, waarom maken ze dan ook 2 PHP frameworks die ze afkorten met ZF2 en SF2 :')
  dinsdag 22 juli 2014 @ 16:36:01 #47
272287 henrivo
Tikt tegen jassies
pi_142600562
Wéér een gemiste kans voor ZF2 ;(
  dinsdag 22 juli 2014 @ 16:42:43 #48
12221 Tijn
Powered by MS Paint
  dinsdag 22 juli 2014 @ 16:52:30 #49
272287 henrivo
Tikt tegen jassies
pi_142601419
quote:
Daar werk ik nu ook mee, ik vroeg me alleen af of er net als in Symfony2 een geautomatiseerd tooltje was om variabelen te declareren, waarna je bijv kon aangeven of het om een string of integer gaat. Ik begin net pas met Doctrine, dus dat zou het voor mij (in het begin in elk geval) wat makkelijker maken :)
  dinsdag 22 juli 2014 @ 16:55:40 #50
12221 Tijn
Powered by MS Paint
pi_142601599
Als je toch een beginner bent, waarom stap je dan niet over naar Symfony2? Dat is toch wel hét framework op het moment voor PHP. Tenzij je zwaar vastzit aan Zend Framework, zou ik lekker overstappen naar Symfony.
  dinsdag 22 juli 2014 @ 16:59:01 #51
272287 henrivo
Tikt tegen jassies
pi_142601769
Omdat ik net ZF2 begon door te krijgen :')

Maar misschien heb je wel gelijk. De reden waarom ik voor ZF2 koos was omdat ik had begrepen dat het de industriestandaard is
  dinsdag 22 juli 2014 @ 17:06:52 #52
12221 Tijn
Powered by MS Paint
pi_142602104
Mja, dat zegt alleen Zend zelf eigenlijk :+
  dinsdag 22 juli 2014 @ 17:10:52 #53
272287 henrivo
Tikt tegen jassies
pi_142602264
Met welke frameworks werken jullie hier zelf eigenlijk? Ik kom de laatste tijd ook steeds meer berichten tegen over Laravel

Keuzes... Keuzes... :P
pi_142604232
quote:
0s.gif Op dinsdag 22 juli 2014 17:10 schreef henrivo het volgende:
Met welke frameworks werken jullie hier zelf eigenlijk? Ik kom de laatste tijd ook steeds meer berichten tegen over Laravel

Keuzes... Keuzes... :P
Laravel, en wat CodeIgniter applicaties die we moeten onderhouden.
pi_142605141
Ook blij met Laravel.
pi_142605211
quote:
5s.gif Op dinsdag 22 juli 2014 16:55 schreef Tijn het volgende:
Als je toch een beginner bent, waarom stap je dan niet over naar Symfony2? Dat is toch wel hét framework op het moment voor PHP. Tenzij je zwaar vastzit aan Zend Framework, zou ik lekker overstappen naar Symfony.
Wat hij zegt inderdaad, ik zou overwegen over te stappen naar Symfony2

quote:
0s.gif Op dinsdag 22 juli 2014 16:59 schreef henrivo het volgende:
Omdat ik net ZF2 begon door te krijgen :')

Maar misschien heb je wel gelijk. De reden waarom ik voor ZF2 koos was omdat ik had begrepen dat het de industriestandaard is
Als je ZF2 een beetje begint door te krijgen helpt dat ook voor de overstap naar Symfony2. Ik vond SF2 een stuk makkelijker dan ZF2. En ZF1 was misschien een standaard, maar ZF2 valt tegen waardoor steeds meer mensen overstappen naar SF2
quote:
0s.gif Op dinsdag 22 juli 2014 17:10 schreef henrivo het volgende:
Met welke frameworks werken jullie hier zelf eigenlijk? Ik kom de laatste tijd ook steeds meer berichten tegen over Laravel

Keuzes... Keuzes... :P
Voorlopig nog SF2, maar als er een klant komt die met Laravel werkt of wil werken dan gaan we dat vast ook proberen :P
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  dinsdag 22 juli 2014 @ 19:12:34 #57
272287 henrivo
Tikt tegen jassies
pi_142606481
Hmm... Tóch maar eens Symfony2 uitproberen dan, al is het alleen maar omdat daar beter documentatie voor te vinden is :)

Thanks voor de suggesties :)
pi_142606790
Composer _O_
pi_142608502
quote:
0s.gif Op dinsdag 22 juli 2014 19:21 schreef robin007bond het volgende:
Composer _O_
^O^
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  donderdag 24 juli 2014 @ 15:35:27 #60
272287 henrivo
Tikt tegen jassies
pi_142682468
Toch wel een verademing, dat Symfony2 :)
pi_142697104
quote:
0s.gif Op donderdag 24 juli 2014 15:35 schreef henrivo het volgende:
Toch wel een verademing, dat Symfony2 :)
:P Dan zal je van Laravel helemaal klaar komen.
  donderdag 24 juli 2014 @ 21:49:12 #62
272287 henrivo
Tikt tegen jassies
pi_142697548
quote:
19s.gif Op donderdag 24 juli 2014 21:40 schreef TwenteFC het volgende:

[..]

:P Dan zal je van Laravel helemaal klaar komen.
Is dat nóg makkelijker dan? :P
pi_142697628
quote:
0s.gif Op donderdag 24 juli 2014 21:49 schreef henrivo het volgende:

[..]

Is dat nóg makkelijker dan? :P
Zitten wel leuke dingen in ja :P
http://laravel.com/docs
  donderdag 24 juli 2014 @ 21:57:09 #64
272287 henrivo
Tikt tegen jassies
pi_142697962
quote:
19s.gif Op donderdag 24 juli 2014 21:50 schreef TwenteFC het volgende:

[..]

Zitten wel leuke dingen in ja :P
http://laravel.com/docs
Ik zit even naar de tutorials te kijken, zag dat phpacademy laatst een aantal tutorials had gepost maar had er nog niet naar gekeken. Denk dat ik voorlopig toch maar even bij symfony blijf, anders kun je zowat elk half jaar wel overstappen denk ik zo. Maar misschien als laravel meer voordelen blijkt te hebben dat ik de overstap alsnog waag :)
pi_142698030
quote:
0s.gif Op donderdag 24 juli 2014 21:57 schreef henrivo het volgende:

[..]

Ik zit even naar de tutorials te kijken, zag dat phpacademy laatst een aantal tutorials had gepost maar had er nog niet naar gekeken. Denk dat ik voorlopig toch maar even bij symfony blijf, anders kun je zowat elk half jaar wel overstappen denk ik zo. Maar misschien als laravel meer voordelen blijkt te hebben dat ik de overstap alsnog waag :)
Welke voordelen zoek je, ligt ook maar net aan wat je wil maken natuurlijk.
Symfony heb ik zelf niet in productie gebruikt :P
  donderdag 24 juli 2014 @ 22:02:27 #66
272287 henrivo
Tikt tegen jassies
pi_142698233
quote:
19s.gif Op donderdag 24 juli 2014 21:58 schreef TwenteFC het volgende:

[..]

Welke voordelen zoek je, ligt ook maar net aan wat je wil maken natuurlijk.
Symfony heb ik zelf niet in productie gebruikt :P
Ja weet ik eigenlijk ook niet :') ik vind de doctrine-tools in symfony iig erg handig werken, die heb je bij zf2 bijvoorbeeld weer niet

Ben gewoon een amateur die wat aanklooit met frameworks :P
pi_142700095
quote:
1s.gif Op donderdag 24 juli 2014 22:02 schreef henrivo het volgende:

[..]

Ja weet ik eigenlijk ook niet :') ik vind de doctrine-tools in symfony iig erg handig werken, die heb je bij zf2 bijvoorbeeld weer niet

Ben gewoon een amateur die wat aanklooit met frameworks :P
Eloquent van Laravel is ook wel mooi.

Als je alle Topics met bij behorende reacties wil hebben bijvoorbeeld dan kan de code er zo uit zien:

1
2
3
<?php
Topic
::with('reacties')
?>
pi_142700478
quote:
19s.gif Op donderdag 24 juli 2014 22:42 schreef TwenteFC het volgende:

[..]

Eloquent van Laravel is ook wel mooi.

Als je alle Topics met bij behorende reacties wil hebben bijvoorbeeld dan kan de code er zo uit zien:
[ code verwijderd ]

Netjes. Hebben ze een soort Builder pattern voor gebruikt?.
pi_142703125
quote:
11s.gif Op donderdag 24 juli 2014 22:49 schreef robin007bond het volgende:
[ code verwijderd ]

Je hebt 2 classes die de Eloquent extenden, en in die models geef je dus aan welke relaties die hebben.

'reacties' zoals hierboven verwijst dus naar een methode reacties() in de class Topic.

En die methode geeft aan wat de relatie van een topic is tot in dit geval reacties.

Je zou dan 2 classes krijgen die er zo uit zien:

1
2
3
4
5
6
7
8
9
10
<?php
class Topic extends Eloquent {

    public function 
reacties() 
    {
        return 
$this->hasMany('Reactie')
    }

}
?>
1
2
3
4
5
6
7
8
9
10
<?php
class Reactie extends Eloquent {

    public function 
topic()
    {
        return 
$this->belongsTo('Topic');
    }

}
?>

http://laravel.com/api/4.1/Illuminate/Database/Eloquent.html
http://laravel.com/api/4.(...)loquent/Builder.html
pi_142709703
quote:
19s.gif Op donderdag 24 juli 2014 21:50 schreef TwenteFC het volgende:

[..]

Zitten wel leuke dingen in ja :P
http://laravel.com/docs
Ze hebben alleen wat te veel static methods gebruikt bij Laravel.
pi_142725812
quote:
0s.gif Op vrijdag 25 juli 2014 08:46 schreef Light het volgende:

[..]

Ze hebben alleen wat te veel static methods gebruikt bij Laravel.
Die je niet hoeft te gebruiken, het is een keuze die bij de developer ligt.
Gebeurt op deze manier volgens mij
http://php.net/manual/en/(...)hp#object.callstatic


Een uitgebreidere uitleg: http://usman.it/laravel-4-uses-static-not-true/
pi_142728511
Iemand bekend met het zelf in elkaar knutselen van een CMS?

Ik heb namelijk een single page website gemaakt. Als er op de hyperlink 'voorraad' geklikt wordt, dan zal de voorraadartikelen tevoorschijn komen. Echter vraag ik mij af hoe ik hiervan een soort CMS systeem op kan toepassen, zodat de voorraadartikelen gewijzigd kunnen worden en er zo nodig voorraadartikelen toegevoegd kunnen worden?

Qua back-end (PHP/MySQL) heb ik dus nog niks gedaan. Ik heb in principe alles via de front-end gemaakt. Het punt is dus dat de front-end gewijzigd moet kunnen worden.

[ Bericht 7% gewijzigd door Super-B op 25-07-2014 20:11:17 ]
  vrijdag 25 juli 2014 @ 20:22:04 #73
292596 Faux.
Fan van zichzelf
pi_142729017
quote:
0s.gif Op vrijdag 25 juli 2014 20:05 schreef Super-B het volgende:
Iemand bekend met het zelf in elkaar knutselen van een CMS?

Ik heb namelijk een single page website gemaakt. Als er op de hyperlink 'voorraad' geklikt wordt, dan zal de voorraadartikelen tevoorschijn komen. Echter vraag ik mij af hoe ik hiervan een soort CMS systeem op kan toepassen, zodat de voorraadartikelen gewijzigd kunnen worden en er zo nodig voorraadartikelen toegevoegd kunnen worden?

Qua back-end (PHP/MySQL) heb ik dus nog niks gedaan. Ik heb in principe alles via de front-end gemaakt. Het punt is dus dat de front-end gewijzigd moet kunnen worden.
Als je het zelf wil doen (en dat moet je sowieso even overwegen): kwestie van een database aanleggen, een backend inbouwen (met of zonder gebruikerssysteem, wel aan te raden) en je URLs routen.
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  vrijdag 25 juli 2014 @ 20:24:00 #74
178193 Juicyhil
Bekende FOK!ker
pi_142729078
quote:
0s.gif Op vrijdag 25 juli 2014 20:05 schreef Super-B het volgende:
Iemand bekend met het zelf in elkaar knutselen van een CMS?

Ik heb namelijk een single page website gemaakt. Als er op de hyperlink 'voorraad' geklikt wordt, dan zal de voorraadartikelen tevoorschijn komen. Echter vraag ik mij af hoe ik hiervan een soort CMS systeem op kan toepassen, zodat de voorraadartikelen gewijzigd kunnen worden en er zo nodig voorraadartikelen toegevoegd kunnen worden?

Qua back-end (PHP/MySQL) heb ik dus nog niks gedaan. Ik heb in principe alles via de front-end gemaakt. Het punt is dus dat de front-end gewijzigd moet kunnen worden.
Wiel opnieuw uitvinden?
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_142729427
quote:
0s.gif Op vrijdag 25 juli 2014 20:24 schreef Juicyhil het volgende:

[..]

Wiel opnieuw uitvinden?
Of flexibiliteit waarmee je veel eenvoudiger jouw bedrijfslogica kan beheren zonder onzinnige troep die je niet nodig hebt, of lastig aan te passen is.
  vrijdag 25 juli 2014 @ 20:38:35 #76
178193 Juicyhil
Bekende FOK!ker
pi_142729571
quote:
19s.gif Op vrijdag 25 juli 2014 20:34 schreef TwenteFC het volgende:

[..]

Of flexibiliteit waarmee je veel eenvoudiger jouw bedrijfslogica kan beheren zonder onzinnige troep die je niet nodig hebt, of lastig aan te passen is.
Verreweg de meeste CMS'en zijn eenvoudig uitbreidbaar en kun je inhaken op pipelines. Ik ben in ieder geval nog geen CMS tegengekomen waarmee me zoiets niet is gelukt.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_142734236
quote:
10s.gif Op vrijdag 25 juli 2014 20:22 schreef Faux. het volgende:

[..]

Als je het zelf wil doen (en dat moet je sowieso even overwegen): kwestie van een database aanleggen, een backend inbouwen (met of zonder gebruikerssysteem, wel aan te raden) en je URLs routen.
quote:
0s.gif Op vrijdag 25 juli 2014 20:24 schreef Juicyhil het volgende:

[..]

Wiel opnieuw uitvinden?
quote:
19s.gif Op vrijdag 25 juli 2014 20:34 schreef TwenteFC het volgende:

[..]

Of flexibiliteit waarmee je veel eenvoudiger jouw bedrijfslogica kan beheren zonder onzinnige troep die je niet nodig hebt, of lastig aan te passen is.
quote:
0s.gif Op vrijdag 25 juli 2014 20:38 schreef Juicyhil het volgende:

[..]

Verreweg de meeste CMS'en zijn eenvoudig uitbreidbaar en kun je inhaken op pipelines. Ik ben in ieder geval nog geen CMS tegengekomen waarmee me zoiets niet is gelukt.
Dank voor de reacties! ^O^

Het is maar een los projectje, om zodoende zowel JS als PHP/MySQL onder de knie te krijgen.
  vrijdag 25 juli 2014 @ 22:44:43 #78
292596 Faux.
Fan van zichzelf
pi_142734352
quote:
0s.gif Op vrijdag 25 juli 2014 22:41 schreef Super-B het volgende:

[..]

[..]

[..]

[..]

Dank voor de reacties! ^O^

Het is maar een los projectje, om zodoende zowel JS als PHP/MySQL onder de knie te krijgen.
Ah, dan is het beter te begrijpen. Tips:

• WYSIWYG-editor
• Werk met een systeem van categorieën en pagina's
• Zorg voor mooie URL's, zoals website.nl/categorie/pagina (bijv. bakker-jansen.nl/etalage/volkorenbrood)
• Gebruikerssysteem met rechten, zodat je in de backend zelf kan bepalen wie wat mag

Succes ^O^
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142734447
quote:
14s.gif Op vrijdag 25 juli 2014 22:44 schreef Faux. het volgende:

[..]

Ah, dan is het beter te begrijpen. Tips:

• WYSIWYG-editor
• Werk met een systeem van categorieën en pagina's
• Zorg voor mooie URL's, zoals website.nl/categorie/pagina (bijv. bakker-jansen.nl/etalage/volkorenbrood)
• Gebruikerssysteem met rechten, zodat je in de backend zelf kan bepalen wie wat mag

Succes ^O^
Moet nog veel leren. :P Ik heb onlangs pas JS onder de knie gekregen. Dan heb ik het dus over de basis. Alleen nog PHP/MySQL en Jquery die ik graag onder de knie zou willen hebben.

Ik gebruik op dit moment Notepad++. Lekkere programma! ^O^

Maar dank voor je snelle respons. :)
  vrijdag 25 juli 2014 @ 22:48:33 #80
292596 Faux.
Fan van zichzelf
pi_142734498
quote:
0s.gif Op vrijdag 25 juli 2014 22:47 schreef Super-B het volgende:

[..]

Moet nog veel leren. :P Ik heb onlangs pas JS onder de knie gekregen. Dan heb ik het dus over de basis. Alleen nog PHP/MySQL en Jquery die ik graag onder de knie zou willen hebben.

Ik gebruik op dit moment Notepad++. Lekkere programma! ^O^

Maar dank voor je snelle respons. :)
Ah, in dat geval: lees in over MySQLi en XSS, en zorg dat je niet van mysql_query(); etc gebruikmaakt (wat in veel oude tutorials nog gedaan wordt)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142734539
quote:
11s.gif Op vrijdag 25 juli 2014 22:48 schreef Faux. het volgende:

[..]

Ah, in dat geval: lees in over MySQLi en XSS, en zorg dat je niet van mysql_query(); etc gebruikmaakt (wat in veel oude tutorials nog gedaan wordt)
Wat is XSS? Ik kan het opzoeken, maar vraag het maar even aan jou. ;)

Wat is er mis met mysql_query(); ?
  vrijdag 25 juli 2014 @ 22:51:57 #82
292596 Faux.
Fan van zichzelf
pi_142734612
quote:
0s.gif Op vrijdag 25 juli 2014 22:49 schreef Super-B het volgende:

[..]

Wat is XSS? Ik kan het opzoeken, maar vraag het maar even aan jou. ;)

Wat is er mis met mysql_query(); ?
XSS staat voor Cross Site Scripting en kan een beveiligingslek in je software vormen als je gebruikersinput niet escaped. mysql_query() (en alle andere functies met mysql_) is verouderd. Zie http://php.net/manual/en/function.mysql-query.php
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142735399
quote:
14s.gif Op vrijdag 25 juli 2014 22:51 schreef Faux. het volgende:

[..]

XSS staat voor Cross Site Scripting en kan een beveiligingslek in je software vormen als je gebruikersinput niet escaped. mysql_query() (en alle andere functies met mysql_) is verouderd. Zie http://php.net/manual/en/function.mysql-query.php
PDO _O_
  vrijdag 25 juli 2014 @ 23:13:00 #84
292596 Faux.
Fan van zichzelf
pi_142735413
quote:
1s.gif Op vrijdag 25 juli 2014 23:12 schreef robin007bond het volgende:

[..]

PDO _O_
^O^
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142735437
quote:
14s.gif Op vrijdag 25 juli 2014 23:13 schreef Faux. het volgende:

[..]

^O^
Of gewoon een ORM. Mensen die nog mysql conmect gebruiken. :')
  vrijdag 25 juli 2014 @ 23:14:18 #86
292596 Faux.
Fan van zichzelf
pi_142735458
quote:
1s.gif Op vrijdag 25 juli 2014 23:13 schreef robin007bond het volgende:

[..]

Of gewoon een ORM. Mensen die nog mysql conmect gebruiken. :')
komt door de shitload aan oude tutorials die nog overal zijn.
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142735504
quote:
9s.gif Op vrijdag 25 juli 2014 23:14 schreef Faux. het volgende:

[..]

komt door de shitload aan oude tutorials die nog overal zijn.
Ja, maar dan nog. Je zou een beetje gedegen onderzoek van mensen verwachten in plaats van hapklare tutorials te volgen.

Programmeer dan gewoon niet denk ik dan. :{w
  vrijdag 25 juli 2014 @ 23:17:07 #88
292596 Faux.
Fan van zichzelf
pi_142735568
quote:
1s.gif Op vrijdag 25 juli 2014 23:15 schreef robin007bond het volgende:

[..]

Ja, maar dan nog. Je zou een beetje gedegen onderzoek van mensen verwachten in plaats van hapklare tutorials te volgen.

Programmeer dan gewoon niet denk ik dan. :{w
Ach, die weten ook niet beter :P
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_142736342
quote:
1s.gif Op vrijdag 25 juli 2014 23:15 schreef robin007bond het volgende:

[..]

Ja, maar dan nog. Je zou een beetje gedegen onderzoek van mensen verwachten in plaats van hapklare tutorials te volgen.

Programmeer dan gewoon niet denk ik dan. :{w
True, maar dan nog. Je moet ergens beginnen. En het duurt even voor je weet wat wel en niet handig is. En als je net begint, realiseer je je ook niet dat tutorials uit 2011 al zwaar verouderd (kunnen) zijn.
pi_142736385
quote:
0s.gif Op vrijdag 25 juli 2014 23:37 schreef Light het volgende:

[..]

True, maar dan nog. Je moet ergens beginnen. En het duurt even voor je weet wat wel en niet handig is. En als je net begint, realiseer je je ook niet dat tutorials uit 2011 al zwaar verouderd (kunnen) zijn.
Ja dat is inderdaad waar. Maar mensen snappen ook lijkt me dat de referentie op PHP.net de beste referentie is voor up2date PHP-documentatie.
  vrijdag 25 juli 2014 @ 23:41:41 #91
12221 Tijn
Powered by MS Paint
pi_142736506
quote:
0s.gif Op vrijdag 25 juli 2014 22:49 schreef Super-B het volgende:

[..]

Wat is er mis met mysql_query(); ?
Voornamelijk dat het in de huidige versie van PHP al wordt gemarkeerd als "deprecated" en vanaf de volgende versie überhaupt niet meer beschikbaar is.
pi_142736670
quote:
0s.gif Op vrijdag 25 juli 2014 23:38 schreef robin007bond het volgende:

[..]

Ja dat is inderdaad waar. Maar mensen snappen ook lijkt me dat de referentie op PHP.net de beste referentie is voor up2date PHP-documentatie.
Da's niet altijd de site die als eerste verschijnt in de zoekresultaten. En daarbij moet je ook nog op het idee komen om op php.net naar mysql_query te zoeken als je net drie tutorials hebt gelezen waarin die functie wordt gebruikt / aangeraden.
pi_142736702
quote:
0s.gif Op vrijdag 25 juli 2014 23:45 schreef Light het volgende:

[..]

Da's niet altijd de site die als eerste verschijnt in de zoekresultaten. En daarbij moet je ook nog op het idee komen om op php.net naar mysql_query te zoeken als je net drie tutorials hebt gelezen waarin die functie wordt gebruikt / aangeraden.
Tsja, via omwegen kun je nog steeds niet beter weten inderdaad. Maar als je naast letterlijk tutorials volgen ook gewoon interesse hebt kom je ook snel dingen tegen over PDO bijvoorbeeld.

Het is denk ik ook een verschil in leren die mensen hebben. Sommige mensen willen tutorials, anderen willen gewoon documentatie van klassen.

[ Bericht 8% gewijzigd door #ANONIEM op 25-07-2014 23:47:06 ]
  vrijdag 25 juli 2014 @ 23:48:12 #94
12221 Tijn
Powered by MS Paint
pi_142736754
quote:
0s.gif Op vrijdag 25 juli 2014 23:46 schreef robin007bond het volgende:

[..]

Tsja, via omwegen kun je nog steeds niet beter weten inderdaad. Maar als je naast letterlijk tutorials volgen ook gewoon interesse hebt kom je ook snel dingen tegen over PDO bijvoorbeeld.

Het is denk ik ook een verschil in leren die mensen hebben. Sommige mensen willen tutorials, anderen willen gewoon documentatie van klassen.
Je hebt als echte beginner niks aan de documentatie, want daarin staat niet uitgelegd hoe je moet programmeren.
pi_142736796
quote:
1s.gif Op vrijdag 25 juli 2014 23:12 schreef robin007bond het volgende:

[..]

PDO _O_
En idealiter is er in de hele applicatie maar 1 class die PDO aanroept, zodat je eventueel morgen kunt bedenken dat je toch liever alles in een NoSQL database zet.
pi_142736876
quote:
0s.gif Op vrijdag 25 juli 2014 23:49 schreef Light het volgende:

[..]

En idealiter is er in de hele applicatie maar 1 class die PDO aanroept, zodat je eventueel morgen kunt bedenken dat je toch liever alles in een NoSQL database zet.
Dat klopt inderdaad.

Jammer genoeg zijn de verschillen in geaccepteerde queries vaak nog verschillend, dus schrijf je soms nog steeds verschillende queries. Het is sowieso een valkuil dus om als beginner veel specifieke dingen te gebruiken die enkel in MySQL zijn toegestaan en dan bijvoorbeeld niet zijn toegestaan in Postgres.

Vroeger gebruikte ik het factory pattern ervoor. DAOFactory wordt het ook wel genoemd als je het met databases en werd vooral veel gebruikt in de Javawereld.
pi_142740111
Ik heb een (navigatie)menu waarbij de actieve item met een css-class op een opvallende manier wordt weergegeven, en de niet-actieve items op een normale manier...



De opmaak van het menu is dus afhankelijk van de pagina die op dat moment geopend is. Om dit handmatig per pagina te regelen is niet onderhoudsvriendelijk, vooral als er een wijziging plaatsvindt aan het menustructuur.

Is er een noobproof-manier om dit gemakkelijk te regelen door middel van PHP? Iets dat op één of andere manier kan tracken op welke pagina je bent en dus weet welke menu-item op 'active' moet staan...
  zaterdag 26 juli 2014 @ 01:59:07 #98
363995 Reemi
Zeg maar Remi.
pi_142740149
quote:
0s.gif Op zaterdag 26 juli 2014 01:56 schreef zarGon het volgende:
Ik heb een (navigatie)menu waarbij de actieve item met een css-class op een opvallende manier wordt weergegeven, en de niet-actieve items op een normale manier...

[ afbeelding ]

De opmaak van het menu is dus afhankelijk van de pagina die op dat moment geopend is. Om dit handmatig per pagina te regelen is niet onderhoudsvriendelijk, vooral als er een wijziging plaatsvindt aan het menustructuur.

Is er een noobproof-manier om dit gemakkelijk te regelen door middel van PHP? Iets dat op één of andere manier kan tracken op welke pagina je bent en dus weet welke menu-item op 'active' moet staan...
Een variabele setten in het PHP bestand en opvragen bij het laden van het menu? Of denk ik te simpel?
Smile like you mean it
www.wefut.com
pi_142740214
quote:
1s.gif Op zaterdag 26 juli 2014 01:59 schreef Reemi het volgende:

[..]

Een variabele setten in het PHP bestand en opvragen bij het laden van het menu? Of denk ik te simpel?
Vast niet, maar dat geeft mijn PHP-kennis wellicht ook aan. :P.

Kun je me hier meer over vertellen? Links naar informatie anders?
  zaterdag 26 juli 2014 @ 02:10:17 #100
363995 Reemi
Zeg maar Remi.
pi_142740293
quote:
0s.gif Op zaterdag 26 juli 2014 02:04 schreef zarGon het volgende:

[..]

Vast niet, maar dat geeft mijn PHP-kennis wellicht ook aan. :P.

Kun je me hier meer over vertellen? Links naar informatie anders?
Vóórdat je menu wordt geladen kun je een PHP variabele setten, bijvoorbeeld $page = 'stats';. Bij het opbouwen van het menu kun je dan checken welke waarde de variabele heeft (met een simpele if, of met een switch-statement), en zodoende bepalen op welke pagina je bent en hoe het menu eruit moet zien.

Werk je met een template systeem, of plaats je de HTML in ieder PHP bestand? :P Een simpel voorbeeld van een heel simpel template systeem: klik. Scheelt een boel werk, omdat je dan de HTML voor alle pagina's tegelijk kunt aanpassen. De $page kun je dan boven het includen van de header setten, en in header.php staat het menu.
Smile like you mean it
www.wefut.com
pi_142740342
quote:
0s.gif Op zaterdag 26 juli 2014 02:10 schreef Reemi het volgende:

[..]

Vóórdat je menu wordt geladen kun je een PHP variabele setten, bijvoorbeeld $page = 'stats';. Bij het opbouwen van het menu kun je dan checken welke waarde de variabele heeft (met een simpele if, of met een switch-statement), en zodoende bepalen op welke pagina je bent en hoe het menu eruit moet zien.
Hmhmm, klinkt haalbaar. Thanks!

quote:
Werk je met een template systeem, of plaats je de HTML in ieder PHP bestand? :P Een simpel voorbeeld van een template systeem: klik. Scheelt een boel werk, omdat je dan de HTML voor alle pagina's tegelijk kunt aanpassen.
Momenteel zijn het losse HTML-bestanden, maar ik ga ze inderdaad met includes opbouwen, net zoals in je link.
  zaterdag 26 juli 2014 @ 02:15:34 #102
363995 Reemi
Zeg maar Remi.
pi_142740350
quote:
0s.gif Op zaterdag 26 juli 2014 02:15 schreef zarGon het volgende:

[..]

Hmhmm, klinkt haalbaar. Thanks!

[..]

Momenteel zijn het losse HTML-bestanden, maar ik ga ze inderdaad met includes opbouwen, net zoals in je link.
^O^ Succes!
Smile like you mean it
www.wefut.com
  Moderator dinsdag 29 juli 2014 @ 21:46:15 #103
55052 crew  djkoelkast
www.xms.nl
pi_142863453
Ik heb nu een basiscursus MySQL gevolgd en ben bekend met de statements, maar dit ging verder niet in op de implementatie van SQL in een taal als php.

Weet iemand een heel basic tutorial voor bijvoorbeeld een cd collectie:

Album:
Artiest
Titel

Track:
Nummer
Artiest
Titel
Speelduur

Ik kon niet echt iets vinden, maar hoe je van zulke gegevens een:

Invoerpagina
Bladerpagina
Zoekpagina

maakt.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
  dinsdag 29 juli 2014 @ 22:24:36 #104
187069 slacker_nl
Sicko pur sang
pi_142865303
quote:
0s.gif Op dinsdag 29 juli 2014 21:46 schreef djkoelkast het volgende:
Ik heb nu een basiscursus MySQL gevolgd en ben bekend met de statements, maar dit ging verder niet in op de implementatie van SQL in een taal als php.

Weet iemand een heel basic tutorial voor bijvoorbeeld een cd collectie:

Album:
Artiest
Titel

Track:
Nummer
Artiest
Titel
Speelduur

Ik kon niet echt iets vinden, maar hoe je van zulke gegevens een:

Invoerpagina
Bladerpagina
Zoekpagina

maakt.
http://www.test-smoke.org/talks/dbix-class.pdf
In theory there is no difference between theory and practice. In practice there is.
  Moderator dinsdag 29 juli 2014 @ 22:29:13 #105
55052 crew  djkoelkast
www.xms.nl
pi_142865499
quote:
Dank je, maar ORM, CRUD? Ik dacht gewoon aan een html form, sturen naar mysql via php en andersom. Hier snap ik echt geen jota van :P
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
  woensdag 30 juli 2014 @ 08:59:20 #106
84926 WyriHaximus
Release the hounds smithers!
pi_142873873
quote:
0s.gif Op dinsdag 29 juli 2014 22:29 schreef djkoelkast het volgende:

[..]

Dank je, maar ORM, CRUD? Ik dacht gewoon aan een html form, sturen naar mysql via php en andersom. Hier snap ik echt geen jota van :P
Slap er Slim tegen aan en lees PHP The Right Way ook nog even en je bent al een heel eind.
phluphy for president!
  woensdag 30 juli 2014 @ 09:55:38 #107
166255 Maringo
Bèhèhèhèh
pi_142874736
quote:
0s.gif Op dinsdag 29 juli 2014 22:29 schreef djkoelkast het volgende:

[..]

Dank je, maar ORM, CRUD? Ik dacht gewoon aan een html form, sturen naar mysql via php en andersom. Hier snap ik echt geen jota van :P
Zal ik het wel simpel voor je houden:
Met de PDO statements van PHP kan je communiceren met MySQL: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers.
Wat je ook vind over communiceren met MySQL, gebruik nooit en te nimmer de 'mysql_' statements.

Beetje aanklooien tot het werkt en je het begrijpt. Daarna kan je het optimaliseren met bovenstaande linkjes en het project naar een 2.0 versie brengen met een micro framework als Slim of Silex; met een CRUD Controller in een bundle; en een ORM systeem er aan vast.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_142875405
quote:
6s.gif Op woensdag 30 juli 2014 09:55 schreef Maringo het volgende:

[..]

Zal ik het wel simpel voor je houden:
Met de PDO statements van PHP kan je communiceren met MySQL: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers.
Wat je ook vind over communiceren met MySQL, gebruik nooit en te nimmer de 'mysql_' statements.

Beetje aanklooien tot het werkt en je het begrijpt. Daarna kan je het optimaliseren met bovenstaande linkjes en het project naar een 2.0 versie brengen met een micro framework als Slim of Silex; met een CRUD Controller in een bundle; en een ORM systeem er aan vast.
Je kan beter echt eerst goed core PHP/MySQL leren. Dan is de overstap naar welk framework dan ook veel makkelijker. En je zal je nog verbazen hoeveel webontwikkelbureau's nog met een eigen CMS werken. Tenminste dat is mijn ervaring
  Moderator woensdag 30 juli 2014 @ 10:43:47 #109
55052 crew  djkoelkast
www.xms.nl
pi_142875734
Dat was ook eigenlijk mijn idee: gewoon simpel beginnen met een html-form waarmee ik een database kan vullen met de data naar keuze, dat moet het meest simpele zijn wat er is.
Gewoon wat in die forms komt via INSERT INTO-statements in de database in de juiste velden zetten.

Anders lijkt het me heel lastig leren.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_142875787
quote:
6s.gif Op woensdag 30 juli 2014 09:55 schreef Maringo het volgende:

[..]

Zal ik het wel simpel voor je houden:
Met de PDO statements van PHP kan je communiceren met MySQL: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers.
Wat je ook vind over communiceren met MySQL, gebruik nooit en te nimmer de 'mysql_' statements.

Beetje aanklooien tot het werkt en je het begrijpt. Daarna kan je het optimaliseren met bovenstaande linkjes en het project naar een 2.0 versie brengen met een micro framework als Slim of Silex; met een CRUD Controller in een bundle; en een ORM systeem er aan vast.
mysql_ is dan ook deprecated
mysqli_ werkt (ook) prima t.b.h. :)
  woensdag 30 juli 2014 @ 17:29:45 #111
166255 Maringo
Bèhèhèhèh
pi_142889601
quote:
0s.gif Op woensdag 30 juli 2014 10:28 schreef remi1986 het volgende:

[..]

Je kan beter echt eerst goed core PHP/MySQL leren. Dan is de overstap naar welk framework dan ook veel makkelijker. En je zal je nog verbazen hoeveel webontwikkelbureau's nog met een eigen CMS werken. Tenminste dat is mijn ervaring
Dat was inderdaad de insteek van mijn post. :Y
quote:
0s.gif Op woensdag 30 juli 2014 10:46 schreef mschol het volgende:

[..]

mysql_ is dan ook deprecated
mysqli_ werkt (ook) prima t.b.h. :)
Tja, als hij lokaal een oude WAMP heeft draaien met PHP5.3 erop, krijg je die meldingen niet. Een gewaarschuwd man telt voor twee. :)
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  woensdag 30 juli 2014 @ 18:50:12 #112
230788 n8n
Pragmatisch
pi_142891780
Meedo is een single file database interactie framework. Vet handig, handelt alles netjes af met pdo
Specialization is for insects”.—Robert Heinlein
  woensdag 30 juli 2014 @ 18:50:32 #113
230788 n8n
Pragmatisch
pi_142891788
-

[ Bericht 100% gewijzigd door n8n op 30-07-2014 18:50:46 ]
Specialization is for insects”.—Robert Heinlein
  woensdag 30 juli 2014 @ 18:50:54 #114
230788 n8n
Pragmatisch
pi_142891795
- zo lekker bezig :')
Specialization is for insects”.—Robert Heinlein
pi_142892463
quote:
1s.gif Op woensdag 30 juli 2014 18:50 schreef n8n het volgende:
Meedo is een single file database interactie framework. Vet handig, handelt alles netjes af met pdo
quote:
1s.gif Op woensdag 30 juli 2014 18:50 schreef n8n het volgende:
-
quote:
1s.gif Op woensdag 30 juli 2014 18:50 schreef n8n het volgende:
- zo lekker bezig :')
Spammer :')
  woensdag 30 juli 2014 @ 19:26:27 #116
230788 n8n
Pragmatisch
pi_142893099
quote:
0s.gif Op woensdag 30 juli 2014 19:08 schreef totalvamp het volgende:

[..]

[..]

[..]

Spammer :')
Was verkeerde knop jongen
Specialization is for insects”.—Robert Heinlein
  woensdag 30 juli 2014 @ 19:38:26 #117
178193 Juicyhil
Bekende FOK!ker
pi_142893541
PHP 7 is de nieuwe komende versie :)

http://news.php.net/php.internals/76254
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 30 juli 2014 @ 20:43:57 #118
12221 Tijn
Powered by MS Paint
pi_142896333
quote:
0s.gif Op woensdag 30 juli 2014 19:38 schreef Juicyhil het volgende:
PHP 7 is de nieuwe komende versie :)

http://news.php.net/php.internals/76254
Haha 8)7
pi_142897430
In 5.5 is trouwens de oude MySQL-zooi niet meer included. Zou er als freelancer werk zitten in bedrijven die hun zooi voor PHP 5.5+ ondersteund willen hebben? Van die eenmalige sites die zijn gemaakt (en waar ze geen developers intern hebben) en nu door een update niet meer werken.
  woensdag 30 juli 2014 @ 21:06:55 #120
12221 Tijn
Powered by MS Paint
pi_142897488
quote:
1s.gif Op woensdag 30 juli 2014 21:05 schreef robin007bond het volgende:
In 5.5 is trouwens de oude MySQL-zooi niet meer included. Zou er als freelancer werk zitten in bedrijven die hun zooi voor PHP 5.5+ ondersteund willen hebben? Van die eenmalige sites die zijn gemaakt (en waar ze geen developers intern hebben) en nu door een update niet meer werken.
Zo zat ik ook al te denken :D

$$$$$ :9
  woensdag 30 juli 2014 @ 21:07:45 #121
178193 Juicyhil
Bekende FOK!ker
pi_142897530
quote:
1s.gif Op woensdag 30 juli 2014 21:05 schreef robin007bond het volgende:
In 5.5 is trouwens de oude MySQL-zooi niet meer included. Zou er als freelancer werk zitten in bedrijven die hun zooi voor PHP 5.5+ ondersteund willen hebben? Van die eenmalige sites die zijn gemaakt (en waar ze geen developers intern hebben) en nu door een update niet meer werken.
Succes met het opknappen van crappy code ^O^ Ik zou m'n vingers er niet aan branden.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_142897703
quote:
10s.gif Op woensdag 30 juli 2014 21:06 schreef Tijn het volgende:

[..]

Zo zat ik ook al te denken :D

$$$$$ :9
Zakelijk instinct. :D

Probleem is dat ik geen idee heb hoe je je voor zoiets de markt in zet.
pi_142897731
quote:
0s.gif Op woensdag 30 juli 2014 21:07 schreef Juicyhil het volgende:

[..]

Succes met het opknappen van crappy code ^O^ Ik zou m'n vingers er niet aan branden.
Ach. Desnoods schrijf je alles opnieuw. De query's hebben ze toch nog. Maak je gewoon nieuwe DB-klasses en klaar.
  woensdag 30 juli 2014 @ 21:20:32 #124
187069 slacker_nl
Sicko pur sang
pi_142898197
quote:
1s.gif Op woensdag 30 juli 2014 21:12 schreef robin007bond het volgende:

[..]

Ach. Desnoods schrijf je alles opnieuw. De query's hebben ze toch nog. Maak je gewoon nieuwe DB-klasses en klaar.
Ik denk dat je veel meer crap tegenkomt en dat je een hoop can of worms opent. Voel je verder vrij, volgens mij kan je er wel leuk je centen mee verdienen als je lichtelijk sadomasochistisch bent.
In theory there is no difference between theory and practice. In practice there is.
pi_142898405
quote:
0s.gif Op woensdag 30 juli 2014 21:20 schreef slacker_nl het volgende:

[..]

Ik denk dat je veel meer crap tegenkomt en dat je een hoop can of worms opent. Voel je verder vrij, volgens mij kan je er wel leuk je centen mee verdienen als je lichtelijk sadomasochistisch bent.
:D
pi_142901040
quote:
0s.gif Op woensdag 30 juli 2014 21:20 schreef slacker_nl het volgende:

[..]

Ik denk dat je veel meer crap tegenkomt en dat je een hoop can of worms opent. Voel je verder vrij, volgens mij kan je er wel leuk je centen mee verdienen als je lichtelijk sadomasochistisch bent.
Inderdaad, vaak ben je beter af met het te herschrijven.
  woensdag 30 juli 2014 @ 22:17:30 #127
12221 Tijn
Powered by MS Paint
pi_142901083
Als je je echt alleen concentreert op het vervangen van de mysql_-functies en verder alles laat zoals het is en er ook niet naar kijkt, is het volgens mij best te doen, hoor.
pi_142901208
quote:
14s.gif Op woensdag 30 juli 2014 22:17 schreef Tijn het volgende:
Als je je echt alleen concentreert op het vervangen van de mysql_-functies en verder alles laat zoals het is en er ook niet naar kijkt, is het volgens mij best te doen, hoor.
maar als programmeur zijnde kom je vaak zulke slechte code tegen wat je niet zo kunt laten.
Doet pijn aan je ogen.
  woensdag 30 juli 2014 @ 22:23:43 #129
178193 Juicyhil
Bekende FOK!ker
pi_142901372
quote:
0s.gif Op woensdag 30 juli 2014 22:19 schreef totalvamp het volgende:

[..]

maar als programmeur zijnde kom je vaak zulke slechte code tegen wat je niet zo kunt laten.
Doet pijn aan je ogen.
Laatst gewerkt met zo'n lutser van een freelancer. Die gast had 6 maanden zonder enig toezicht code kunnen kloppen. Toen hij wegging maakte hij nog wel even wat opmerkingen over onze code, dat we te weinig design patterns gebruikten enzo.

Dus we keken naar z'n code, maar die had echt letterlijk alles herbruikbaar gemaakt. Dus ergens een string die via vijf of zes proxy classes ergens alsnog in de config wordt uitgelezen, ben je dus makkelijk een kwartier aan het zoeken voor een statische waarde. Wtf. Uiteindelijk drie maanden zitten refactoren.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_142901498
quote:
0s.gif Op woensdag 30 juli 2014 22:23 schreef Juicyhil het volgende:

[..]

Laatst gewerkt met zo'n lutser van een freelancer. Die gast had 6 maanden zonder enig toezicht code kunnen kloppen. Toen hij wegging maakte hij nog wel even wat opmerkingen over onze code, dat we te weinig design patterns gebruikten enzo.

Dus we keken naar z'n code, maar die had echt letterlijk alles herbruikbaar gemaakt. Dus ergens een string die via vijf of zes proxy classes ergens alsnog in de config wordt uitgelezen, ben je dus makkelijk een kwartier aan het zoeken voor een statische waarde. Wtf. Uiteindelijk drie maanden zitten refactoren.
Daarom heb je een duidelijke directory structuur nodig :P Dan heb je geen issues met dingen vinden xD
  woensdag 30 juli 2014 @ 22:27:57 #131
178193 Juicyhil
Bekende FOK!ker
pi_142901562
quote:
0s.gif Op woensdag 30 juli 2014 22:26 schreef totalvamp het volgende:

[..]

Daarom heb je een duidelijke directory structuur nodig :P Dan heb je geen issues met dingen vinden xD
Oh ja, dat deed hij ook niet nee. Maar dat is zo fijn aan MVC, dat alles convention based is en je dus wel moet houden aan die structuren.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_142901619
quote:
0s.gif Op woensdag 30 juli 2014 22:27 schreef Juicyhil het volgende:

[..]

Oh ja, dat deed hij ook niet nee. Maar dat is zo fijn aan MVC, dat alles convention based is en je dus wel moet houden aan die structuren.
Ja idd, ik ben ook een type die alles herbruikbaar maakt.
Maar ik zorg er dan wel voor dat het ook makkelijk kan.

Maarja als je zelf iets maakt heb je altijd een beter idee van hoe iets werkt.
pi_142902234
quote:
0s.gif Op woensdag 30 juli 2014 22:23 schreef Juicyhil het volgende:

[..]

Laatst gewerkt met zo'n lutser van een freelancer. Die gast had 6 maanden zonder enig toezicht code kunnen kloppen.
Daar ging het imho al mis.
pi_142902644
quote:
14s.gif Op woensdag 30 juli 2014 22:17 schreef Tijn het volgende:
Als je je echt alleen concentreert op het vervangen van de mysql_-functies en verder alles laat zoals het is en er ook niet naar kijkt, is het volgens mij best te doen, hoor.
Dat denk ik ook. :)
pi_142902708
quote:
0s.gif Op woensdag 30 juli 2014 22:23 schreef Juicyhil het volgende:

[..]

Laatst gewerkt met zo'n lutser van een freelancer. Die gast had 6 maanden zonder enig toezicht code kunnen kloppen. Toen hij wegging maakte hij nog wel even wat opmerkingen over onze code, dat we te weinig design patterns gebruikten enzo.

Dus we keken naar z'n code, maar die had echt letterlijk alles herbruikbaar gemaakt. Dus ergens een string die via vijf of zes proxy classes ergens alsnog in de config wordt uitgelezen, ben je dus makkelijk een kwartier aan het zoeken voor een statische waarde. Wtf. Uiteindelijk drie maanden zitten refactoren.
_O-
Ik zie het al helemaal voor me. Die probeert geforceerd alle design patterns die hij kent zo'n beetje uit overal, ook waar het niet nodig is. :D
pi_142902813
quote:
0s.gif Op woensdag 30 juli 2014 22:29 schreef totalvamp het volgende:

[..]

Ja idd, ik ben ook een type die alles herbruikbaar maakt.
Maar ik zorg er dan wel voor dat het ook makkelijk kan.

Maarja als je zelf iets maakt heb je altijd een beter idee van hoe iets werkt.
Dat is inderdaad goed. Sowieso een beetje documentatie kan nooit kwaad.

Voor bijvoorbeeld een API gebruik ik ApiGen.
pi_142904504
quote:
1s.gif Op woensdag 30 juli 2014 22:52 schreef robin007bond het volgende:

Voor bijvoorbeeld een API gebruik ik ApiGen.
Ook al eens naar phpDocumentor gekeken? Die wordt nog actief ontwikkeld.
  † In Memoriam † woensdag 30 juli 2014 @ 23:54:16 #138
159335 Boze_Appel
Vrij Fruit
pi_142906120
quote:
0s.gif Op woensdag 30 juli 2014 22:27 schreef Juicyhil het volgende:

[..]

Oh ja, dat deed hij ook niet nee. Maar dat is zo fijn aan MVC, dat alles convention based is en je dus wel moet houden aan die structuren.
Dat 'moeten' is lang niet altijd zo. Vaak genoeg dikke functies gezien in models, db-interacties in views en halve templates in controllers of zelfs hele sql-schema-declaraties in helpers. :'(
Carpe Libertatem
pi_142907539
Ik ben m'n code aan het doccen met phpdoc maar ik krijg inline @links niet werkende...

Ik heb nu dit

1
2
3
4
5
6
7
8
9
10
<?php
/**
 * sends a {@link http://tools.ietf.org/html/rfc2812#section-3.3.1 PRIVMSG}
 * @param     string     $user         The user to send as
 * @param     string     $to         The reciever
 * @param     string     $message     The message to send
 * @see        write()
 */
function privmsg ($user$to$message)
?>

En in m'n docs ziet dat er dus zo uit..



http://manual.phpdoc.org/(...).inlinelink.pkg.html

Kijk ik nou ergens overheen waardoor die geen mooi linkje ervan maakt?
pi_142908142
quote:
2s.gif Op donderdag 31 juli 2014 00:35 schreef d4v1d het volgende:
Ik ben m'n code aan het doccen met phpdoc maar ik krijg inline @links niet werkende...

Ik heb nu dit
[ code verwijderd ]

En in m'n docs ziet dat er dus zo uit..

[ afbeelding ]

http://manual.phpdoc.org/(...).inlinelink.pkg.html

Kijk ik nou ergens overheen waardoor die geen mooi linkje ervan maakt?
Welke versie van phpDocumentor gebruik je? Je linkt naar een oude versie, en als je die nog gebruikt zou ik je phpDocumentor2 aanraden.
pi_142911635
quote:
0s.gif Op woensdag 30 juli 2014 23:25 schreef Light het volgende:

[..]

Ook al eens naar phpDocumentor gekeken? Die wordt nog actief ontwikkeld.
Bedankt voor de tip. :)
  donderdag 31 juli 2014 @ 07:19:42 #142
187069 slacker_nl
Sicko pur sang
pi_142911834
quote:
2s.gif Op donderdag 31 juli 2014 00:35 schreef d4v1d het volgende:
Ik ben m'n code aan het doccen met phpdoc maar ik krijg inline @links niet werkende...

Ik heb nu dit
[ code verwijderd ]

En in m'n docs ziet dat er dus zo uit..

[ afbeelding ]

http://manual.phpdoc.org/(...).inlinelink.pkg.html

Kijk ik nou ergens overheen waardoor die geen mooi linkje ervan maakt?
Volgens mij moet je de { } weghalen. Never mind, ze beginnen het voorbeeld met hoe je het niet moet doen (ook zo handig).
In theory there is no difference between theory and practice. In practice there is.
pi_142916742
quote:
0s.gif Op donderdag 31 juli 2014 00:58 schreef Light het volgende:

[..]

Welke versie van phpDocumentor gebruik je? Je linkt naar een oude versie, en als je die nog gebruikt zou ik je phpDocumentor2 aanraden.
Oh, zit ik in oude documentatie te neuzen? _O-

Ik heb phpdoc gister gedownload, heb nu de laatste versie 2.6.1. Even zoeken naar de juiste documentatie dan maar :')

edit: in de huidige docs staat het precies 't zelfde:

quote:
{@link [URI] [<description>]}
http://www.phpdoc.org/doc(...)hpdoc/tags/link.html

[ Bericht 15% gewijzigd door #ANONIEM op 31-07-2014 11:58:49 ]
pi_142917999
quote:
2s.gif Op donderdag 31 juli 2014 11:55 schreef d4v1d het volgende:

[..]

Oh, zit ik in oude documentatie te neuzen? _O-

Ik heb phpdoc gister gedownload, heb nu de laatste versie 2.6.1. Even zoeken naar de juiste documentatie dan maar :')

edit: in de huidige docs staat het precies 't zelfde:

[..]

http://www.phpdoc.org/doc(...)hpdoc/tags/link.html

In dat grote zwarte blok bovenaan de pagina staat duidelijk:
quote:
The effects of the inline version of this tag are not yet fully implemented in PhpDocumentor2. There’s only URI support (i.e. no support for Structural Elements), and even that is available only in long descriptions. This is a known issue that is sure to be fixed before the final release of PhpDocumentor 2.0.
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_142918067
quote:
12s.gif Op donderdag 31 juli 2014 12:40 schreef Rockfire het volgende:

[..]

In dat grote zwarte blok bovenaan de pagina staat duidelijk:

[..]

EN daarachter staat "There is only URL support", dat wil ik dus juist. :P

[ Bericht 1% gewijzigd door #ANONIEM op 31-07-2014 12:43:07 ]
pi_142918136
quote:
2s.gif Op donderdag 31 juli 2014 12:42 schreef d4v1d het volgende:

[..]

EN daarachter staat "There is only URL support", dat wil ik dus juist. :P
Nee, jij wil ook een description ;)
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_142918188
quote:
0s.gif Op donderdag 31 juli 2014 12:45 schreef Rockfire het volgende:

[..]

Nee, jij wil ook een description ;)
Oh, dan ben ik nog niet helemaal wakker :')
pi_142939748
quote:
0s.gif Op donderdag 31 juli 2014 12:45 schreef Rockfire het volgende:

[..]

Nee, jij wil ook een description ;)
Dat "only URI support" slaat op waar je naar toe kunt linken. Je kunt niet verwijzen naar iets anders dan een link, zoals bijvoorbeeld een variabele.
En die description slaat op de opbouw van een DocBlock. In het kort heb je 3 onderdelen, een summary, een description en tags. De volgorde is belangrijk. De notatie {@link } werkt alleen in descriptions en niet in summaries (dus niet in de eerste regel).
pi_142939945
quote:
2s.gif Op donderdag 31 juli 2014 00:35 schreef d4v1d het volgende:
Ik ben m'n code aan het doccen met phpdoc maar ik krijg inline @links niet werkende...

Ik heb nu dit
[ code verwijderd ]

En in m'n docs ziet dat er dus zo uit..

[ afbeelding ]

http://manual.phpdoc.org/(...).inlinelink.pkg.html

Kijk ik nou ergens overheen waardoor die geen mooi linkje ervan maakt?
Ja, die {@link .. } werkt alleen in descriptions en niet in de summary waar je het nu probeert te gebruiken. Zie ook mijn post hierboven.

Mogelijke oplossingen:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
/**
 * sends a privmsg
 *
 * @link http://tools.ietf.org/html/rfc2812#section-3.3.1 PRIVMSG
 * @param     string     $user         The user to send as
 * @param     string     $to         The reciever
 * @param     string     $message     The message to send
 * @see        write()
 */
function privmsg ($user$to$message)
?>
Of:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
/**
 * This is my one line summary
 *
 * This is my multi-line description that contains 
 * an inline link: {@link http://tools.ietf.org/html/rfc2812#section-3.3.1 PRIVMSG}
 *
 * @param     string     $user         The user to send as
 * @param     string     $to         The reciever
 * @param     string     $message     The message to send
 * @see        write()
 */
function privmsg ($user$to$message)
?>

Teksten naar eigen voorkeur aanpassen ;)
pi_142966917
phpdocumentor draaide niet lekker op mijn WAMP-omgeving. Helaas geen tijd gehad het recht te trekken.

Mijn vakantiewerk is voorbij dus vanaf nu is het weer hobbyen. :P
pi_142972961
quote:
1s.gif Op vrijdag 1 augustus 2014 19:53 schreef robin007bond het volgende:
phpdocumentor draaide niet lekker op mijn WAMP-omgeving. Helaas geen tijd gehad het recht te trekken.

Mijn vakantiewerk is voorbij dus vanaf nu is het weer hobbyen. :P
Phpdocumentor? Is dat zo echt nodig? Het lijkt in sommige gevallen best overbodig.
Ik zie er in dit geval nog geen meerwaarde van in

soort van Javadocs voor jezelf ?
Redacted
pi_142973406
quote:
0s.gif Op vrijdag 1 augustus 2014 22:41 schreef cablegunmaster het volgende:

[..]

Phpdocumentor? Is dat zo echt nodig? Het lijkt in sommige gevallen best overbodig.
Ik zie er in dit geval nog geen meerwaarde van in

soort van Javadocs voor jezelf ?
Als je een API maakt bijvoorbeeld. :)
  vrijdag 1 augustus 2014 @ 23:40:26 #153
187069 slacker_nl
Sicko pur sang
pi_142975493
quote:
0s.gif Op vrijdag 1 augustus 2014 22:41 schreef cablegunmaster het volgende:

[..]

Phpdocumentor? Is dat zo echt nodig? Het lijkt in sommige gevallen best overbodig.
Ik zie er in dit geval nog geen meerwaarde van in

soort van Javadocs voor jezelf ?
Je ziet geen voordeel in documentatie?

quote:
Average number of code comments
xxxx is written mostly in Perl.

Across all Perl projects on Open Hub, 26% of all source code lines are comments.

This holds true for xxxx as well. It contains the same ratio of comment lines to code lines as the majority of Perl projects in Open Hub.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.
(bron is OpenHub.net)

Daarom is documentatie van belang. Plus, over een jaar weet je echt niet meer waarom je iets gedaan hebt. Documentatie is dan van belang, ookal is je code vanzelfsprekend.
In theory there is no difference between theory and practice. In practice there is.
pi_142975884
quote:
0s.gif Op vrijdag 1 augustus 2014 23:40 schreef slacker_nl het volgende:

[..]

Je ziet geen voordeel in documentatie?

[..]

(bron is OpenHub.net)

Daarom is documentatie van belang. Plus, over een jaar weet je echt niet meer waarom je iets gedaan hebt. Documentatie is dan van belang, ookal is je code vanzelfsprekend.
Dat is waar , natuurlijk is documentatie meerwaarde, maar ik ken het programma niet en vraag dermate daarom waarom ik dit programma zou gebruiken. :). De meerwaarde van dit programma.
aangezien mijn doelgroep eigen software is, en mogelijk 1 - 2 lib files met alle functies die ik gebruik.
Redacted
  vrijdag 1 augustus 2014 @ 23:53:47 #155
187069 slacker_nl
Sicko pur sang
pi_142976190
quote:
0s.gif Op vrijdag 1 augustus 2014 23:48 schreef cablegunmaster het volgende:

[..]

Dat is waar , natuurlijk is documentatie meerwaarde, maar ik ken het programma niet en vraag dermate daarom waarom ik dit programma zou gebruiken. :). De meerwaarde van dit programma.
aangezien mijn doelgroep eigen software is, en mogelijk 1 - 2 lib files met alle functies die ik gebruik.
Zelfs met eigen code is het belangrijk. Als ik naar code van zoveel jaar terug kijk denk ik soms ook: what was I thinking?!
In theory there is no difference between theory and practice. In practice there is.
pi_142978518
quote:
0s.gif Op vrijdag 1 augustus 2014 23:53 schreef slacker_nl het volgende:

[..]

Zelfs met eigen code is het belangrijk. Als ik naar code van zoveel jaar terug kijk denk ik soms ook: was I thinking?!
Fixed :)
  maandag 4 augustus 2014 @ 18:10:08 #157
230788 n8n
Pragmatisch
pi_143059271
In Atom kan je de line-height instellen, staat nu op 1.8 en dat werkt erg prettig. Kan nu een stuk vaker af zonder witregel in de code zonder dat het onoverzichtelijk wordt
Specialization is for insects”.—Robert Heinlein
pi_143062154
quote:
0s.gif Op vrijdag 1 augustus 2014 23:53 schreef slacker_nl het volgende:

[..]

Zelfs met eigen code is het belangrijk. Als ik naar code van zoveel jaar terug kijk denk ik soms ook: what was I thinking?!
Meestal als je klaar bent en je kijkt terug heb je dat al :')
Omdat je vaak nieuwe kennis hebt opgedaan tijdens het maken van.
pi_143072242
Ik heb een aardig probleem. Ik heb 2 dagen mee geworsteld, en toen kwam ik er nog niet uit. Ervaren programmeurs hier wisten het ook niet. :P.

Ik heb even uitgetypt, met een MySQL tabel als voorbeeld met daarin fictieve waarden:

  +-----------+-----------------+---------------------+             
   |   Naam    |   Gespreksduur  |   TypeGesprek       |             
   +---------------------------------------------------+             
   |           |                 |                     |             
   |   Jaap    |   00:17:45      |   Vaste lijn        |             
   |   Anita   |   00:06:33      |   Vaste lijn        |             
   |   Kees    |   00:06:44      |   Mobiele lijn      |             
   |   Jaap    |   00:02:36      |   Vaste lijn        |             
   |   Jaap    |   00:02:34      |   Mobiele lijn      |             
   |   Anita   |   00:04:50      |   Mobiele lijn      |             
   |   Jaap    |   00:02:41      |   Vaste lijn        |             
   |   Maartje |   00:03:43      |   Mobiele lijn      |             
   |   Kees    |   01:02:46      |   Vaste lijn        |             
   |   Anita   |   00:05:34      |   Mobiele lijn      |             
   |   Jaap    |   00:16:34      |   Vaste lijn        |             
   +-----------+-----------------+---------------------+         

Je hebt dus in de tabel een naam die gebeld heeft, tijdsduur van gesprek, en soort gesprek.

Ik heb de volgende SQL-statement:

1
2
3
4
SELECT                                          naam
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as totaalduur 
FROM                                             telefoongesprekken
GROUP BY                                    naam

Dan verschijnen er 2 columns, namelijk de totale tijd en per persoon. Je ziet dus wie totaal uren gebeld heeft. Dan kun je daarop selecteren.

Nu moet er een 3e column bijkomen.

Nu moet ik dat uitscheiden naar type gesprek per persoon, binnen dezelfde query, zodat er een column verschijnt met totale uren per type gesprek, gegroepeerd naar naam.
Dus er moeten nog columns naast de huidige 2 columns komen, namelijk hoeveel uren daarvan aan Mobiele Gesprekken besteed zijn, en hoeveel daarvan aan Vaste gesprekken.

Ik heb verschillende varianten geprobeerd zoals:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT   
(
SELECT naam
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as vastduur
FROM     telefoongesprekken
WHERE TypeGesprek = 'Vaste lijn'
GROUP BY naam
),
(
SELECT naam
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as mobielduur
FROM     telefoongesprekken
WHERE TypeGesprek = 'Mobiele lijn'
GROUP BY naam
)

Werkte niet, naast talloze varianten zoals:

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT   naam
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as vastduur
FROM     telefoongesprekken
WHERE TypeGesprek = 'Vaste lijn'
GROUP BY naam

UNION 

SELECT
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as mobielduur
FROM     telefoongesprekken
WHERE TypeGesprek = 'Mobiele lijn'
GROUP BY naam

Dat gaf niet het gewenste resultaat. De waarden worden dan in 1 column gesorteerd, terwijl er eigenlijk 2 columns bij moeten komen. :'(.

Ik ben niet iemand die het gaat vragen, maar alles uitzoekt. Maar na 2 hele dagen zoeken op internet, is het nog steeds niet gelukt. :( Wel trof ik suggesties voor LEFT JOIN etc aan, maar die hebben betrekking op externe tabels. Anders zouden de waarden van naam, en totale gespreksduur ook weer weg vallen.

Hebben de Fokkers onder ons nog tips? :?
pi_143074487
quote:
1s.gif Op maandag 4 augustus 2014 23:39 schreef Robuustheid het volgende:
Ik heb een aardig probleem. Ik heb 2 dagen mee geworsteld, en toen kwam ik er nog niet uit. Ervaren programmeurs hier wisten het ook niet. :P.
Zoiets?
1
2
3
4
5
SELECT                                          naam,
SEC_TO_TIME(SUM(TIME_TO_SEC(Gespreksduur))) as totaalduur,
TypeGesprek 
FROM                                             telefoongesprekken
GROUP BY                                    naam, TypeGesprek
pi_143144959
Nee, dat is hem niet. Je moet daarop nog kunnen selecteren vanuit PHP. Toch nog bedankt voor het meedenken! :)

Wel heb ik nog een vraag. Stel, je hebt in MySQL een varchar-kolom met daarin 2 rijen:

09000000001
09000024#

Waarom retourneert deze query alleen 1 rij? Namelijk die met een hekje erin :?.

1
2
3
SELECT GebeldeNummer
FROM telefoongesprekken
WHERE SUBSTRING( telefoongesprekken.GebeldeNummer, 1, 4 ) =  '0900'
  woensdag 6 augustus 2014 @ 22:57:21 #162
178193 Juicyhil
Bekende FOK!ker
pi_143145088
quote:
1s.gif Op woensdag 6 augustus 2014 22:54 schreef Robuustheid het volgende:
Nee, dat is hem niet. Je moet daarop nog kunnen selecteren vanuit PHP. Toch nog bedankt voor het meedenken! :)

Wel heb ik nog een vraag. Stel, je hebt in MySQL een varchar-kolom met daarin 2 rijen:

09000000001
09000024#

Waarom retourneert deze query alleen 1 rij? Namelijk die met een hekje erin :?.
[ code verwijderd ]

Zit er misschien een spatie in die eerste aan het begin? Tevens zou ik gewoon gebruiken:

1WHERE telefoongesprekken.GebeldeNummer LIKE  '0900%'
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_143151336
quote:
1s.gif Op woensdag 6 augustus 2014 22:54 schreef Robuustheid het volgende:
Nee, dat is hem niet. Je moet daarop nog kunnen selecteren vanuit PHP. Toch nog bedankt voor het meedenken! :)

Wel heb ik nog een vraag. Stel, je hebt in MySQL een varchar-kolom met daarin 2 rijen:

09000000001
09000024#

Waarom retourneert deze query alleen 1 rij? Namelijk die met een hekje erin :?.
[ code verwijderd ]

je zou gewoon 2 resultaten moeten krijgen.

pi_143152260
quote:
1s.gif Op maandag 4 augustus 2014 23:39 schreef Robuustheid het volgende:
Ik heb een aardig probleem. Ik heb 2 dagen mee geworsteld, en toen kwam ik er nog niet uit. Ervaren programmeurs hier wisten het ook niet. :P.

Ik heb even uitgetypt, met een MySQL tabel als voorbeeld met daarin fictieve waarden:

  +-----------+-----------------+---------------------+             
   |   Naam    |   Gespreksduur  |   TypeGesprek       |             
   +---------------------------------------------------+             
   |           |                 |                     |             
   |   Jaap    |   00:17:45      |   Vaste lijn        |             
   |   Anita   |   00:06:33      |   Vaste lijn        |             
   |   Kees    |   00:06:44      |   Mobiele lijn      |             
   |   Jaap    |   00:02:36      |   Vaste lijn        |             
   |   Jaap    |   00:02:34      |   Mobiele lijn      |             
   |   Anita   |   00:04:50      |   Mobiele lijn      |             
   |   Jaap    |   00:02:41      |   Vaste lijn        |             
   |   Maartje |   00:03:43      |   Mobiele lijn      |             
   |   Kees    |   01:02:46      |   Vaste lijn        |             
   |   Anita   |   00:05:34      |   Mobiele lijn      |             
   |   Jaap    |   00:16:34      |   Vaste lijn        |             
   +-----------+-----------------+---------------------+         

Je hebt dus in de tabel een naam die gebeld heeft, tijdsduur van gesprek, en soort gesprek.

Ik heb de volgende SQL-statement:
[ code verwijderd ]

Dan verschijnen er 2 columns, namelijk de totale tijd en per persoon. Je ziet dus wie totaal uren gebeld heeft. Dan kun je daarop selecteren.

Nu moet er een 3e column bijkomen.

Nu moet ik dat uitscheiden naar type gesprek per persoon, binnen dezelfde query, zodat er een column verschijnt met totale uren per type gesprek, gegroepeerd naar naam.
Dus er moeten nog columns naast de huidige 2 columns komen, namelijk hoeveel uren daarvan aan Mobiele Gesprekken besteed zijn, en hoeveel daarvan aan Vaste gesprekken.

Ik heb verschillende varianten geprobeerd zoals:
[ code verwijderd ]

Werkte niet, naast talloze varianten zoals:
[ code verwijderd ]

Dat gaf niet het gewenste resultaat. De waarden worden dan in 1 column gesorteerd, terwijl er eigenlijk 2 columns bij moeten komen. :'(.

Ik ben niet iemand die het gaat vragen, maar alles uitzoekt. Maar na 2 hele dagen zoeken op internet, is het nog steeds niet gelukt. :( Wel trof ik suggesties voor LEFT JOIN etc aan, maar die hebben betrekking op externe tabels. Anders zouden de waarden van naam, en totale gespreksduur ook weer weg vallen.

Hebben de Fokkers onder ons nog tips? :?
Heb ff test tabelletje gemaakt



Is dit wat je zoekt?



1
2
3
4
5
6
SELECT naam, 
SEC_TO_TIME(SUM(TIME_TO_SEC(duur))) as totaal,
SEC_TO_TIME(SUM(CASE WHEN type = "vast" THEN TIME_TO_SEC(duur) ELSE 0 END)) as vast,
SEC_TO_TIME(SUM(CASE WHEN type = "mobiel" THEN TIME_TO_SEC(duur) ELSE 0 END)) as mobiel
FROM gesprekken
GROUP BY naam



Maar kom op hee, dit is basis MySQL, je gaat mij niet vertellen dat "ervaren" programmeurs dit niet konden verzinnen :')

[ Bericht 1% gewijzigd door remi1986 op 07-08-2014 02:03:21 ]
pi_143194078
Ik heb een bestand, te downloaden via: http://1.2.3.4/file.iso
Echter wil ik dat deze bestand alleen te downloaden is via een PHP script, bijv: http://1.2.3.4/download.php

Als ik in download.php het volgende zet:
<?php
header('Location: http://1.2.3.4/file.iso');
?>

Dan wordt je volgens mij redirected naar http://1.2.3.4/file.iso dus de gebruiker ziet de directe URL, deze wil ik juist geheim houden. Welke functie moet ik hiervoor gebruiken?
  vrijdag 8 augustus 2014 @ 11:41:57 #166
178193 Juicyhil
Bekende FOK!ker
pi_143194203
quote:
0s.gif Op vrijdag 8 augustus 2014 11:37 schreef xaban06 het volgende:
Ik heb een bestand, te downloaden via: http://1.2.3.4/file.iso
Echter wil ik dat deze bestand alleen te downloaden is via een PHP script, bijv: http://1.2.3.4/download.php

Als ik in download.php het volgende zet:
<?php
header('Location: http://1.2.3.4/file.iso');
?>

Dan wordt je volgens mij redirected naar http://1.2.3.4/file.iso dus de gebruiker ziet de directe URL, deze wil ik juist geheim houden. Welke functie moet ik hiervoor gebruiken?
Kan het niet via een RewriteRule in je htaccess?
1RewriteRule ^/download        /file.iso [L]
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  vrijdag 8 augustus 2014 @ 11:47:41 #167
91039 mstx
2x1/2 = 1/2 x 1/2
pi_143194370
quote:
0s.gif Op vrijdag 8 augustus 2014 11:37 schreef xaban06 het volgende:
Ik heb een bestand, te downloaden via: http://1.2.3.4/file.iso
Echter wil ik dat deze bestand alleen te downloaden is via een PHP script, bijv: http://1.2.3.4/download.php

Als ik in download.php het volgende zet:
<?php
header('Location: http://1.2.3.4/file.iso');
?>

Dan wordt je volgens mij redirected naar http://1.2.3.4/file.iso dus de gebruiker ziet de directe URL, deze wil ik juist geheim houden. Welke functie moet ik hiervoor gebruiken?
http://nl1.php.net/fread

Gewoon het bestand met php uitlezen en outputten naar de user
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_143195214
quote:
0s.gif Op vrijdag 8 augustus 2014 11:47 schreef mstx het volgende:

[..]

http://nl1.php.net/fread

Gewoon het bestand met php uitlezen en outputten naar de user
In combinatie met http://php.net/fpassthru dan.

En als je zeker wilt dat niemand bij het bestand kan behalve via het PHP script, dan is het verstandig om die bestanden buiten de webroot te zetten.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_143195737
quote:
0s.gif Op vrijdag 8 augustus 2014 11:47 schreef mstx het volgende:

[..]

http://nl1.php.net/fread

Gewoon het bestand met php uitlezen en outputten naar de user
Thanks!
Opgelost. Bestanden staan nu buiten de webroot :)
pi_143200949
Wat mis ik hier?
1
2
3
4
5
6
mysql> SELECT ROUND( 0.0025, 3 );
+--------------------+
| round( 0.0025, 3 ) |
+--------------------+
|              0.003 |
+--------------------+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> CREATE TABLE `test` (
  `value` float NOT NULL,
  `decimals` tinyint(4) NOT NULL
);

mysql> INSERT INTO test (value,decimals) VALUES (0.0025,3);

mysql> SELECT * FROM test;
+--------+----------+
| value  | decimals |
+--------+----------+
| 0.0025 |        3 |
+--------+----------+

mysql> SELECT ROUND( value, decimals ) FROM test;
+--------------------------+
| round( value, decimals ) |
+--------------------------+
|                    0.002 |
+--------------------------+
Edit: lijkt een floating point probleem te zijn. Met DECIMAL werkt het wel.

[ Bericht 1% gewijzigd door Aether op 08-08-2014 15:20:54 ]
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_143202390
quote:
5s.gif Op vrijdag 8 augustus 2014 15:12 schreef Aether het volgende:
Wat mis ik hier?
[ code verwijderd ]

[ code verwijderd ]

Edit: lijkt een floating point probleem te zijn. Met DECIMAL werkt het wel.
float is bijna altijd een probleem :P
..///
pi_143203233
quote:
5s.gif Op vrijdag 8 augustus 2014 15:12 schreef Aether het volgende:
Wat mis ik hier?
[ code verwijderd ]

[ code verwijderd ]

Edit: lijkt een floating point probleem te zijn. Met DECIMAL werkt het wel.
http://www.h-schmidt.net/FloatConverter/IEEE754.html

Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_143384208
Hoi ik heb een vraagje over een tutorial die ik ging volgen waarbij er de php mail() functie werd gebruikt. Hier is de link van de tutorial:

De php mail() functie werkt wel, omdat hij true als waarde terug geeft. Maar ik ontvang geen email als ik een account registreer. Dit had ik dus getest met de volgende stukje code:

1
2
3
4
5
6
if(mail($to, $subject, $message, $headers)){
echo "Email has been sent to<b> ".$to."</b>";
}
else{
echo "Failed sending message to <b> ".$to."</b>.";
}

Maar ik weet nog steeds niet hoe ik dit probleem kan fixen. Kan iemand me misschien helpen?

Hier is de rest van mijn code die ik gebruik:
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
// END FORM DATA ERROR HANDLING
        // Begin Insertion of data into the database
        // Hash the password and apply your own mysterious unique salt
        $cryptpass = crypt($p); //<-- dit wordt een 30 bit/characters cryptic hash
        include_once ("php_includes/randStrGen.php");
        $p_hash = randStrGen(20)."$cryptpass".randStrGen(20);
        // Add user info into the database table for the main site table
        $sql = "INSERT INTO users (username, email, password, gender, country, ip, signup, lastlogin, notescheck)       
                VALUES('$u','$e','$p_hash','$g','$c','$ip',now(),now(),now())";
        $query = mysqli_query($db_conx, $sql); //<-- Dit runt de query
        $uid = mysqli_insert_id($db_conx);
        // Establish their row in the useroptions table
        $sql = "INSERT INTO useroptions (id, username, background) VALUES ('$uid','$u','original')";
        $query = mysqli_query($db_conx, $sql);
        // Create directory(folder) to hold each user's files(pics, MP3s, etc.)
        if (!file_exists("user/$u")) { //Als de folder met de naam van de user niet bestaat, dan maken we die folder aan.
            mkdir("user/$u", 0755); //0755 zijn de folder permissies oftewel chmod
        }
        // Email the user their activation link
        $to = "$e";    
                 
        $from = "auto_responder@yomacho.host56.com"; 
        
        /*als je een email gebruikt die ook op de server(van je host (=yomacho.host56.com)) draait 
        *en waar je website ook draait. Dan ontvangt de user een email in zijn inbox en niet in zijn junkbox. */
        $subject = 'Facebook Clone Account Activation';
        $message = '<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Facebook Clone Message</title></head><body style="margin:0px;
         font-family:Tahoma, Geneva, sans-serif;"><div style="padding:10px; background:#333; font-size:24px; color:#CCC;">
         <a href="http://www.yoursitename.com"><img src="http://www.yoursitename.com/images/logo.png" width="36" height="30" alt="Facebook Clone"
         style="border:none; float:left;"></a>yoursitename Account Activation</div><div style="padding:24px; font-size:17px;">Hello '.$u.',<br /><br />
         Click the link below to activate your account when ready:<br /><br /><a href="http://http://yomacho.host56.com/activation.php?id='.$uid.'&u='.$u.'&e='.
         $e.'&p='.$p_hash.'">Click here to activate your account now</a><br /><br />Login after successful activation using your:<br />* E-mail Address: 
         <b>'.$e.'</b></div></body></html>';
        $headers = "From: $fromn";
        $headers .= "MIME-Version: 1.0n";
        $headers .= "Content-type: text/html; charset=iso-8859-1n";
        
        //mail($to, $subject, $message, $headers);
        if(mail($to, $subject, $message, $headers)){
            echo "Email has been sent to<b> ".$to."</b>";
        }
        else{
            echo "Failed sending message to <b> ".$to."</b>.";
        }

        echo "signup_success";
        exit();

Ook vind ik het geen probleem als iemand me wilt helpen via Skype. Omdat ik dat ook waardeer :).
pi_143388728
quote:
0s.gif Op woensdag 13 augustus 2014 17:33 schreef superky het volgende:
Hoi ik heb een vraagje over een tutorial die ik ging volgen waarbij er de php mail() functie werd gebruikt. Hier is de link van de tutorial:

De php mail() functie werkt wel, omdat hij true als waarde terug geeft. Maar ik ontvang geen email als ik een account registreer. Dit had ik dus getest met de volgende stukje code:
[ code verwijderd ]

Maar ik weet nog steeds niet hoe ik dit probleem kan fixen. Kan iemand me misschien helpen?

Hier is de rest van mijn code die ik gebruik:
[ code verwijderd ]

Ook vind ik het geen probleem als iemand me wilt helpen via Skype. Omdat ik dat ook waardeer :).
Gebruik een externe library man. De ingebouwde mail functie zuigt. :P
  woensdag 13 augustus 2014 @ 19:52:01 #175
178193 Juicyhil
Bekende FOK!ker
pi_143388779
quote:
1s.gif Op woensdag 13 augustus 2014 19:50 schreef robin007bond het volgende:

[..]

Gebruik een externe library man. De ingebouwde mail functie zuigt. :P
Meeste frameworks hebben daar alleen maar een wrapper omheen gebouwd. Dus dan blijft meneer hetzelfde issue uiteindelijk hebben...
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 13 augustus 2014 @ 19:54:00 #176
178193 Juicyhil
Bekende FOK!ker
pi_143388842
quote:
0s.gif Op woensdag 13 augustus 2014 17:33 schreef superky het volgende:
Hoi ik heb een vraagje over een tutorial die ik ging volgen waarbij er de php mail() functie werd gebruikt. Hier is de link van de tutorial:

De php mail() functie werkt wel, omdat hij true als waarde terug geeft. Maar ik ontvang geen email als ik een account registreer. Dit had ik dus getest met de volgende stukje code:
[ code verwijderd ]

Maar ik weet nog steeds niet hoe ik dit probleem kan fixen. Kan iemand me misschien helpen?

Hier is de rest van mijn code die ik gebruik:
[ code verwijderd ]

Ook vind ik het geen probleem als iemand me wilt helpen via Skype. Omdat ik dat ook waardeer :).
Misschien die typo hier:

$headers = "From: $fromn";
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 13 augustus 2014 @ 19:56:00 #177
178193 Juicyhil
Bekende FOK!ker
pi_143388913
En die headers moeten op aparte regels, zie: http://php.net/manual/en/function.mail.php

1
2
3
4
5
<?php
'From: webmaster@example.com' "\r\n" .
    
'Reply-To: webmaster@example.com' "\r\n" .
    
'X-Mailer: PHP/' phpversion();
?>
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_143389216
quote:
0s.gif Op woensdag 13 augustus 2014 19:54 schreef Juicyhil het volgende:

[..]

Misschien die typo hier:

$headers = "From: $fromn";
Dat komt niet door mij dat komt door de website hehe :P. Zie hier een screenshot van mijn tekst editor:



Bij die onderste twee regels staan ook zomaar een "n" achter geplakt haha, komt door de site dus.

Verder heb ik de headers ook aangepast maar alsnog krijg ik geen mailtje binnen :(. Zie hier de aanpassing:
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
// END FORM DATA ERROR HANDLING
        // Begin Insertion of data into the database
        // Hash the password and apply your own mysterious unique salt
        $cryptpass = crypt($p); //<-- dit wordt een 30 bit/characters cryptic hash
        include_once ("php_includes/randStrGen.php");
        $p_hash = randStrGen(20)."$cryptpass".randStrGen(20);
        // Add user info into the database table for the main site table
        $sql = "INSERT INTO users (username, email, password, gender, country, ip, signup, lastlogin, notescheck)       
                VALUES('$u','$e','$p_hash','$g','$c','$ip',now(),now(),now())";
        $query = mysqli_query($db_conx, $sql); //<-- Dit runt de query
        $uid = mysqli_insert_id($db_conx);
        // Establish their row in the useroptions table
        $sql = "INSERT INTO useroptions (id, username, background) VALUES ('$uid','$u','original')";
        $query = mysqli_query($db_conx, $sql);
        // Create directory(folder) to hold each user's files(pics, MP3s, etc.)
        if (!file_exists("user/$u")) { //Als de folder met de naam van de user niet bestaat, dan maken we die folder aan.
            mkdir("user/$u", 0755); //0755 zijn de folder permissies oftewel chmod
        }
        // Email the user their activation link
        $to = "$e";    
                 
        $from = "auto_responder@yomacho.host56.com"; 
        
        /*als je een email gebruikt die ook op de server(van je host (=yomacho.host56.com)) draait 
        *en waar je website ook draait. Dan ontvangt de user een email in zijn inbox en niet in zijn junkbox. */
        $subject = 'Facebook Clone Account Activation';
        $message = '<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Facebook Clone Message</title></head><body style="margin:0px;
         font-family:Tahoma, Geneva, sans-serif;"><div style="padding:10px; background:#333; font-size:24px; color:#CCC;">
         <a href="http://www.yoursitename.com"><img data-src="http://www.yoursitename.com/images/logo.png" style="visibility:hidden;" width="36" height="30" alt="Facebook Clone"
         style="border:none; float:left;"></a>yoursitename Account Activation</div><div style="padding:24px; font-size:17px;">Hello '.$u.',<br /><br />
         Click the link below to activate your account when ready:<br /><br /><a href="http://http://yomacho.host56.com/activation.php?id='.$uid.'&u='.$u.'&e='.
         $e.'&p='.$p_hash.'">Click here to activate your account now</a><br /><br />Login after successful activation using your:<br />* E-mail Address: 
         <b>'.$e.'</b></div></body></html>';

                // Geef GELDIGE adressen op
        // Een korte benaming voor jouw website
        $website_naam = 'Facebook clone';
        // Jouw eigen geldige emailadres
        $eigen_emailadres = 'auto_responder@yomacho.host56.com';
        // Een geldig emailadres voor errors
        $error_emailadres = 'superkytoz@gmail.com';
        // De naam van de verzender
        $naam_verzender = 'superky';
        // Het geldige emailadres van de afzender
        $email_verzender = 'glimer_flash@hotmail.com';
        // Een geldig emailadres of helemaal leeg laten
        $bcc_emailadres = '';
        // HTML mail? True/False
        $html = true;

        // De headers samenstellen
        $headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . "\r\n";
        $headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . "\r\n";
        $headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . "\r\n";
        $headers    .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . "\r\n" : '';
        $headers    .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
        $headers    .= 'X-Priority: Normal' . "\r\n";
        $headers    .= ($html) ? 'MIME-Version: 1.0' . "\r\n" : '';
        $headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . "\r\n" : ''; 

        //$headers = "From: $from\n";
        //$headers .= "MIME-Version: 1.0\n";
        //$headers .= "Content-type: text/html; charset=iso-8859-1\n";
        
        //mail($to, $subject, $message, $headers);
        if(mail($to, $subject, $message, $headers)){
            echo "Email has been sent to<b> ".$to."</b>";
        }
        else{
            echo "Failed sending message to <b> ".$to."</b>.";
        }

        echo "signup_success";
        exit();
[\code]

 
  woensdag 13 augustus 2014 @ 21:51:08 #179
292596 Faux.
Fan van zichzelf
pi_143393626
ik zou al die code gewoon dumpen eigenlijk
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_143394269
quote:
14s.gif Op woensdag 13 augustus 2014 21:51 schreef Faux. het volgende:
ik zou al die code gewoon dumpen eigenlijk
Inderdaad, gewoon zelf iets maken.
  woensdag 13 augustus 2014 @ 22:37:30 #181
187069 slacker_nl
Sicko pur sang
pi_143395737
In theory there is no difference between theory and practice. In practice there is.
pi_143396247
quote:
^O^
pi_143399449
quote:
Het is wel handig om te weten hoe het op basis niveau werkt.
Alles laten voorkauwen is niet goed als je nog een beginner bent.
  donderdag 14 augustus 2014 @ 08:25:08 #184
25889 Sitethief
Fulltime Flapdrol
pi_143403271
Bij ons in het bedrijf kregen we mail() functie alleen aan de praat als we ook een Return-Path aangaven.
Duurde even voor we daar achter waren gekomen...

1
2
$headers .= "Return-Path: <adminemail@yahoo.com>"."\n";
$headers .= "From: adminemail@yahoo.com <adminemail@yahoo.com>" . "\n";
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_143403768
quote:
0s.gif Op donderdag 14 augustus 2014 00:02 schreef totalvamp het volgende:

[..]

Het is wel handig om te weten hoe het op basis niveau werkt.
Alles laten voorkauwen is niet goed als je nog een beginner bent.
Dingen hergebruiken, dat is uiteraard niet goed als developer.

Als je echt wilt weten hoe het werkt, dan ga je al telnettend mail versturen (en RFC's lezen).
In theory there is no difference between theory and practice. In practice there is.
pi_143408267
quote:
0s.gif Op woensdag 13 augustus 2014 17:33 schreef superky het volgende:
Hoi ik heb een vraagje over een tutorial die ik ging volgen waarbij er de php mail() functie werd gebruikt. Hier is de link van de tutorial:

De php mail() functie werkt wel, omdat hij true als waarde terug geeft. Maar ik ontvang geen email als ik een account registreer. Dit had ik dus getest met de volgende stukje code:
[ code verwijderd ]

Maar ik weet nog steeds niet hoe ik dit probleem kan fixen. Kan iemand me misschien helpen?

Hier is de rest van mijn code die ik gebruik:
[ code verwijderd ]

Ook vind ik het geen probleem als iemand me wilt helpen via Skype. Omdat ik dat ook waardeer :).
Werk je op een lokale server? Je moet wel een mailserver (Tomcat) hebben en die (goed) instellen


Verder misschien een spamfilter ofzo? Je knalt ook de hele phpversion() in de headers. Lijkt me een beetje overbodig.
pi_143413048
quote:
0s.gif Op donderdag 14 augustus 2014 12:11 schreef remi1986 het volgende:

[..]

Werk je op een lokale server? Je moet wel een mailserver (Tomcat) hebben en die (goed) instellen

Verder misschien een spamfilter ofzo? Je knalt ook de hele phpversion() in de headers. Lijkt me een beetje overbodig.
Nee ik heb hem op een host staan bij 000webhost. Maar als er geen oplossing dan kan ik het beter laten. Ik ben nu toch die code aan het veranderen.
pi_143416484
quote:
0s.gif Op donderdag 14 augustus 2014 14:39 schreef superky het volgende:

[..]

Nee ik heb hem op een host staan bij 000webhost. Maar als er geen oplossing dan kan ik het beter laten. Ik ben nu toch die code aan het veranderen.
Swiftmailer was al gegeven. PHPMailer is ook nog een alternatief. Bespaart je een hoop ellende :)
pi_143418537
quote:
0s.gif Op donderdag 14 augustus 2014 12:11 schreef remi1986 het volgende:

[..]

Werk je op een lokale server? Je moet wel een mailserver (Tomcat) hebben en die (goed) instellen

Verder misschien een spamfilter ofzo? Je knalt ook de hele phpversion() in de headers. Lijkt me een beetje overbodig.
Tomcat? Apache tomcat bedoel je, das geen mailer. Verder wil je helemaal niet echt mailen in je tests. En als je dat doet wil je dat postfix oid je mail lokaal afvangt.
In theory there is no difference between theory and practice. In practice there is.
pi_143418955
quote:
0s.gif Op donderdag 14 augustus 2014 17:22 schreef slacker_nl het volgende:

[..]

Tomcat? Apache tomcat bedoel je, das geen mailer. Verder wil je helemaal niet echt mailen in je tests. En als je dat doet wil je dat postfix oid je mail lokaal afvangt.
Postfix ja klopt.

Naja of je iets wel of niet wil ga ik niet op in. Ik test iets liever een keer extra.
pi_143419168
quote:
0s.gif Op donderdag 14 augustus 2014 17:35 schreef remi1986 het volgende:
Postfix ja klopt.

Naja of je iets wel of niet wil ga ik niet op in. Ik test iets liever een keer extra.
Je gaat in je unit test niet echt mailen. Je integratietests zullen dat wel doen, maar in principe zal je in je testfiles gewoon een $mailer->send() uitvoeren en je wilt weten dat dat aangeroepen wordt, in je testfile zal je dan zelf een $mailer object hebben met dezelfde API en dan kan je daarna dingen doen als:

1
2
3
4
5
6
7
8
9
10
11
12
my $mailer = Mocked::Mailer->new();
{
    local *Mocked::Mailer::send = sub { return 1 };
    my $class = My::Class->new(mailer => $mailer);
    $class->do_mail_please();
}


    local *Mocked::Mailer::send = sub { die "I failed to send a mail" };
    my $class = My::Class->new(mailer => $mailer);
    dies_ok(sub { $class->do_mail_please(); }, qr/I failed to send a mail/, "Our mailer has died a horrible death");
}

Dat wil je weten, niet of je mailer wel werkt. Als je postfix verkeerd geconfigureerd is en je mail komt niet aan dan weet je nog niet of het aan je code ligt of aan je postfix. Das een andere test.
In theory there is no difference between theory and practice. In practice there is.
pi_143419533
quote:
0s.gif Op donderdag 14 augustus 2014 17:43 schreef slacker_nl het volgende:

[..]

Je gaat in je unit test niet echt mailen. Je integratietests zullen dat wel doen, maar in principe zal je in je testfiles gewoon een $mailer->send() uitvoeren en je wilt weten dat dat aangeroepen wordt, in je testfile zal je dan zelf een $mailer object hebben met dezelfde API en dan kan je daarna dingen doen als:
[ code verwijderd ]

Dat wil je weten, niet of je mailer wel werkt. Als je postfix verkeerd geconfigureerd is en je mail komt niet aan dan weet je nog niet of het aan je code ligt of aan je postfix. Das een andere test.
Oke, maar zo zei je dat niet.

En tevens heb je toch zo door of de fout in de code zit of niet. Kwestie van beetje kunnen debuggen.
pi_143419953
quote:
0s.gif Op donderdag 14 augustus 2014 17:56 schreef remi1986 het volgende:

[..]

Oke, maar zo zei je dat niet.

En tevens heb je toch zo door of de fout in de code zit of niet. Kwestie van beetje kunnen debuggen.
De fout zit altijd in je code, waar in je code is de vraag.. :)
In theory there is no difference between theory and practice. In practice there is.
pi_143420357
quote:
0s.gif Op donderdag 14 augustus 2014 18:11 schreef slacker_nl het volgende:

[..]

De fout zit altijd in je code, waar in je code is de vraag.. :)
prima, ga die discussie niet eens voeren ^O^
pi_143420399
quote:
0s.gif Op woensdag 13 augustus 2014 20:03 schreef superky het volgende:

Verder heb ik de headers ook aangepast maar alsnog krijg ik geen mailtje binnen :(. Zie hier de aanpassing:
[ code verwijderd ]

Headers moet je scheiden met \r\n, niet alleen \n (volgens de mailspecs). Verder is html mail lastiger dan plain text mail en zijn lange regels ook een mogelijk probleem. Dus in plaats van een kilometer aan html zou ik eerst eens een gewone korte regel als plain text versturen (en dus ook geen html headers). Als dat goed werkt, kun je stap voor stap verder gaan met complexere dingen proberen.

Mail() geeft true terug als het afleveren bij de verzendende server (die je hebt ingesteld in je php config) is gelukt. Da's vergelijkbaar met dat je iemand vraagt om een brief voor je te posten en hij reageert met "leg maar op m'n bureau". Al gaat die brief daarna rechtstreeks de papierversnipperaar in, je hebt hem wel kunnen neerleggen. En die verdere terugkoppeling krijg je niet.

Of, zoals al vaker is voorgesteld, het hele mailgebeuren uitbesteden aan iets als Swiftmailer.
pi_143421646
Iemand ervaring met codeigniter? :P
Redacted
  donderdag 14 augustus 2014 @ 20:11:02 #197
91039 mstx
2x1/2 = 1/2 x 1/2
pi_143423498
quote:
0s.gif Op donderdag 14 augustus 2014 19:14 schreef cablegunmaster het volgende:
Iemand ervaring met codeigniter? :P
:Y
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_143423581
quote:
1s.gif Op donderdag 14 augustus 2014 20:11 schreef mstx het volgende:

[..]

:Y
Korte vraag ik zat met een opvraging vraag, sql en alles hoe voer ik het in ? Daar bedoel ik mee met de complexe sql query's want je zit met een query schrijver? :? ( Inner joins ) en limits, waar de documentatie hierover te vinden is.
Redacted
  donderdag 14 augustus 2014 @ 20:29:19 #199
91039 mstx
2x1/2 = 1/2 x 1/2
pi_143424219
quote:
0s.gif Op donderdag 14 augustus 2014 20:13 schreef cablegunmaster het volgende:

[..]

Korte vraag ik zat met een opvraging vraag, sql en alles hoe voer ik het in ? Daar bedoel ik mee met de complexe sql query's want je zit met een query schrijver? :? ( Inner joins ) en limits, waar de documentatie hierover te vinden is.
Dit? https://ellislab.com/code(...)e/active_record.html
Zelf nooit gebruikt, ik vind dat echt lelijk.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  zaterdag 16 augustus 2014 @ 09:20:17 #200
355592 Djurres
Knowledge, Fuck it.
pi_143472272
Hoi lieve kinders. Jullie zijn vast veel beter met PHP als dat ik ben, maar toch ben ik lekker aan het hobbyen en heb een probleem.

Ik wil graag een aantal PDF bestanden (notulen) op slaan in de blob van een mysql database. Nu lukt dat allemaal aardig, en kan ik dit ook weergeven. Hier zit het probleem niet in.

Maar op het moment dat ik het bestand uit de database wil halen, dan krijg ik een File ID does not exist error. Ik heb een stukkie code van een tutorial gejat uiteraard, want ik kan nog niet van scratch beginnen. Wel snap ik de code, maar hier kan ik eigenlijk helemaal niet uitkomen.

De daadwerkelijke error die ik krijg staat in de foutafhandeling van get_file.php op lijn 40.

Hieronder de files die met het systeem te maken hebben

notulenu.php (hier staat het upload form'pje, niet echt van belang aangezien dit werkt)
add_file.php (verwerken van verstuurde notulen)
files.php (wat is er opgeslagen in de db?)
get_file.php (ophalen van de notulen uit de database)

get_file.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
    
// Make sure an ID was passed
    
if(isset($_GET['id'])) {
    
// Get the ID
        
$id intval($_GET['id']);
     
        
// Make sure the ID is in fact a valid ID
        
if($id <= 0) {
            die(
'The ID is invalid!');
        }
        else {
            
// Connect to the database
            
$dbLink = new mysqli('127.0.0.1''''''');
            if(
mysqli_connect_errno()) {
                die(
"MySQL connection failed: "mysqli_connect_error());
            }
     
            
// Fetch the file information
            
$query "
                SELECT `mime`, `name`, `size`, `data`
                FROM `filejtc`
                WHERE `id` = 
{$id}";
            
$result $dbLink->query($query);
     
            if(
$result) {
                
// Make sure the result is valid
                
if($result->num_rows == 1) {
                
// Get the row
                    
$row mysqli_fetch_assoc($result);
     
                  
//print headers
                    
header("Content-Type: "$row['mime']);
                    
header("Content-Length: "$row['size']);
                    
header("Content-Disposition: attachment; filename="$row['name']);
    
                    
// Print data
                    
echo $row['data'];
                }
                else {
                    echo 
'Error! No image exists with that ID.';
                }
     
                
// Free the mysqli resources
                
@mysqli_free_result($result);
            }
            else {
                echo 
"Error! Query failed: <pre>{$dbLink->error}</pre>";
            }
            @
mysqli_close($dbLink);
        }
    }
    else {
        echo 
'Error! No ID was passed.';
    }
    
?>

files.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
    
// Connect to the database
    
$dbLink = new mysqli('127.0.0.1''''''');
    if(
mysqli_connect_errno()) {
        die(
"MySQL connection failed: "mysqli_connect_error());
    }
     
    
// Query for a list of all existing files
    
$sql 'SELECT `id`, `name`, `mime`, `size`, `created` FROM `filejtc`';
    
$result $dbLink->query($sql);
     
    
// Check if it was successfull
    
if($result) {
        
// Make sure there are some files in there
        
if($result->num_rows == 0) {
            echo 
'<p>Er zitten nog geen bestanden in de database!</p>';
        }
        else {
            
// Print the top of a table
            
echo '<table width="100%">
                    <tr>
                        <td><b>Naam:</b></td>
                        <td><b>Soort bestand:</b></td>
                        <td><b>Grootte (bytes)</b></td>
                        <td><b>Aangemaakt</b></td>
                        <td><b>&nbsp;</b></td>
                    </tr>'
;
     
            
// Print each file
            
while($row $result->fetch_assoc()) {
                echo 
"
                    <tr>
                        <td>
{$row['name']}</td>
                        <td>
{$row['mime']}</td>
                        <td>
{$row['size']}</td>
                        <td>
{$row['created']}</td>
                        <td><a href='get_file.php?id=
{$row['id']}'>Download</a></td>
                    </tr>"
;
            }
     
            
// Close table
            
echo '</table>';
        }
     
        
// Free the result
        
$result->free();
    }
    else
    {
        echo 
'Error! SQL query failed:';
        echo 
"<pre>{$dbLink->error}</pre>";
    }
     
    
// Close the mysql connection
    
$dbLink->close();
    
?>

add_file.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
    <?php
    
// Check if a file has been uploaded
    
if(isset($_FILES['uploaded_file'])) {
        
// Make sure the file was sent without errors
        
if($_FILES['uploaded_file']['error'] == 0) {
            
// Connect to the database
            
$dbLink = new mysqli('''''''');
            if(
mysqli_connect_errno()) {
                die(
"MySQL connection failed: "mysqli_connect_error());
            }
     
            
// Gather all required data
            
$name $dbLink->real_escape_string($_FILES['uploaded_file']['name']);
            
$mime $dbLink->real_escape_string($_FILES['uploaded_file']['type']);
            
$data $dbLink->real_escape_string(file_get_contents($_FILES  ['uploaded_file']['tmp_name']));
            
$size intval($_FILES['uploaded_file']['size']);
     
            
// Create the SQL query
            
$query "
                INSERT INTO `filejtc` (
                    `name`, `mime`, `size`, `data`, `created`
                )
                VALUES (
                    '
{$name}', '{$mime}', {$size}, '{$data}', NOW()
                )"
;
     
            
// Execute the query
            
$result $dbLink->query($query);
     
            
// Check if it was successfull
            
if($result) {
                echo 
'Succes! Het bestand is toegevoegt aan de database!';
            }
            else {
                echo 
'Error! Er is wat fout gegaan bij het invoegen aan de database! Probeer opnieuw!'
                   
"<pre>{$dbLink->error}</pre>";
            }
        }
        else {
            echo 
'Er is wat fout gegaan tijdens het uploaden, probeer opnieuw! '
               
'Error code: 'intval($_FILES['uploaded_file']['error']);
        }
     
        
// Close the mysql connection
        
$dbLink->close();
    }
    else {
        echo 
'Error! Er is geen bestand geselecteerd!';
    }
     
    
// Echo a link back to the main page
    
echo '<p>Klik <a href="../jtc/files.php">HIER</a> om verder te gaan!</p>';
    
?>


[ Bericht 9% gewijzigd door Djurres op 16-08-2014 10:28:41 ]
Tadumtiedum.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')