require 'setup.php'; $setup = new setup();quote:Op woensdag 4 juni 2014 18:33 schreef Tijn het volgende:
[..]
Nee, dat zet je in een file die je inlaadt voordat je deze functionaliteit wilt gebruiken. Daarna "kent" je hele app de autoloader en kan-ie automatisch files includen op het moment dat je een class aanroept.
Nou, dan is het super makkelijk te configureren. Check even de Composer site.quote:
Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.quote:Op woensdag 4 juni 2014 18:31 schreef n8n het volgende:
[ code verwijderd ]
Hier staat dan (van php.net) een functie die een autoload doet, met dit moet je dan op elke pagina "__autoload($class_a);" zetten?
En dat doet ie aan de hand van je....? set_include_path?quote:Op woensdag 4 juni 2014 18:33 schreef Tijn het volgende:
[..]
Nee, dat zet je in een file die je inlaadt voordat je deze functionaliteit wilt gebruiken. Daarna "kent" je hele app de autoloader en kan-ie automatisch files includen op het moment dat je een class aanroept.
quote:Op woensdag 4 juni 2014 19:16 schreef robin007bond het volgende:
[..]
Nou, dan is het super makkelijk te configureren. Check even de Composer site.
[..]
Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.
Maar ik raad je aan om Composer een autoloader te laten genereren. Veel makkelijker.
1 2 3 4 5 6 | <?php function __autoload($classname) { $filename = "classes/". strtolower($classname) .".class.php"; require($filename); } ?> |
Oo waarom niet?quote:Op woensdag 4 juni 2014 19:37 schreef robin007bond het volgende:
[..]
Tsja, maar dan heb je je project niet aan de PSR-standaarden.
en om aan te roepen build je een object met $var = new classname(); ?quote:
Ja, bijvoorbeeldquote:Op woensdag 4 juni 2014 20:03 schreef n8n het volgende:
[..]
en om aan te roepen build je een object met $var = new classname(); ?
1 2 3 | <?php $user = new User(); ?> |
ga ik even uitzoeken dan. Dacht dat je op een package doelde.quote:Op woensdag 4 juni 2014 19:16 schreef robin007bond het volgende:
[..]
Nou, dan is het super makkelijk te configureren. Check even de Composer site.
[..]
Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.
Maar ik raad je aan om Composer een autoloader te laten genereren. Veel makkelijker.
en met deze functie moet de naam van het bestand de naam van de class zijn (dus in principe 1 class per file wat ik al heb).quote:Op woensdag 4 juni 2014 20:06 schreef esv7 het volgende:
[..]
Ja, bijvoorbeeld
[ code verwijderd ]
, zolang ik de class User in de map classes heb staan.
Bij mij is het zo dat de controller functies uit het model gebruikt, en alleen in het model is er communicatie met de database.quote:Op woensdag 4 juni 2014 20:07 schreef n8n het volgende:
[..]
ga ik even uitzoeken dan. Dacht dat je op een package doelde.
Heb nu-denk ik-wel laravel meer door en het hele mvc gebeuren meer door. Voel me een stukje verzekerden dat het wel gaat lukken als ik het oppak.
Met de controller spreek je met de database, met de route bepaal je de views per url en de views zijn templates. Klopt dat een beetje in een nutshell?
dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.quote:Op woensdag 4 juni 2014 20:09 schreef esv7 het volgende:
[..]
Bij mij is het zo dat de controller functies uit het model gebruikt, en alleen in het model is er communicatie met de database.
Ik heb de autoloader in mijn boot.php, dus ik hoef in geen van mijn controllers classes te includen.
Ik heb geen ervaring met Laravel, maar in de klassieke MVC-opzet heb je een model dat zorgt voor een representatie van je data. Daar heb je meestal het database-gebeuren in (in het geval dat die data in een database staat natuurlijk), niet in de controller.quote:Op woensdag 4 juni 2014 20:07 schreef n8n het volgende:
[..]
Met de controller spreek je met de database, met de route bepaal je de views per url en de views zijn templates. Klopt dat een beetje in een nutshell?
Arrays worden in PHP ook veel gebruikt.quote:Op woensdag 4 juni 2014 20:12 schreef n8n het volgende:
[..]
dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.
Bij mij maak ik aan de hand van een class(model) een object(controller), vervolgens roep ik met dat object een method aan uit de class waarvan deze gemaakt is.quote:Op woensdag 4 juni 2014 20:12 schreef n8n het volgende:
[..]
dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.
dat probeer ik nu een beetje te doen, mis dus nog een controller want dat doe ik nu in de templates (wat tegen het hele idee in gaat).quote:Op woensdag 4 juni 2014 20:12 schreef Tijn het volgende:
[..]
Ik heb geen ervaring met Laravel, maar in de klassieke MVC-opzet heb je een model dat zorgt voor een representatie van je data. Daar heb je meestal het database-gebeuren in (in het geval dat die data in een database staat natuurlijk), niet in de controller.
Het idee van de meeste frameworks is dat een router ervoor zorgt dat op basis van de url de juiste controllerfunctie wordt aangeroepen. In de controllerfunctie wordt dan data verzameld met behulp van een of meerdere models en uiteindelijk wordt een view aangeroepen waarin de HTML zit die je op de pagina wilt tonen.
Sommige simpele dingen kunnen wel in een template. Maar zodra er iets met je data moet gebeuren dat verder gaat dan een simpel regeltje, zou ik het verplaatsen naar de controller. Je wilt je templates qua programmeerwerk zo simpel mogelijk houden.quote:Op woensdag 4 juni 2014 20:14 schreef n8n het volgende:
[..]
dat probeer ik nu een beetje te doen, mis dus nog een controller want dat doe ik nu in de templates (wat tegen het hele idee in gaat).
als leek vind ik het trouwens raar dat db queries er anders zijn dan array 'queries' terwijl beide een soort tabel met data zijn.quote:
Wat?quote:Op woensdag 4 juni 2014 20:16 schreef n8n het volgende:
[..]
als leek vind ik het trouwens raar dat db queries er anders zijn dan array 'queries' terwijl beide een soort tabel met data zijn.
Dat bestaat wel, LINQ en aanverwanten.quote:Op woensdag 4 juni 2014 20:16 schreef n8n het volgende:
[..]
als leek vind ik het trouwens raar dat db queries er anders zijn dan array 'queries' terwijl beide een soort tabel met data zijn.
opzich heb ik alleen het ophalen van data, hou het voor nu maar zo om het ff duidelijk te houden. Heb ook maar 4 views oid.quote:Op woensdag 4 juni 2014 20:15 schreef Tijn het volgende:
[..]
Sommige simpele dingen kunnen wel in een template. Maar zodra er iets met je data moet gebeuren dat verder gaat dan een simpel regeltje, zou ik het verplaatsen naar de controller. Je wilt je templates qua programmeerwerk zo simpel mogelijk houden.
dat je db acties heel anders schrijft dan dezelfde zoekactie binnen een array. Datahierarchie is toch vergelijkbaar.quote:
Daar zijn inderdaad wel abstractielagen voor (zoals LINQ), maar het is toch logisch dat queries op je database anders werken dan iets zoeken binnen een variabele binnen je eigen applicatie. MySQL spreekt natuurlijk geen PHP en PHP spreekt geen SQL.quote:Op woensdag 4 juni 2014 20:18 schreef n8n het volgende:
[..]
dat je db acties heel anders schrijft dan dezelfde zoekactie binnen een array. Datahierarchie is toch vergelijkbaar.
Weer op de computer en het werkt Heb nu alleen 2 keer het object maar dat lijkt me niet uit te maken (als de errors me niet om de oren slaan). Superchill dit.quote:
1 2 3 4 5 6 7 | <?php session_start(); $_SESSION = array(); session_destroy(); if(isset($_SESSION)) var_dump("oke"); ?> |
quote:Op woensdag 4 juni 2014 20:26 schreef esv7 het volgende:
[ code verwijderd ]
Waarom krijg ik hier de var_dump('oke') te zien?
1 2 3 4 5 6 7 | <?php session_start(); $_SESSION = array(); session_destroy(); if($_SESSION) var_dump("oke"); ?> |
1 2 | array (size=0) empty |
quote:Op woensdag 4 juni 2014 20:43 schreef n8n het volgende:
[..]
[ code verwijderd ]
Zo doet ie het niet meer, volgens mij is $_SESSION sowieso een array, wel leeg na te hebben destroyed. als je met jouw code "var_dump($_SESSION);" doet krijg je terug dat het een lege array is.
[ code verwijderd ]
Aaah oké, bedankt.quote:Op woensdag 4 juni 2014 20:53 schreef Tijn het volgende:
$_SESSION is een superglobal van PHP, die bestaat altijd, net zoals $_SERVER of $_REQUEST.
IP-adres lijkt me alleen raadzaam als je zeker weet dat de gebruiker op dezelfde plek blijft met hetzelfde IP-adres (wat volgens mij spaarzaam is).quote:Op woensdag 4 juni 2014 20:55 schreef esv7 het volgende:
[..]
[..]
Aaah oké, bedankt.
Een vraagje betreffend de veiligheid,
een sessie id moet encrypted zijn toch? Ik zat er verder aan te denken deze nog te linken aan het ip adres van de login, verder nog dingen?
Ja klopt.quote:Op woensdag 4 juni 2014 21:55 schreef zoem het volgende:
Encrypten? Je bedoelt waarschijnlijk hashen? Het zijn twee verschillende dingen.
Composer kan ook autoloaders maken voor bestanden die niet aan PSR-standaarden voldoen. Dat wordt uiteindelijk gewoon een array met als key de class name (inclusief eventuele namespace) en als value het pad waar de file staat die moet worden ingeladen.quote:Op woensdag 4 juni 2014 19:37 schreef robin007bond het volgende:
[..]
Tsja, maar dan heb je je project niet aan de PSR-standaarden.
Het geeft aan hoe uniek bepaalde gegevens zijn. Bij een hoge waarde is iedere waarde in die kolom unieke, bij een lage zijn ze allemaal gelijk. De database gebruikt dit om bij het filteren/zoeken een beter "query plan" te vormen. In de praktijk wil je een hoge kardinaliteit om zo sneller te kunnen zoeken.quote:Op donderdag 5 juni 2014 09:56 schreef cablegunmaster het volgende:
Wie kan me uitleggen in normale taal wat kardinaliteit inhoud, ik zit nu met een kardinaliteit van 16 op een unique table is dit hoog laag? aangezien ik de Wikipedia pagina hierover half snap iets met orde en verbindingheid van de tabel?
Je zou die string ook bij in de array kunnen stoppen, met array_unshift() of array_push()quote:Op donderdag 5 juni 2014 23:05 schreef esv7 het volgende:
Ik moet een functie alle elementen uit een Array en een String meegeven als argumenten, kan ik daar de functie call_user_func_array voor gebruiken op een manier?
Alle elementen uit een Array meegeven lukt wel, alleen daarnaast nog een String meegeven krijg ik niet voor elkaar.
Ty, heb hem werkend gekregen:).quote:Op donderdag 5 juni 2014 23:46 schreef Light het volgende:
[..]
Je zou die string ook bij in de array kunnen stoppen, met array_unshift() of array_push()
Dat is wel erg vreemd. Als je kijkt naar de directory waar de XAMP-installatie van PHP staat, welk versienummer zie je dan? Weet je zeker dat je XAMP-server draait en niet wat anders? Oude installatie deinstalleren en even opnieuw proberen?quote:Op zondag 8 juni 2014 18:05 schreef esv7 het volgende:
Zojuist heb ik een nieuwe XAMPP gedownload, versie 1.8.3-4 waarbij stond php versie 5.5. Echter krijg ik nu wanneer ik phpversion() echo 5.4.22 te zien? Hoe krijg ik php versie 5.5?
Net even gekeken, ik had de nieuwe xampp in een andere folder geïnstalleerd, maar toen ik bij de phpinfo.php ging kijken zag ik dat die de php vanuit de eerder geïnstalleerde xampp pakte. , dat terwijl die andere files wel uit de nieuwe xampp installatie pakt.quote:Op zondag 8 juni 2014 19:25 schreef robin007bond het volgende:
[..]
Dat is wel erg vreemd. Als je kijkt naar de directory waar de XAMP-installatie van PHP staat, welk versienummer zie je dan? Weet je zeker dat je XAMP-server draait en niet wat anders? Oude installatie deinstalleren en even opnieuw proberen?
Voortaan gewoon je oude installatie helemaal verwijderen dus. Scheelt weer eventueel gezeur.quote:Op zondag 8 juni 2014 19:32 schreef esv7 het volgende:
[..]
Net even gekeken, ik had de nieuwe xampp in een andere folder geïnstalleerd, maar toen ik bij de phpinfo.php ging kijken zag ik dat die de php vanuit de eerder geïnstalleerde xampp pakte. , dat terwijl die andere files wel uit de nieuwe xampp installatie pakt.
Yup,quote:Op zondag 8 juni 2014 19:33 schreef robin007bond het volgende:
[..]
Voortaan gewoon je oude installatie helemaal verwijderen dus. Scheelt weer eventueel gezeur.
Hoe moet ik dat zien?quote:Op zondag 8 juni 2014 21:00 schreef robin007bond het volgende:
Overigens vind ik de anonieme functies in PHP 5+ erg goed werken. Je kunt nu netjes een array met functies maken. Erg handig voor het refactoren van switch-statements bijvoorbeeld.
Normaal zou je wellicht zoiets hebben:quote:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php switch($string) { case "Dit": // Voer hier dingen uit break; case "Dat": // Voer hier dingen uit break; case "Bmgaegrmaegaermg": // Voer hier dingen uit break; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php class Test { private $voorbeeld; public function __construct() { $voorbeeld = array('Dit' => function(){ // Voer hier dingen uit }, 'Dat' => function() { // Voer hier dingen uit }); } public function voerOpdrachtUit($string) { /* * Hiermee wordt de methode in de array aangeroepen. * Eventueel kun je ook parameters meegeven */ call_user_func($this->voorbeeld[$string]); } } |
Ik zou dan toch gewoon gaan voor een class met verschillende functies en dan vanuit een case-statement een functie aanroepen. Dan is duidelijker wat er wordt aangeroepen als je de code leest (en dat doe je vaker dan schrijven).quote:Op woensdag 11 juni 2014 19:23 schreef robin007bond het volgende:
[..]
Normaal zou je wellicht zoiets hebben:
[ code verwijderd ]
In plaats daarvan kun je een object maken met een array erin.
[ code verwijderd ]
Voordeel is dat je de array met functies uit kan breiden met andere zaken. Wil je bijvoorbeeld een property bij 'Dit' hebben, dan geef je simpelweg een array in een array mee.
Maar mooier kun je dit soort dingen doen met polymorfisme en het type achterhalen. Een abstracte superklasse en allemaal subklasses die de juiste methodes dan uitvoeren.
Maar die desbetreffende switch kun je niet elders aanroepen. Zo'n array met methodes wel.quote:Op woensdag 11 juni 2014 22:39 schreef Light het volgende:
[..]
Ik zou dan toch gewoon gaan voor een class met verschillende functies en dan vanuit een case-statement een functie aanroepen. Dan is duidelijker wat er wordt aangeroepen als je de code leest (en dat doe je vaker dan schrijven).
Waarom zou je dat willen?quote:Op donderdag 12 juni 2014 18:33 schreef robin007bond het volgende:
[..]
Maar die desbetreffende switch kun je niet elders aanroepen. Zo'n array met methodes wel.
Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.quote:
En waarom zou dat niet met een class kunnen?quote:Op donderdag 12 juni 2014 18:50 schreef robin007bond het volgende:
[..]
Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.
Dan zet je die switch in een functie, en die kun je wel makkelijk vanaf meerdere plekken aanroepen.quote:Op donderdag 12 juni 2014 18:50 schreef robin007bond het volgende:
[..]
Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.
Je las mijn gedachtenquote:Op donderdag 12 juni 2014 22:20 schreef Light het volgende:
[..]
Dan zet je die switch in een functie, en die kun je wel makkelijk vanaf meerdere plekken aanroepen.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Ben al twee dagen bezig om de timeline werkend te krijgen, maar het lukt me niet. .
Ik heb geprobeerd om de onderstaande voorbeelden te gebruiken, maar ook dan kom ik niet verder:
- http://stackoverflow.com/(...)connect-to-php-mysql
- https://groups.google.com(...)msCl_Bw/cIoRT8gY40AJ
Dus... Iemand?
[ Bericht 1% gewijzigd door #ANONIEM op 14-06-2014 00:08:55 ]
1 | ["ONZ","Onzin voor je leven!","1382704503079","1382704509179"] |
1 | [ 'Washington', new Date(1789, 3, 29), new Date(1797, 2, 3) ] |
Ik weet dat het aan de dates ligt. Ik heb de afgelopen dagen van alles geprobeerd, maar niets lukt. De derde en de vierde kolom (eigenlijk 2 en 3, want tellen begint bij 0) kunnen number, date of datetime zijn. Hoopte 'm met 'number' en Epoch werkend te krijgen... Heb ook verschillende vormen van 'new Date(...)' geprobeerd, maar ook daarmee lukte het niet.quote:Op zaterdag 14 juni 2014 02:05 schreef Anoniemos het volgende:
Het probleem zit hem in de teruggekeerde array, de data dient zo te zien (heb hem even hier thuis opgezet om te testen) dates te zijn. Bij jou zijn het unix timestamps (13......) en geen dates. Dus die dien je nog om te zetten naar dates.
Jouw response:
[ code verwijderd ]
De code volgens de timeline site:
[ code verwijderd ]
Hier moet je dus naar gaan kijken om het op te lossen, je dient het om te zetten naar dates en niet als timestamp er in te knallen!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | array(3) { [0]=> object(stdClass)#31 (5) { ["id"]=> string(3) "275" ["amount"]=> string(1) "20" ["user_id"]=> string(1) "2" } [1]=> object(stdClass)#32 (5) { ["id"]=> string(4) "1252" ["amount"]=> string(1) "10" ["user_id"]=> string(1) "5" } [2]=> object(stdClass)#33 (5) { ["id"]=> string(4) "1252" ["amount"]=> string(1) "30" ["user_id"]=> string(1) "1" } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | { "products" : [ { "product_data" : [ { "amount" : 20, "user_id" : 2 } ], "product_id" : 275 }, { "product_data" : [ { "amount" : 30, "user_id" : 1 }, { "amount" : 10, "user_id" : 5 } ], "product_id" : 1252 } ] } |
Wat wil je precies gaan doen met de resulterende array? Moet dit bijvoorbeeld in een database of nog verder verwerkt worden? Het is imo niet zo heel ingewikkeld om de array om te bouwen echter vraag ik me af wat de reden is dat de eerste niet voldoet.quote:Op zaterdag 14 juni 2014 19:50 schreef pascal08 het volgende:
Een lastige:
Stel ik heb de volgende data:
[ code verwijderd ]
Hoe krijg ik dit dan als een array waarin 'id' zijn samengevoegd en 'amount' en 'user_id' als subarray's.
Zo ongeveer:
[ code verwijderd ]
Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.quote:Op zaterdag 14 juni 2014 20:12 schreef bondage het volgende:
[..]
Wat wil je precies gaan doen met de resulterende array? Moet dit bijvoorbeeld in een database of nog verder verwerkt worden? Het is imo niet zo heel ingewikkeld om de array om te bouwen echter vraag ik me af wat de reden is dat de eerste niet voldoet.
1 2 3 4 | *user_id* *user_id* *user_id* *Product_id* *amount* *amount* *amount* *Product_id* *amount* *amount* *amount* *Product_id* *amount* *amount* *amount* |
Ah, ja, dat is een goede reden om hem om te zetten inderdaad. Ik zal eens ff kijken of ik iets kan fixen. Of iemand anders moet me al voor zijnquote:Op zaterdag 14 juni 2014 20:25 schreef pascal08 het volgende:
[..]
Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.
De tabel ziet er ongeveer zo uit:
[ code verwijderd ]
Bedankt.quote:Op zaterdag 14 juni 2014 20:27 schreef bondage het volgende:
[..]
Ah, ja, dat is een goede reden om hem om te zetten inderdaad. Ik zal eens ff kijken of ik iets kan fixen. Of iemand anders moet me al voor zijn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | array(2) { ["id"]=> array(3) { [0]=> string(4) "1252" [1]=> string(4) "1252" [2]=> string(3) "275" } ["product_data"]=> array(2) { ["user_id"]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" } ["amount"]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" } }} |
Wat een rare tabel en wat is het voordeel van het anders opstellen van de array?quote:Op zaterdag 14 juni 2014 20:25 schreef pascal08 het volgende:
[..]
Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.
De tabel ziet er ongeveer zo uit:
[ code verwijderd ]
De velden hebben natuurlijk niet allemaal dezelfde waarde hè.quote:Op zaterdag 14 juni 2014 20:30 schreef Maringo het volgende:
[..]
Wat een rare tabel en wat is het voordeel van het anders opstellen van de array?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | array(3) { [0]=> object(stdClass)#31 (5) { ["id"]=> string(3) "275" ["amount"]=> string(1) "20" ["user_id"]=> string(1) "2" } [1]=> object(stdClass)#32 (5) { ["id"]=> string(4) "1252" ["amount"]=> string(1) "10" ["user_id"]=> string(1) "5" } [2]=> object(stdClass)#33 (5) { ["id"]=> string(4) "1252" ["amount"]=> string(1) "30" ["user_id"]=> string(1) "1" } } |
1 2 3 4 | 1 5 2 1252 30 10 - 275 - - 20 |
DataTables wil het in het omgezette formaat hebben toch? Ik heb geen ervaring met DataTables, echter kan ik me voorstellen dat deze een array met een bepaalde opbouw verwacht.quote:Op zaterdag 14 juni 2014 20:33 schreef pascal08 het volgende:
[..]
De velden hebben natuurlijk niet allemaal dezelfde waarde hè.
Dit:
[ code verwijderd ]
Zo in dit moeten resulteren:
[ code verwijderd ]
Maar misschien ben ik wel hele verkeerd bezig hoor. Geen idee.
Is dit wat er uiteindelijk uit moet komen?quote:Op zaterdag 14 juni 2014 20:29 schreef pascal08 het volgende:
[..]
Bedankt.
Ik heb zelf al gekloot met array_merge_recursive() maar ik krijg het niet beter dan dit:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | Array ( [products] => Array ( [0] => Array ( [product_data] => Array ( [0] => Array ( [amount] => 20 [user_id] => 2 ) ) [product_id] => 275 ) [1] => Array ( [product_data] => Array ( [0] => Array ( [amount] => 30 [user_id] => 1 ) [1] => Array ( [amount] => 10 [user_id] => 5 ) ) [product_id] => 1252 ) ) ) |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |