abonnement Unibet Coolblue
  vrijdag 27 september 2013 @ 23:13:38 #1
118585 Crutch
Filantroop || Taalzwengel
pi_131633575


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!
Je moeder is een hamster
pi_131633616
quote:
0s.gif Op vrijdag 27 september 2013 23:12 schreef Crutch het volgende:

[..]

Een template engine gebruiken?
PHP is een prima template engine :)
  vrijdag 27 september 2013 @ 23:16:06 #3
118585 Crutch
Filantroop || Taalzwengel
pi_131633658
quote:
0s.gif Op vrijdag 27 september 2013 23:14 schreef Light het volgende:

[..]

PHP is een prima template engine :)
Ik echo en print niets meer tegenwoordig.
Je moeder is een hamster
pi_131633970
quote:
0s.gif Op vrijdag 27 september 2013 22:48 schreef xaban06 het volgende:
Hoe moet je PHP en HTML apart houden? Vooral met loops vind ik het lastig.

Stukje php, daaroder html, met php er door heen, onleesbaar.
Sowieso eerst zorgen dat je alle data opgehaald hebt, met alleen php en eventueel mysql. Dus geen output geven als je nog data uit de database aan het verwerken bent.

Als je alles opgehaald hebt, kun je een template-bestand includen (met require, dat wel.) Daar gebruik je html en een klein beetje php om de data die je hebt opgehaald weer te geven. Bekijk dan ook eens de alternatieve syntax.

En ja, dat kan ongetwijfeld verbeterd worden. Het is een eerste stap. Data verzamelen en de daadwerkelijke output regelen zijn twee verschillende dingen, als je die probeert samen te voegen wordt het al snel een onleesbare en onwerkbare brij.
pi_131634036
quote:
0s.gif Op vrijdag 27 september 2013 23:16 schreef Crutch het volgende:

[..]

Ik echo en print niets meer tegenwoordig.
1
2
3
4
<?php
$output 
'Dat hoeft ook niet';
exit(
$output);
?>
;)
  vrijdag 27 september 2013 @ 23:29:13 #6
118585 Crutch
Filantroop || Taalzwengel
pi_131634059
quote:
0s.gif Op vrijdag 27 september 2013 23:28 schreef Light het volgende:

[..]
[ code verwijderd ]

;)
:') ok ok ok
Je moeder is een hamster
  vrijdag 27 september 2013 @ 23:29:52 #7
118585 Crutch
Filantroop || Taalzwengel
pi_131634083
quote:
0s.gif Op vrijdag 27 september 2013 23:28 schreef Light het volgende:

[..]
[ code verwijderd ]

;)
Kan ook wel met die($output); zeker? hihaho
Je moeder is een hamster
pi_131725600
Niet echt PHP gerelateerd, maar wist niet waar ik het anders moet plaatsen.

Ik wil dmv RewriteEngine/RewriteRule nette URL's maken.

http://www.voorbeed.com/index.php?a=nieuws&b=12
moet worden
http://www.voorbeed.com/nieuws/12/titel-van-artikel.html

Dit doe ik nu dmv:
1
2
3
4
5
6
7
8
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) $1 [L]
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1

In de PHP scripts vang ik alles op in $q, deze wordt geparsed op '/' en op die manier verwerk ik het verder.

In het bovenstaande is .html niet meegenomen, omdat ik bij mijn huidige projecten dat niet heb,

Hoe moet ik bovenstaande aanpassen zodat het wordt zoals ik wil?
  Moderator / Redactie Sport / Devops maandag 30 september 2013 @ 22:39:26 #9
176766 crew  zoem
zoemt
pi_131726286
Ik begrijp je vraag even niet. Je hebt nu een werkende htaccess zeg je. Wat lukt er niet?
pi_131738243
Even voor de Symfony2 gebruikers:

een hoop van mijn entities hebben dezelfde velden zoals id, createdtime, createdby, enz.. Die wil ik overhevelen naar een base entity die ik in iedere bundle kan extenden.

Waar kan ik die base entity dan het beste neerzetten?
pi_131738774
quote:
0s.gif Op maandag 30 september 2013 22:22 schreef xaban06 het volgende:
Niet echt PHP gerelateerd, maar wist niet waar ik het anders moet plaatsen.

Ik wil dmv RewriteEngine/RewriteRule nette URL's maken.

http://www.voorbeed.com/index.php?a=nieuws&b=12
moet worden
http://www.voorbeed.com/nieuws/12/titel-van-artikel.html

Dit doe ik nu dmv:
[ code verwijderd ]

In de PHP scripts vang ik alles op in $q, deze wordt geparsed op '/' en op die manier verwerk ik het verder.

In het bovenstaande is .html niet meegenomen, omdat ik bij mijn huidige projecten dat niet heb,

Hoe moet ik bovenstaande aanpassen zodat het wordt zoals ik wil?
Waar haal je $q vandaan?, $_GET["q"] ?

[ Bericht 0% gewijzigd door #ANONIEM op 01-10-2013 12:48:49 ]
pi_131738975
Waarom niet iets in deze richting?

.htaccess
1
2
3
4
5
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /index.php?a=$1&b=$2&c=$3 [L]

index.php
1
2
3
4
5
<?php
echo $_GET["a"];
echo 
$_GET["b"];
echo 
$_GET["c"];
?>
pi_131739974
quote:
2s.gif Op dinsdag 1 oktober 2013 12:47 schreef d4v1d het volgende:

[..]

Waar haal je $q vandaan?, $_GET["q"] ?
Ja.
pi_131739988
quote:
0s.gif Op dinsdag 1 oktober 2013 13:34 schreef xaban06 het volgende:

[..]

Ja.
Is mijn post hierboven geen oplossing?
pi_131740041
quote:
2s.gif Op dinsdag 1 oktober 2013 13:34 schreef d4v1d het volgende:

[..]

Is mijn post hierboven geen oplossing?
Oh, over het hoofd gezien. Vanavond even proberen, zit nu op werk :)
  † In Memoriam † dinsdag 1 oktober 2013 @ 13:39:52 #16
159335 Boze_Appel
Vrij Fruit
pi_131740149
quote:
2s.gif Op dinsdag 1 oktober 2013 12:55 schreef d4v1d het volgende:
Waarom niet iets in deze richting?

.htaccess
[ code verwijderd ]

index.php
[ code verwijderd ]

De rerwiteengine on hoeft niet. Tenzij je op een gare server zit. Je kan het niet aanzetten als het niet mag van de server en anders staat het toch wel aan. Het is vrij antiek.

Het kan geen kwaad ofzo, maar is gewoon niet nodig.
Carpe Libertatem
pi_131742036
quote:
7s.gif Op dinsdag 1 oktober 2013 13:39 schreef Boze_Appel het volgende:

[..]

De rerwiteengine on hoeft niet. Tenzij je op een gare server zit. Je kan het niet aanzetten als het niet mag van de server en anders staat het toch wel aan. Het is vrij antiek.

Het kan geen kwaad ofzo, maar is gewoon niet nodig.
Dat dus.
pi_131843127
quote:
2s.gif Op dinsdag 1 oktober 2013 12:55 schreef d4v1d het volgende:
Waarom niet iets in deze richting?

.htaccess
[ code verwijderd ]

index.php
[ code verwijderd ]

Dit werkt:
http://www.xx.nl/nieuws/12/test.html

Dit werkt niet:
http://www.xx.nl/nieuws/12/
http://www.xx.nl/nieuws/

Terwijl die URL's ook geparsed moeten worden.
pi_131843149
quote:
0s.gif Op vrijdag 4 oktober 2013 14:15 schreef xaban06 het volgende:

[..]

Dit werkt:
http://www.xx.nl/nieuws/12/test.html

Dit werkt niet:
http://www.xx.nl/nieuws/12/
http://www.xx.nl/nieuws/

Terwijl die URL's ook geparsed moeten worden.
Is op te lossen. Zal ik vanmiddag even naar kijken voor je, momenteel op school.
pi_131847871
quote:
0s.gif Op vrijdag 4 oktober 2013 14:15 schreef xaban06 het volgende:

[..]

Dit werkt:
http://www.xx.nl/nieuws/12/test.html

Dit werkt niet:
http://www.xx.nl/nieuws/12/
http://www.xx.nl/nieuws/

Terwijl die URL's ook geparsed moeten worden.
je begrijpt het systeem verkeerd. Het enige wat je wilt is dat altijd de index wordt geladen. Geen $q=nieuws $a=12 etc. Je moet een router maken die je urls omzet in bruikbare data. Aan de hand daarvan laadt je een pagina in.
  Moderator / Redactie Sport / Devops vrijdag 4 oktober 2013 @ 17:14:10 #21
176766 crew  zoem
zoemt
pi_131848507
Wat totalvamp zegt, maar dan met aanvullende info :P
quote:
2s.gif Op dinsdag 1 oktober 2013 12:55 schreef d4v1d het volgende:
Waarom niet iets in deze richting?

.htaccess
[ code verwijderd ]

index.php
[ code verwijderd ]

Dat is geen praktische oplossing wanneer je een verscheidenheid aan urls hebt. Je hebt niet altijd 3 argumenten die deze exacte vorm aannemen. Het parsen van de url kun je het best over laten aan php door alles door te sturen naar index.php die uitzoekt welke route genomen moet worden aan de hand van een router class. Even een greep uit beschikbare routers:

Slim Framework | Zend Framework | CakePHP

Met name die van Slim is eenvoudig en simpel op te zetten zonder allerlei poespas. De benodigde htaccess volgens de docs:
1
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
De anderen zijn uitgebreider, maar hebben iets meer overhead en een hogere learning curve.
pi_131848625
quote:
0s.gif Op vrijdag 4 oktober 2013 17:14 schreef zoem het volgende:
Wat totalvamp zegt, maar dan met aanvullende info :P

[..]

Dat is geen praktische oplossing wanneer je een verscheidenheid aan urls hebt. Je hebt niet altijd 3 argumenten die deze exacte vorm aannemen. Het parsen van de url kun je het best over laten aan php door alles door te sturen naar index.php die uitzoekt welke route genomen moet worden aan de hand van een router class. Even een greep uit beschikbare routers:

Slim Framework | Zend Framework | CakePHP

Met name die van Slim is eenvoudig en simpel op te zetten zonder allerlei poespas. De benodigde htaccess volgens de docs:
[ code verwijderd ]

De anderen zijn uitgebreider, maar hebben iets meer overhead en een hogere learning curve.
srry typ op mijn telefoon vanuit het bad xD moeilijk een aantal voorbeelden te geven.
pi_131848629
quote:
0s.gif Op vrijdag 4 oktober 2013 17:14 schreef zoem het volgende:
Wat totalvamp zegt, maar dan met aanvullende info :P

[..]

Dat is geen praktische oplossing wanneer je een verscheidenheid aan urls hebt. Je hebt niet altijd 3 argumenten die deze exacte vorm aannemen. Het parsen van de url kun je het best over laten aan php door alles door te sturen naar index.php die uitzoekt welke route genomen moet worden aan de hand van een router class. Even een greep uit beschikbare routers:

Slim Framework | Zend Framework | CakePHP

Met name die van Slim is eenvoudig en simpel op te zetten zonder allerlei poespas. De benodigde htaccess volgens de docs:
[ code verwijderd ]

De anderen zijn uitgebreider, maar hebben iets meer overhead en een hogere learning curve.
Ah, ik deed het altijd door alle argumenten optioneel te doen maar dan ziet je regex er behoorlijk rommelig uit.

^([^/]*)(?:/)?((?:[^/]*))?(?:/)?(?:([^/]*)\.html)?$ zou het in dit geval zijn met de laatste 2 optioneel :') Ik ga ook even naar zo'n router ding kijken.

[ Bericht 4% gewijzigd door #ANONIEM op 04-10-2013 17:20:55 ]
pi_131861048
Ik kom er net achter dat date() geen taal ondersteuning heeft, ik moet dus gebruik maken van strftime(), echter begrijp ik er bar weinig van.

Hoe kan ik
1
2
date( 'l j F Y H:i', strtotime($news_row["post_date"]) )
// output: Friday 4 October 2013 23:04
vertalen naar strftime() ?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')