FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies #103
raptorixwoensdag 27 juni 2012 @ 07:28
php.jpg


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
poepeneesjewoensdag 27 juni 2012 @ 09:26
Vraag: Ik heb een lijst met e-mailadressen die twee of meerdere keren voorkomen, hieruit moeten e-mailadressen verwijderd worden zodat deze niet meer vaker voorkomen.

1. De voorwaarde is dat er in de tabel met e-mailadressen, de kolom met 'accepteerdatum' null moet zijn als dit record uit de subset met dubbele e-mailadressen verwijderd wordt. Het record met wel een 'accepteerdatum', blijft bestaan.
2. Wanneer binnen zo'n subset met dubbele e-mailadressen helemaal geen 'accepteerdatum' aanwezig is, moet het record met de nieuwste 'creëerdatum' blijven en de rest verwijderd worden.

Tot nu toe heb ik dit... Verder kom ik niet.
1
2
3
select email from uitnodiging
group by email, netwerk
having count(email) > 1
boem-dikkiewoensdag 27 juni 2012 @ 11:05
Kunt toch met een WHERE accepteerdatum != null? Of <> null.
Scorpiewoensdag 27 juni 2012 @ 11:11
quote:
14s.gif Op woensdag 27 juni 2012 11:05 schreef boem-dikkie het volgende:
Kunt toch met een WHERE accepteerdatum != null? Of <> null.
Dat.
poepeneesjewoensdag 27 juni 2012 @ 11:22
quote:
14s.gif Op woensdag 27 juni 2012 11:05 schreef boem-dikkie het volgende:
Kunt toch met een WHERE accepteerdatum != null? Of <> null.
quote:
0s.gif Op woensdag 27 juni 2012 11:11 schreef Scorpie het volgende:

[..]

Dat.
Is het in MySQL dan niet 'is not null'? Maar dan houd ik toch nog het probleem dan ik dan niet de nieuwst overhoud Volgens mij is namelijk mijn query tot nu toe maar een deel en moe deze gebruikt worden als subquery. Of wellicht dat er een join moet komen...
The_Terminatorwoensdag 27 juni 2012 @ 11:25
quote:
0s.gif Op woensdag 27 juni 2012 11:22 schreef poepeneesje het volgende:

[..]

[..]

Is het in MySQL dan niet 'is not null'? Maar dan houd ik toch nog het probleem dan ik dan niet de nieuwst overhoud Volgens mij is namelijk mijn query tot nu toe maar een deel en moe deze gebruikt worden als subquery. Of wellicht dat er een join moet komen...
Het is idd 'IS NOT NULL'.

Voor die nieuwste items zou je idd een subquery kunnen gebruiken waarmee je de MAX datum van de records ophaalt met een limit van 1 item. Als je vervolgens alleen de resultaten laat zien die uit die subquery komen ben je klaar.
boem-dikkiedonderdag 28 juni 2012 @ 16:14
Iemand enig idee waarom ik bij een mod_rewrite in .htaccess geen _GET resultaat krijg?

Als ik mijn pagina voluit schrijf (.php?id=10) werkt het wel, als ik met mod_rewrite dat herschrijf naar post/10/ herkent hij mijn get niet.

Op internet zijn er een aantal mensen die met Options nogwattus dit probleem weten te fixen maar ik mag van TransIP geen Options functionaliteit in mijn .htaccess gebruiken.

Op mijn eigen live- en testserver werkt de .htaccess prima.
mstxdonderdag 28 juni 2012 @ 16:24
quote:
7s.gif Op donderdag 28 juni 2012 16:14 schreef boem-dikkie het volgende:
Iemand enig idee waarom ik bij een mod_rewrite in .htaccess geen _GET resultaat krijg?

Als ik mijn pagina voluit schrijf (.php?id=10) werkt het wel, als ik met mod_rewrite dat herschrijf naar post/10/ herkent hij mijn get niet.

Op internet zijn er een aantal mensen die met Options nogwattus dit probleem weten te fixen maar ik mag van TransIP geen Options functionaliteit in mijn .htaccess gebruiken.

Op mijn eigen live- en testserver werkt de .htaccess prima.
Zet [QSA] achter de regel.
https://wiki.apache.org/httpd/RewriteFlags/QSA
The_Terminatorvrijdag 29 juni 2012 @ 19:19
quote:
0s.gif Op donderdag 28 juni 2012 16:24 schreef mstx het volgende:

[..]

Zet [QSA] achter de regel.
https://wiki.apache.org/httpd/RewriteFlags/QSA
@boem-dikkie:

Mocht bovenstaande niet werken dan zou je nog iets als:
1
2
3
<?php
$url_data 
explode('/'str_replace($_SERVER['SCRIPT_NAME'], ''$_SERVER['PHP_SELF']));
?>

kunnen proberen. Bovenstaande geeft een array terug met alle url elementen, hieruit kun je vervolgens zelf de GET waarden halen aan de hand van de positie van de elementen in de array.
KomtTijd...woensdag 4 juli 2012 @ 10:05
ik heb een query:
1
2
3
4
5
6
7
SELECT MAX(crmentity.createdtime) AS ctime, geocoding.smownerid, geocoding.geocodinglon, geocoding.geocodinglat, users.username
    FROM crmentity
RIGHT JOIN geocoding
    ON geocoding.geocodingid = crmentity.crmid
LEFT JOIN users
    ON crmentity.smownerid = users.id
GROUP BY smownerid
het doel lijkt me duidelijk, geef van iedere user de laatste positie weer.

het gekke is: dit gaat goed, ik krijg een array met van alle users een positie, behalve 1. Van die ene user krijg ik wel een username (left join gaat dus goed), maar geen positie (right join gaat dus niet goed).
Als ik de smownerid van die record verander, krijg ik wel netjes coordinaten terug. Als ik 'm dan weer terugverander naar de originele smownerid krijg ik weer geen coordinaten.
Ik heb dit nog nooit meegemaakt... Iemand enig idee wat hier fout kan gaan?

-edit- probleem gevonden, hij geeft heul niet de laatste coordinaten, maar compleet andere...

[ Bericht 3% gewijzigd door KomtTijd... op 04-07-2012 10:42:53 ]
GlowMousewoensdag 4 juli 2012 @ 10:50
sad-balls.jpg

http://dev.mysql.com/doc/refman/5.0/en/example-maximum-row.html
KomtTijd...woensdag 4 juli 2012 @ 11:06
zat inderdaad al die kant op te denken:
1
2
3
4
5
        WHERE crmid IN (SELECT MAX(crmid) 
                            FROM crmentity 
                        WHERE setype = \'Geocoding\'
                        GROUP BY smownerid 
                        )
does the job.
-edit- die crmid is oplopend dus handiger want altijd uniek (itt tot createdtime).
Daarnaastwoensdag 4 juli 2012 @ 23:35
Ik heb in php een applicatie gemaakt die van de door gebruiker ingevoerde aantal seconden, aangeeft hoeveel minuten dat is.

vb:
gebruiker invoer: 243
applicatie output: 243 seconden is 4 minuten en 3 seconden.

Nou doet mijn applicatie het prima, behalve 1 punt:

Hij kan maximaal voor 59 seconden berekenen hoeveel minuten het is.

bv: x zit in de rang 0-59.
programma output: x seconden is 0 minuten en x seconden.
bv als x 58 is: 58 seconden is 0 minuten en 58 seconden.

Als x hoger dan 59 is dat is, dan wil ik dat hij het aantal minuten verhoogt.

dus bijvoorbeeld: 61 seconden is 1 minuut en 1 seconde.

Ik weet niet hoe ik dit voor elkaar moet krijgen.

Iemand een idee?
GlowMousewoensdag 4 juli 2012 @ 23:39
wat krijg je nu als je 61 invult en hoe bereken je dat?
Tijnwoensdag 4 juli 2012 @ 23:42
1
2
3
4
5
6
7
<?php
$x 
61;    
$min intval($x 60);
$sec $x 60;
    
echo 
$x.' seconden = '.$min.' minuten en '.$sec.' seconden.';
?>

Dit geeft:

161 seconden = 1 minuten en 1 seconden.
Scorpiewoensdag 4 juli 2012 @ 23:50
quote:
5s.gif Op woensdag 4 juli 2012 23:42 schreef Tijn het volgende:

[ code verwijderd ]

Dit geeft:
[ code verwijderd ]

Dat moet natuurlijk 1 minuut zijn, pffff.
Tijnwoensdag 4 juli 2012 @ 23:52
quote:
6s.gif Op woensdag 4 juli 2012 23:50 schreef Scorpie het volgende:

[..]

Dat moet natuurlijk 1 minuut zijn, pffff.
1
2
3
<?php
echo $x.' seconden = '.$min.' '.(($min === 1) ? 'minuut':'minuten').' en '.$sec.' '.(($sec === 1) ? 'seconde':'seconden').'.';
?>

De output is misschien leesbaarder zo, maar de code niet per se :')

[ Bericht 5% gewijzigd door Tijn op 05-07-2012 00:05:25 ]
Plankje55dinsdag 10 juli 2012 @ 12:14
Ik wil uit een gegevensbestand waar elke 5 minuten een uniek record aangemaakt wordt de records filteren die tussen zonsopkomst en zonsondergang zijn gemaakt. Elk record heeft een tijdstempel van het formaat 2012-07-09 13:14:00. Ik heb al gevonden dat ik met de functies date_sunrise en date_sunset aan de slag moet. Alleen krijg ik de juiste syntax niet helemaal werkend. Ik heb van alles geprobeerd met strotime enz. Maar ik doe vast te moeilijk. De webhoster (en dus ik ook) werkt overigens met php 5.2
Iemand die me op weg kan helpen?
U.N.K.L.E.dinsdag 10 juli 2012 @ 12:18
quote:
0s.gif Op dinsdag 10 juli 2012 12:14 schreef Plankje55 het volgende:
Ik wil uit een gegevensbestand waar elke 5 minuten een uniek record aangemaakt wordt de records filteren die tussen zonsopkomst en zonsondergang zijn gemaakt. Elk record heeft een tijdstempel van het formaat 2012-07-09 13:14:00. Ik heb al gevonden dat ik met de functies date_sunrise en date_sunset aan de slag moet. Alleen krijg ik de juiste syntax niet helemaal werkend. Ik heb van alles geprobeerd met strotime enz. Maar ik doe vast te moeilijk. De webhoster (en dus ik ook) werkt overigens met php 5.2
Iemand die me op weg kan helpen?
Je kunt gewoon de $date vergelijken met de date_sunset

dus:
if( strtotime($date) > strtotime($date_sunrise) && strtotime($date) < strtotime($date_sunset) ){
// tussen zonsopkomst en zonsondergang
}
KomtTijd...dinsdag 10 juli 2012 @ 12:22
ben daar laatst mee bezig geweest, kan vanmiddag/avond wel even een codevoorbeeldje posten voor je

-edit-
heb 'm al:
1
2
3
4
5
6
7
$date = strtotime('2012-06-22');
$gmtoffset=date("O")/100;
$lat = 52.44;
$lon = 5.69;
$zenith = 90.583; // zenith is de hoek tussen de horizon en een loodrechte paal, doordat de aarde rond is is deze *net* iets groter dan 90 graden. hoe hoger je staat hoe groter deze wordt
$sunrise = date_sunrise($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset);
$sunset = date_sunset($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset);

$date moet je dan uiteraard distileren uit je timestamp, en vervolgens de time uit je timestamp vergelijken met $sunset en $sunrise

[ Bericht 42% gewijzigd door KomtTijd... op 10-07-2012 12:35:25 ]
Plankje55dinsdag 10 juli 2012 @ 15:28
quote:
14s.gif Op dinsdag 10 juli 2012 12:22 schreef KomtTijd... het volgende:
ben daar laatst mee bezig geweest, kan vanmiddag/avond wel even een codevoorbeeldje posten voor je

-edit-
heb 'm al:
[ code verwijderd ]

$date moet je dan uiteraard distileren uit je timestamp, en vervolgens de time uit je timestamp vergelijken met $sunset en $sunrise
Dank, ik ga het vanavond direct proberen.
Tijndinsdag 10 juli 2012 @ 19:09
Ik ben wel benieuwd hoe het nu met de seconden naar normale tijd converter van Daarnaast is.
xaban06woensdag 11 juli 2012 @ 08:47
Ik ben een soort van imageshack/tinypic aan het maken, waar men dus plaatjes kan uploaden. Ik ben bezig een check te maken of het geuploadde bestand wel een plaatje is.

Dit doe ik met $_FILES["file"]["type"], echter waar vind ik een lijst met alle types?
Scorpiewoensdag 11 juli 2012 @ 08:56
quote:
0s.gif Op woensdag 11 juli 2012 08:47 schreef xaban06 het volgende:
Ik ben een soort van imageshack/tinypic aan het maken, waar men dus plaatjes kan uploaden. Ik ben bezig een check te maken of het geuploadde bestand wel een plaatje is.

Dit doe ik met $_FILES["file"]["type"], echter waar vind ik een lijst met alle types?
http://www.php.net/manual/en/ref.fileinfo.php
xaban06woensdag 11 juli 2012 @ 08:58
quote:
Ik kan nu wel een heleboel plaatjes laten checken en de info eruit halen, maar bestaat er geen lijst van alle geaccepteerde/geverifierde types?
Tijnwoensdag 11 juli 2012 @ 08:59
quote:
0s.gif Op woensdag 11 juli 2012 08:58 schreef xaban06 het volgende:

[..]

Ik kan nu wel een heleboel plaatjes laten checken en de info eruit halen, maar bestaat er geen lijst van alle geaccepteerde/geverifierde types?
Die lijst hangt natuurlijk af van wat jij wil accepteren.
Scorpiewoensdag 11 juli 2012 @ 09:00
quote:
0s.gif Op woensdag 11 juli 2012 08:58 schreef xaban06 het volgende:

[..]

Ik kan nu wel een heleboel plaatjes laten checken en de info eruit halen, maar bestaat er geen lijst van alle geaccepteerde/geverifierde types?
http://www.iana.org/assignments/media-types/index.html
Tijnwoensdag 11 juli 2012 @ 09:03
quote:
Succes met het implementeren van al die formaten :+
Scorpiewoensdag 11 juli 2012 @ 09:03
quote:
10s.gif Op woensdag 11 juli 2012 09:03 schreef Tijn het volgende:

[..]

Succes met het implementeren van al die formaten :+
Hey, hij vroeg om een lijst met alle geaccepteerde en geverifieerde types, die heeftie nu.
xaban06woensdag 11 juli 2012 @ 09:07
quote:
6s.gif Op woensdag 11 juli 2012 09:03 schreef Scorpie het volgende:

[..]

Hey, hij vroeg om een lijst met alle geaccepteerde en geverifieerde types, die heeftie nu.
Waar komt het offensive gedrag vandaan?
Scorpiewoensdag 11 juli 2012 @ 09:08
quote:
0s.gif Op woensdag 11 juli 2012 09:07 schreef xaban06 het volgende:

[..]

Waar komt het offensive gedrag vandaan?
Welk offensief gedrag?
Tijnwoensdag 11 juli 2012 @ 09:11
quote:
0s.gif Op woensdag 11 juli 2012 08:58 schreef xaban06 het volgende:

[..]

Ik kan nu wel een heleboel plaatjes laten checken en de info eruit halen, maar bestaat er geen lijst van alle geaccepteerde/geverifierde types?
Het hangt er voornamelijk vanaf welke formaten jouw applicatie accepteert. Wat gebruik je om de plaatjes in te lezen? GD? ImageMagick?

Begin eens met het opvragen van een lijst van formaten die daarmee kunnen worden verwerkt.

Maar wat verwacht je eigenlijk allemaal voor exotische bestanden? Ben je niet gewoon klaar als je png, jpg, gif en misschien bmp of tiff ondersteunt?
Quirwoensdag 11 juli 2012 @ 09:29
quote:
5s.gif Op woensdag 11 juli 2012 09:11 schreef Tijn het volgende:

[..]

Het hangt er voornamelijk vanaf welke formaten jouw applicatie accepteert. Wat gebruik je om de plaatjes in te lezen? GD? ImageMagick?

Begin eens met het opvragen van een lijst van formaten die daarmee kunnen worden verwerkt.

Maar wat verwacht je eigenlijk allemaal voor exotische bestanden? Ben je niet gewoon klaar als je png, jpg, gif en misschien bmp of tiff ondersteunt?
Dit. Ik maak in dit soort gevallen gewoon een array met de bestandsformaten die ik wil accepteren en check of de extensie daar in voor komt.
KomtTijd...woensdag 11 juli 2012 @ 10:57
quote:
5s.gif Op woensdag 11 juli 2012 09:11 schreef Tijn het volgende:

[..]

Maar wat verwacht je eigenlijk allemaal voor exotische bestanden? Ben je niet gewoon klaar als je png, jpg, gif en misschien bmp of tiff ondersteunt?
Beetje moderne site accepteert natuurlijk ook SVG ;) Maar voor de rest lijkt me dat ruim voldoende ja.
GlowMousewoensdag 11 juli 2012 @ 11:46
waarom zegt niemand iets over de betrouwbaarheid van user-input?
Scorpiewoensdag 11 juli 2012 @ 12:00
quote:
11s.gif Op woensdag 11 juli 2012 11:46 schreef GlowMouse het volgende:
waarom zegt niemand iets over de betrouwbaarheid van user-input?
Iedereen weet toch dat die niet betrouwbaar is?
Scorpiewoensdag 11 juli 2012 @ 12:01
quote:
14s.gif Op woensdag 11 juli 2012 09:29 schreef Quir het volgende:

[..]

Dit. Ik maak in dit soort gevallen gewoon een array met de bestandsformaten die ik wil accepteren en check of de extensie daar in voor komt.
1
2
3
<?php
phpinfo
();
?>

Bestand opslaan als .png en afwachten maar O+
GlowMousewoensdag 11 juli 2012 @ 12:14
quote:
11s.gif Op woensdag 11 juli 2012 12:00 schreef Scorpie het volgende:

[..]

Iedereen weet toch dat die niet betrouwbaar is?
waarom wijs je xaban06 daar dan niet op?
xaban06woensdag 11 juli 2012 @ 12:16
quote:
11s.gif Op woensdag 11 juli 2012 09:08 schreef Scorpie het volgende:

[..]

Welk offensief gedrag?
Schijnbaar vat ik het dan verkeerd op.

Ik dacht dat de file type veilig genoeg was om te checken, maar niet dus? Ik zou op extensie kunnen controleren, maar dat zegt helemaal niks.
Quirwoensdag 11 juli 2012 @ 12:17
quote:
0s.gif Op woensdag 11 juli 2012 12:01 schreef Scorpie het volgende:

[..]
[ code verwijderd ]

Bestand opslaan als .png en afwachten maar O+
Achja, ik had er al aan gedacht nadat ik het postte. Misschien is de filetype veiliger. Misschien, hoor.
GlowMousewoensdag 11 juli 2012 @ 12:25
quote:
0s.gif Op woensdag 11 juli 2012 12:16 schreef xaban06 het volgende:

[..]

Ik dacht dat de file type veilig genoeg was om te checken, maar niet dus? Ik zou op extensie kunnen controleren, maar dat zegt helemaal niks.
Nee, je zult het type aan de hand van de inhoud van de file moeten bepalen, en daarna het plaatje moeten resamplen, en dan zelf de filename te kiezen om veilig te zitten.
Tijnwoensdag 11 juli 2012 @ 12:26
Waarom zou je de input niet gewoon proberen in te lezen als plaatje? Als het lukt dan is het goed en als het niet lukt niet. Simpel toch?

Als je bijvoorbeeld met GD werkt en denkt dat iets een jpeg zou kunnen zijn, dan kun je het gewoon proberen in te lezen met imagecreatefromjpeg(). Als daar een resource uitkomt, is het inderdaad een jpeg. En anders komt er false uit en is het blijkbaar geen jpeg.
xaban06woensdag 11 juli 2012 @ 12:27
quote:
14s.gif Op woensdag 11 juli 2012 12:26 schreef Tijn het volgende:
Waarom zou je de input niet gewoon proberen in te lezen als plaatje? Als het lukt dan is het goed en als het niet lukt niet. Simpel toch?

Als je bijvoorbeeld met GD werkt en denkt dat iets een jpeg zou kunnen zijn, dan kun je het gewoon proberen in te lezen met imagecreatefromjpeg(). Als daar een resource uitkomt, is het inderdaad een jpeg. En anders komt er false uit en is het blijkbaar geen jpeg.
Ik werk nog met niks. Ik moet daar nog over na denken wat het beste/veiligste is om te gebruiken. Volgens mij gaat jou oplossing op voor jpeg, maar bijvoorbeeld niet voor tiff?
Scorpiewoensdag 11 juli 2012 @ 13:04
quote:
0s.gif Op woensdag 11 juli 2012 12:14 schreef GlowMouse het volgende:

[..]

waarom wijs je xaban06 daar dan niet op?
Omdat dat niet de vraag was?
Scorpiewoensdag 11 juli 2012 @ 13:08
Magoed, omdat xaban06 niet het wiel opnieuw uitvind:

http://stackoverflow.com/(...)ad-security-approach

http://www.thinkfu.com/blog/gifjavascript-polyglots

http://codecanyon.net/item/secure-file-upload-class/121992

http://nullcandy.com/php-image-upload-security-how-not-to-do-it/
mstxwoensdag 11 juli 2012 @ 13:12
quote:
0s.gif Op woensdag 11 juli 2012 12:01 schreef Scorpie het volgende:

[..]
[ code verwijderd ]

Bestand opslaan als .png en afwachten maar O+
Dan krijg je een corrupt plaatje te zien. Best vervelend inderdaad.
InTrePidIvitywoensdag 11 juli 2012 @ 17:38
Aangezien dit topic toch voor dummies is, vind ik het niet zo erg om m'n vraag hier te plaatsen :+

Ik heb XAMPP gedownload en wil 'm op m'n pc (Windows 7) installeren. Installatie lukt allemaal prima, maar MySQL werkt niet. In het Control Panel krijg ik:

1
2
Busy...
ERROR: MySQL service not started [-1]

En op localhost/phpmyadmin/ krijg ik dit te zien:

#2002 - De server reageert niet (of de MySQL-server heeft het socket niet juist ingesteld)

Ik las her en der dat het met een poort te maken zou kunnen hebben, maar Skype (een vaker voorkomende oorzaak van zo'n probleem) heb ik al uitgezet. Dat hielp verder niets...
Arn0woensdag 11 juli 2012 @ 17:59
Je moet even Xampp Control Panel 3 Beta gebruiken (die zit normaal standaard erbij), dan krijg je een uitgebreidere log en zie je allicht wat er mis is.
kawotskiwoensdag 11 juli 2012 @ 18:05
Daar mijn kennis van php nog redelijk beperkt is maar wel met de dag beter wordt heb ik een vraagje die ik niet beantwoord kan vinden, heb er wat boeken op nageslagen en wat php sites maar kom er niet precies achter.

Ik heb - als voorbeeld - een mysql tabel met 200 produkten. Ik heb ook een template. Moet ik nu 200 pagina's aanmaken en elk produkt apart per pagina tonen of kan ik aan de hand van die template middels een query op mysql die 200 produkten per pagina tonen. De produkten heb ik allemaal een aparte id gegeven.
GlowMousewoensdag 11 juli 2012 @ 18:07
quote:
0s.gif Op woensdag 11 juli 2012 18:05 schreef kawotski het volgende:
Daar mijn kennis van php nog redelijk beperkt is maar wel met de dag beter wordt heb ik een vraagje die ik niet beantwoord kan vinden, heb er wat boeken op nageslagen en wat php sites maar kom er niet precies achter.

Ik heb - als voorbeeld - een mysql tabel met 200 produkten. Ik heb ook een template. Moet ik nu 200 pagina's aanmaken en elk produkt apart per pagina tonen of kan ik aan de hand van die template middels een query op mysql die 200 produkten per pagina tonen. De produkten heb ik allemaal een aparte id gegeven.
dat laatste, dan kun je achter de url ?id=123 zetten, en dan kun je met een query product 123 ophalen
GlowMousewoensdag 11 juli 2012 @ 18:07
quote:
0s.gif Op woensdag 11 juli 2012 17:38 schreef InTrePidIvity het volgende:
Aangezien dit topic toch voor dummies is, vind ik het niet zo erg om m'n vraag hier te plaatsen :+

Ik heb XAMPP gedownload en wil 'm op m'n pc (Windows 7) installeren. Installatie lukt allemaal prima, maar MySQL werkt niet. In het Control Panel krijg ik:
[ code verwijderd ]

En op localhost/phpmyadmin/ krijg ik dit te zien:

#2002 - De server reageert niet (of de MySQL-server heeft het socket niet juist ingesteld)

Ik las her en der dat het met een poort te maken zou kunnen hebben, maar Skype (een vaker voorkomende oorzaak van zo'n probleem) heb ik al uitgezet. Dat hielp verder niets...
zorg dat mysqld draait; mysql heeft een eigen logfile met foutmeldingen

skype zit apache soms in de weg; mysql wordt nooit door andere software in de weg gezeten qua poorten
kawotskiwoensdag 11 juli 2012 @ 18:10
quote:
0s.gif Op woensdag 11 juli 2012 18:07 schreef GlowMouse het volgende:

[..]

dat laatste, dan kun je achter de url ?id=123 zetten, en dan kun je met een query product 123 ophalen
Zo simpel? Dat php blijft me verbazen :) Toch 7 jaar te laat mee begonnen..
#ANONIEMwoensdag 11 juli 2012 @ 19:14
quote:
1s.gif Op woensdag 11 juli 2012 18:10 schreef kawotski het volgende:

[..]

Zo simpel? Dat php blijft me verbazen :) Toch 7 jaar te laat mee begonnen..
Het is niet ZO simpel, maar komt in de buurt. Je moet wel de input afvangen voor rare dingen (zodat niet ineens je database leeg is).

Mocht je ook wat persoonlijke hulp nodig hebben met vraagstukken kun je me DM/PM-en
InTrePidIvitywoensdag 11 juli 2012 @ 19:15
quote:
0s.gif Op woensdag 11 juli 2012 17:59 schreef Arn0 het volgende:
Je moet even Xampp Control Panel 3 Beta gebruiken (die zit normaal standaard erbij), dan krijg je een uitgebreidere log en zie je allicht wat er mis is.
Dat is apart, daar staat dat MySQL wel gewoon werkt (groen met een vinkje) Kan alleen nog steeds niet in de admin.
quote:
0s.gif Op woensdag 11 juli 2012 18:07 schreef GlowMouse het volgende:

[..]

zorg dat mysqld draait; mysql heeft een eigen logfile met foutmeldingen

skype zit apache soms in de weg; mysql wordt nooit door andere software in de weg gezeten qua poorten
Dit staat in de logfile:

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
120711 17:59:12 [Note] Plugin 'FEDERATED' is disabled.
120711 17:59:12 InnoDB: The InnoDB memory heap is disabled
120711 17:59:12 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120711 17:59:12 InnoDB: Compressed tables use zlib 1.2.3
120711 17:59:12 InnoDB: Initializing buffer pool, size = 16.0M
120711 17:59:12 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file C:\xampp\mysql\data\ibdata1 did not exist:
InnoDB: a new database to be created!
120711 17:59:12  InnoDB: Setting file C:\xampp\mysql\data\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
120711 17:59:13  InnoDB: Log file C:\xampp\mysql\data\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
120711 17:59:13  InnoDB: Log file C:\xampp\mysql\data\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
120711 17:59:13  InnoDB: Waiting for the background threads to start
120711 17:59:14 InnoDB: 1.1.8 started; log sequence number 0
120711 17:59:15 [Note] Event Scheduler: Loaded 0 events
120711 17:59:15 [Note] mysql\bin\mysqld: ready for connections.
Version: '5.5.16'  socket: ''  port: 3310  MySQL Community Server (GPL)
120711 17:59:46 [Note] Plugin 'FEDERATED' is disabled.
120711 17:59:46 InnoDB: The InnoDB memory heap is disabled
120711 17:59:46 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120711 17:59:46 InnoDB: Compressed tables use zlib 1.2.3
120711 17:59:46 InnoDB: Initializing buffer pool, size = 16.0M
120711 17:59:46 InnoDB: Completed initialization of buffer pool
120711 17:59:46 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
120711 17:59:46  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
120711 17:59:46  InnoDB: Waiting for the background threads to start
120711 17:59:47 InnoDB: 1.1.8 started; log sequence number 1595675
120711 17:59:47 [Note] Event Scheduler: Loaded 0 events
120711 17:59:47 [Note] mysql\bin\mysqld: ready for connections.
Version: '5.5.16'  socket: ''  port: 3310  MySQL Community Server (GPL)

Ik ga er voor het gemak maar van uit dat ik iets heel stoms verkeerd doe of vergeten ben, maar het is allemaal redelijk nieuw voor me en ik dacht dat XAMPP een makkelijk begin zou zijn. En dan kom je niet voorbij de installatie :')
#ANONIEMwoensdag 11 juli 2012 @ 19:19
quote:
0s.gif Op woensdag 11 juli 2012 19:15 schreef InTrePidIvity het volgende:

[..]

Dat is apart, daar staat dat MySQL wel gewoon werkt (groen met een vinkje) Kan alleen nog steeds niet in de admin.

[..]

Dit staat in de logfile:
[ code verwijderd ]

Ik ga er voor het gemak maar van uit dat ik iets heel stoms verkeerd doe of vergeten ben, maar het is allemaal redelijk nieuw voor me en ik dacht dat XAMPP een makkelijk begin zou zijn. En dan kom je niet voorbij de installatie :')
Kijk eens in je proceslijst of mysql daarbij staat "mysqld.exe" en sluit die af start hem daarna opnieuw op.
InTrePidIvitywoensdag 11 juli 2012 @ 19:32
quote:
0s.gif Op woensdag 11 juli 2012 19:19 schreef totalvamp het volgende:

[..]

Kijk eens in je proceslijst of mysql daarbij staat "mysqld.exe" en sluit die af start hem daarna opnieuw op.
Dat doet ook niet veel. Nu start er helemaal niks meer op en er staat ook niets nieuws in m'n error-logfile.
#ANONIEMwoensdag 11 juli 2012 @ 19:36
quote:
0s.gif Op woensdag 11 juli 2012 19:32 schreef InTrePidIvity het volgende:

[..]

Dat doet ook niet veel. Nu start er helemaal niks meer op en er staat ook niets nieuws in m'n error-logfile.
je hebt op start/stop gedrukt in de control panel?
InTrePidIvitywoensdag 11 juli 2012 @ 19:47
quote:
0s.gif Op woensdag 11 juli 2012 19:36 schreef totalvamp het volgende:

[..]

je hebt op start/stop gedrukt in de control panel?
Als ik nu op Start druk in het control panel krijg ik een vraag vanuit Windows of ik 'Net Command' (net.exe) wil starten (blijkbaar voert dat 'start mysql' uit?). Doe ik dat, dan gebeurt er vrij weinig, ik krijg in de het control panel alleen de volgende melding (die annulering is niet van belang verder):

M0can.jpg
#ANONIEMwoensdag 11 juli 2012 @ 19:49
quote:
0s.gif Op woensdag 11 juli 2012 19:47 schreef InTrePidIvity het volgende:

[..]

Als ik nu op Start druk in het control panel krijg ik een vraag vanuit Windows of ik 'Net Command' (net.exe) wil starten (blijkbaar voert dat 'start mysql' uit?). Doe ik dat, dan gebeurt er vrij weinig, ik krijg in de het control panel alleen de volgende melding (die annulering is niet van belang verder):

[ afbeelding ]
zet hem eens uit als service (vinkje weghalen) dan weer kijken in je app lijst en mysqld.exe allemaal afsluiten
daarna Quit en even de control opnieuw starten.

Ik heb hier ook een keer last van gehad en kreeg het zo weg.
InTrePidIvitywoensdag 11 juli 2012 @ 19:53
quote:
0s.gif Op woensdag 11 juli 2012 19:49 schreef totalvamp het volgende:

[..]

zet hem eens uit als service (vinkje weghalen) dan weer kijken in je app lijst en mysqld.exe allemaal afsluiten
daarna Quit en even de control opnieuw starten.

Ik heb hier ook een keer last van gehad en kreeg het zo weg.
Held! Heel erg bedankt :) Was dit bij jou een permanente oplossing of moet je dit elke keer weer doen?
#ANONIEMwoensdag 11 juli 2012 @ 19:55
quote:
14s.gif Op woensdag 11 juli 2012 19:53 schreef InTrePidIvity het volgende:

[..]

Held! Heel erg bedankt :) Was dit bij jou een permanente oplossing of moet je dit elke keer weer doen?
dit was de enige keer dat het moest :) om 1 of andere reden gaat het fout met de service aanmelden.
InTrePidIvitywoensdag 11 juli 2012 @ 20:03
quote:
0s.gif Op woensdag 11 juli 2012 19:55 schreef totalvamp het volgende:

[..]

dit was de enige keer dat het moest :) om 1 of andere reden gaat het fout met de service aanmelden.
Ik ben er al een halve dag mee aan het klooien, ben blij dat het nu werkt!
#ANONIEMwoensdag 11 juli 2012 @ 20:05
quote:
0s.gif Op woensdag 11 juli 2012 20:03 schreef InTrePidIvity het volgende:

[..]

Ik ben er al een halve dag mee aan het klooien, ben blij dat het nu werkt!
Fijn geholpen te hebben :) mocht je nog problemen tegenkomen laat het weten.
Plankje55woensdag 11 juli 2012 @ 20:35
Ik kom er toch nog niet helemaal uit. Deze code werkt op de dag, maar als ik meerdere dagen achterelkaar importeer wordt alleen de laatste dag geïmporteerd.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for ($x = 0; $x < count ($adagen); ++$x)
{
//hier zit nog wat code tussen

for ($key = 1; $key< count($rec) ;++$key )
    {
        $index = ($key == 0) ? $key : ($key - 1);
        $c=count($sNaamSaveDatabase);
        for ($k = 0; $k < count($sNaamSaveDatabase); ++$k)
        {
         //insert some method to kill the overnight records
        $dates=$rec[$key][0];
        $date = strtotime($dates);
        $gmtoffset=0;//date("O")/100;
        $lat = 52.44;
        $lon = 5.69;
        $zenith = 90.583; // zenith is de hoek tussen de horizon en een loodrechte paal.
        $sunrise = minutes_round(date_sunrise($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
        $sunset = minutes_round(date_sunset($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
            
            if( $date > strtotime($sunrise) && $date < strtotime($sunset) )
            {
                echo '.';
Waar zit de fout?
cablegunmasterwoensdag 11 juli 2012 @ 20:41
quote:
0s.gif Op woensdag 11 juli 2012 20:35 schreef Plankje55 het volgende:
Ik kom er toch nog niet helemaal uit. Deze code werkt op de dag, maar als ik meerdere dagen achterelkaar importeer wordt alleen de laatste dag geïmporteerd.
[ code verwijderd ]

Waar zit de fout?
In deze code wordt ik niet wijs.
Je wil voor elke $x iets doen maar ik zie geen verwijzing naar $x ?
dan lijkt de loop nutteloos. Want nu zal het 1x de inner for-loop doen met goede variabelen.
Daarnaast heb ik hier te weinig code om je fout te ontdekken. Want ik weet niet hoe je structuur qua dagen eruit ziet. hoe je arrays eruitzien.Mogelijk kun je meer code neerzetten? Of een linkdump.

1
2
3
<?php
echo var_dump($jou_code);
?>
;)

[ Bericht 2% gewijzigd door cablegunmaster op 11-07-2012 20:56:03 ]
Plankje55woensdag 11 juli 2012 @ 21:00
quote:
5s.gif Op woensdag 11 juli 2012 20:41 schreef cablegunmaster het volgende:

[..]

In deze code wordt ik niet wijs.
Je wil voor elke $x iets doen maar ik zie geen verwijzing naar $x ?
dan lijkt de loop nutteloos. Want nu zal het 1x de inner for-loop doen met goede variabelen.
Daarnaast heb ik hier te weinig code om je fout te ontdekken. Want ik weet niet hoe je structuur qua dagen eruit ziet. hoe je arrays eruitzien.Mogelijk kun je meer code neerzetten? Of een linkdump.
[ code verwijderd ]

;)
Sorry, probeerde het beperkt te houden. Code loopt probleemloos bij het importeren van meerdere dagen. Maar sinds het invoeren van de sunrise/sunset voorwaarde alleen voor de laatste dag.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
for ($x 0$x count ($adagen); ++$x)
{
    
$kaledag[$x]=date('Y-m-d H:i'strtotime($adagen[$x]));
    
$sql="SELECT *
    FROM logger WHERE DATE(Datum_Dag) = DATE('"
.$kaledag[$x]."')ORDER BY Datum_Dag ASC LIMIT 1"
    
//echo $sql;
    
$result mysql_query($sql) or die("invullen gegevens begin ERROR: ".mysql_error());
    
//if (mysql_num_rows($result)==0)
    //$begin=array();
    
while($row mysql_fetch_array($resultMYSQL_NUM))
        {
        
$begin[] = $row;
        }
    
$sql1="SELECT *
    FROM logger WHERE DATE(Datum_Dag) = DATE('"
.$kaledag[$x]."')ORDER BY Datum_Dag DESC LIMIT 1"
    
//echo $sql;
    
$result1 mysql_query($sql1) or die("invullen gegevens solar einde ERROR: ".mysql_error());
    while(
$row1 mysql_fetch_array($result1MYSQL_NUM))
        {
        
$einde[] = $row1;
        }
//    print_r_html ($begin);
//    print_r_html ($einde);

    
$total=array();
    
$tussen=$adagen[$x];
    
$query "SELECT * FROM logger WHERE TO_DAYS(Datum_Dag) = TO_DAYS('".$adagen[$x]."') AND Datum_Dag >='".$DATETIME."'ORDER BY Datum_Dag ASC";
    
$result2 mysql_query($query) or die('Invalid query: ' mysql_error());
    
$rec = array();
    while(
$row2 mysql_fetch_array($result2MYSQL_NUM))
        {
        
$rec[] = $row2;
        }
//    print_r_html ($rec);
    
$string=array();
    
$string="insert into ".$prefix."_dag(IndexDag,Datum_Dag,Geg_Dag,kWh_Dag,Naam)values";
    for (
$key 1$keycount($rec) ;++$key )
    {
        
$index = ($key == 0) ? $key : ($key 1);
        
$c=count($sNaamSaveDatabase);
        for (
$k 0$k count($sNaamSaveDatabase); ++$k)
        {
         
//insert some method to kill the overnight records
        
$dates=$rec[$key][0];
        
$date strtotime($dates);
        
$gmtoffset=0;//date("O")/100;
        
$lat 52.44;
        
$lon 5.69;
        
$zenith 90.583// zenith is de hoek tussen de horizon en een loodrechte paal.
        
$sunrise minutes_round(date_sunrise($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
        
$sunset minutes_round(date_sunset($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
            
            if( 
$date strtotime($sunrise) && $date strtotime($sunset) )
            {
                echo 
'.';
                
$total[]=0;
                
$tst[]=0;
                
$m=$k+1;
                
$hulp1[]=$begin[$x][$m];
                
$hulp2[]=$rec[0][$m];
                
$hulp=$rec[0][$m]-$begin[$x][$m];
                
$total[$k]=$hulp;
                
$aa=    $opbrengst[$key][0]=$rec[$key][0];//                MySQLtimestamp
                //$bb=$opbrengst[$key][1]=date('y-m-d', strtotime($rec[$key][0]));//    alleen datum, wordt hier niet gebruikt
                
$cc=$opbrengst[$key][$k+2]=$sNaamSaveDatabase[$k];//            naam in database
                
$tst[$k]=($rec[$key][$m]-$rec[$index][$m]);//                verschil tellerstand
                
$test[$k]=12000*$tst[$k];//                        Pac niet afgeronde rekenwaarde
                
$total[$k]+=$tst[$k];//                            Daysum sommatie
                
$total1[$k]=$total[$k];//                        hulpvariabele vanwege numberformat
                
$dd=$opbrengst[$key][$k+$c+2]=number_format(($test[$k]),0,'.','');//    Pac afgerond op nul decimalen
                
$ee=$opbrengst[$key][$k+$c+$c+2]=number_format($total1[$k],2,'.','');//    DaySum afgerond op twee decimalen
                
$gg=strtotime($aa)+$offset;
                
$hh=date('Y-m-d H:i:s'$gg);
                
$ff[]=    $opbrengst[$key][$k+8]="('".$hh.$cc."','".$hh."',".$dd.",".($ee).",'".$cc."')";

            }

        }
    }
}
?>


[ Bericht 46% gewijzigd door Plankje55 op 11-07-2012 21:49:33 ]
cablegunmasterwoensdag 11 juli 2012 @ 21:21
Ik kan het nog steeds niet zien met zoveel verschillende variabelen. welke sectie moet hij doorlopen? en welke niet? stop anders [php <?php echo "test".$x; ?>[/php]
Waar het fout gaat ipv print_r_html();

daarnaast in je insert staat maar 1x $prefix zonder verandering erin vermoedelijk moet dit de dag voorstellen maar geen idee of dat verandert in deze code. zoals ik het nu zie niet. Dat zou vermoedelijk de dag wezen. Kan het zijn dat alles in 1 tabel wordt gestopt? ipv verschillende?

Zomaar gedachtes op wat je hebt gestuurd :)
Lightwoensdag 11 juli 2012 @ 21:31
quote:
0s.gif Op woensdag 11 juli 2012 21:00 schreef Plankje55 het volgende:

[..]

Sorry, probeerde het beperkt te houden. Code loopt probleemloos bij het importeren van meerdere dagen. Maar sinds het invoeren van de sunrise/sunset voorwaarde alleen voor de laatste dag.
[ code verwijderd ]

Als je [php][/php] gebruikt ipv [code][/code] dan wordt je php-code een stuk leesbaarder en krijg je leuke kleurtjes enzo :)
Plankje55woensdag 11 juli 2012 @ 22:04
quote:
5s.gif Op woensdag 11 juli 2012 21:21 schreef cablegunmaster het volgende:
Ik kan het nog steeds niet zien met zoveel verschillende variabelen. welke sectie moet hij doorlopen? en welke niet? stop anders [php <?php echo "test".$x; ?>[/php]
Waar het fout gaat ipv print_r_html();

daarnaast in je insert staat maar 1x $prefix zonder verandering erin vermoedelijk moet dit de dag voorstellen maar geen idee of dat verandert in deze code. zoals ik het nu zie niet. Dat zou vermoedelijk de dag wezen. Kan het zijn dat alles in 1 tabel wordt gestopt? ipv verschillende?

Zomaar gedachtes op wat je hebt gestuurd :)
De variabele $prefix geeft de tabelnaam, maar dit is een statisch gegeven, daar wordt verder niets mee gedaan.
In het eerste stuk wordt het aantal dagen berekend sinds de laatste update. Daarna wordt begin en eindstand berekend, wat in dit stuk niet gebruikt wordt, maar pas later in dit bestand.
Vanaf regel 38 loopt een for loop alle records na per dag, dit stuk werkt, ook als de tabel _dag geleegd wordt. Idem regel 42 naam van de installatie, werkt zoals het moet.
Regel 44 t/m 55 is nieuw. Bedoeling is om records van de nacht weg te laten, het gaat om een database die de opbrengst van zonnepanelen monitort. Als de tabel _dag geleegd wordt en vervolgens wordt de pagina opnieuw opgeroepen verschijnt alleen data van de laatste dag, overigens wel zoals de bedoeling is, n.l. alleen van overdag.

[ Bericht 0% gewijzigd door Plankje55 op 11-07-2012 22:56:17 ]
KomtTijd...woensdag 11 juli 2012 @ 22:49
ik gok dat strtotime($sunrise) een tijd ergens op nieuwjaarsochtend 1970 teruggeeft, terwijl $strtotime($date) waarschijnlijk ergens in 2012 zal zitten...

-edit-
kijk ook ff naar de documentatie van date_sunrise() welke opties je nog meer in kunt vullen voor SUNFUNCS_RET_STRING
-edit2-
en je eigen coördinaten pakken wil ook al snel een paar minuten schelen.

[ Bericht 22% gewijzigd door KomtTijd... op 11-07-2012 22:58:19 ]
Plankje55woensdag 11 juli 2012 @ 23:05
quote:
14s.gif Op woensdag 11 juli 2012 22:49 schreef KomtTijd... het volgende:
ik gok dat strtotime($sunrise) een tijd ergens op nieuwjaarsochtend 1970 teruggeeft, terwijl $strtotime($date) waarschijnlijk ergens in 2012 zal zitten...

-edit-
kijk ook ff naar de documentatie van date_sunrise() welke opties je nog meer in kunt vullen voor SUNFUNCS_RET_STRING
-edit2-
en je eigen coördinaten pakken wil ook al snel een paar minuten schelen.
Daar lijkt het probleem niet te zitten, het stukje sunrise/sunset lijkt te werken. Ook de tijden kloppen, gecontroleerd met een online zon op zon onder calculator. Probleem is dat alleen de data van de laatste dag opgeslagen worden. Haal ik het stukje met sunrise/sunset en het if statement eruit krijg ik wel alle dagen.
KomtTijd...woensdag 11 juli 2012 @ 23:30
Ben het wel met cablegun eens, je gebruikt zoveel arrays en for-loops in for-loops (weleens van foreach gehoord?) en variables die uit het niets lijken op te doemen, hier is geen beginnen aan. Weet je uberhaupt of $result2 wel alle rijen bevat die je wilt?
Plankje55woensdag 11 juli 2012 @ 23:46
Het is een script van een ander, enigszins aangepast aan mijn situatie. Vooralsnog werkt het omdat alleen bij de eerste keer meerdere dagen moeten worden ingevoerd. Daarna loopt het gewoon elke dag en dat gaat goed. En $result2 heeft alle records, zojuist gecontroleerd.
#ANONIEMwoensdag 11 juli 2012 @ 23:55
quote:
0s.gif Op woensdag 11 juli 2012 23:46 schreef Plankje55 het volgende:
Het is een script van een ander, enigszins aangepast aan mijn situatie. Vooralsnog werkt het omdat alleen bij de eerste keer meerdere dagen moeten worden ingevoerd. Daarna loopt het gewoon elke dag en dat gaat goed. En $result2 heeft alle records, zojuist gecontroleerd.
volgens mij is dit script vele malen makkelijker te maken (moet haast wel).
Ik zou vanaf het begin af aan beginnen, want dit lijkt nergens op.
cablegunmasterdonderdag 12 juli 2012 @ 02:33
Beetje lang geworden maar even wat compacter voor je gemaakt Plankje55 hopelijk heb je hier iets aan en snap je wat ik heb gedaan :). De rest is me te onduidelijk om alle variabelen te controleren. of er een functie van te maken.
SPOILER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
    
/**
     * Iets wat leesbaarder gemaakt.
     * @adapted by cable :P.
     */
for ($x 0$x count ($adagen); ++$x)
{     
    
//    Initialisering van de waardes.
    
$kaledag[$x]=date('Y-m-d H:i'strtotime($adagen[$x]));
    
$begin begin_datum($kaledag[$x]);
    
$eind eind_datum($kaledag[$x]); 
    
$rec tussen_datum($adagen[$x]); // vermoedelijk deze naam.
    
$tussen$adagen[$x]; //geen idee wat je hiermee doet? wordt het ergens gebruikt?
    
$gmtoffset 0;//date("O")/100;
    
$lat 52.44;
    
$lon 5.69;
    
$zenith 90.583// zenith is de hoek tussen de horizon en een loodrechte paal.
    
$c count($sNaamSaveDatabase);
    
$string = array();
    
    
$string "insert into ".$prefix."_dag(IndexDag,Datum_Dag,Geg_Dag,kWh_Dag,Naam)values";
    for (
$key 1$key count($rec) ;++$key )
    {
        
$index = ($key == 0) ? $key : ($key 1);
        for (
$k 0$k count($sNaamSaveDatabase); ++$k)
        {
            
//insert some method to kill the overnight records
            
$date strtotime($rec[$key][0]); //datum uit de logger.
            
$sunrise minutes_round(date_sunrise($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
            
$sunset minutes_round(date_sunset($date,SUNFUNCS_RET_STRING,$lat,$lon,$zenith,$gmtoffset));
            
            if( 
$date strtotime($sunrise) && $date strtotime($sunset) )
            {
                echo 
'.';
                
$total[] = 0;
                
$tst[] = 0;
                
$m $k+1;
                
$hulp1[] = $begin[$x][$m];
                
$hulp2[] = $rec[0][$m];
                
$hulp $rec[0][$m]-$begin[$x][$m];
                
$total[$k] = $hulp;
                
$aa $opbrengst[$key][0]=$rec[$key][0];//MySQLtimestamp
                //$bb = $opbrengst[$key][1] = date('y-m-d', strtotime($rec[$key][0]));//    alleen datum, wordt hier niet gebruikt
                
$cc    $opbrengst[$key][$k+2] = $sNaamSaveDatabase[$k];//            naam in database
                
$tst[$k] = ($rec[$key][$m] - $rec[$index][$m]);//                verschil tellerstand
                
$test[$k] = 12000*$tst[$k];//                        Pac niet afgeronde rekenwaarde
                
$total[$k] += $tst[$k];//                            Daysum sommatie
                
$total1[$k]    =  $total[$k];//                        hulpvariabele vanwege numberformat
                
$dd    $opbrengst[$key][$k+$c+2]    = number_format(($test[$k]),0,'.','');//    Pac afgerond op nul decimalen
                
$ee $opbrengst[$key][$k+$c+$c+2] = number_format($total1[$k],2,'.','');//    DaySum afgerond op twee decimalen
                
$gg strtotime($aa)+$offset;
                
$hh date('Y-m-d H:i:s'$gg);
                
$ff[]= $opbrengst[$key][$k+8]="('".$hh.$cc."','".$hh."',".$dd.",".($ee).",'".$cc."')";
            }
        }
    }
}
        
        
/**
         * @input Datum.
         * @description: haal begin datum op
         * @return $begin[*];
         */    
        
public function tussen_datum($dag)
        {
            
$query "SELECT * 
                      FROM logger 
                      WHERE TO_DAYS(Datum_Dag) = TO_DAYS('"
.$dag."') 
                      AND Datum_Dag >='"
.$DATETIME."'
                      ORDER BY Datum_Dag ASC"
;
            
$result2 mysql_query($query) or die('Invalid query: ' mysql_error());
            while(
$row2 mysql_fetch_array($result2MYSQL_NUM))
            {
                
$rec[] = $row2;
            }
            
            if(!empty(
$rec))
            {
                return 
$rec;
            }
        }
        
        
/**
         * @input Datum.
         * @description: haal begin datum op
         * @return $begin[*];
         */
        
public function begin_datum($dag)
        {
            
$sql="SELECT *
                  FROM logger 
                  WHERE DATE(Datum_Dag) = DATE('"
.$dag."')
                  ORDER BY Datum_Dag ASC LIMIT 1"

                 
$result mysql_query($sql) or die("invullen gegevens begin ERROR: ".mysql_error());
            while(
$row mysql_fetch_array($resultMYSQL_NUM))
            {
              
$begin[] = $row;
            }
            if(!empty(
$begin))
            {
                return 
$begin;
            }
            return 
false;
        }
        
        
/**
         * @input Datum.
         * @description: haal eind datum op
         * @return from table logger[*]
         */
        
public function eind_datum($dag)
        {
            
$sql1="
            SELECT *
            FROM logger 
            WHERE DATE(Datum_Dag) = DATE('"
.$dag."')
            ORDER BY Datum_Dag DESC LIMIT 1"

            
$result mysql_query($sql1) or die("invullen gegevens solar einde ERROR: ".mysql_error());
            while(
$row mysql_fetch_array($resultMYSQL_NUM))
            {
                
$einde[] = $row1;
            }
            if(!empty(
$begin))
            {
                return 
$begin;
            }
            return 
false;
        }
?>


[ Bericht 1% gewijzigd door cablegunmaster op 12-07-2012 02:48:05 ]
Plankje55donderdag 12 juli 2012 @ 07:39
quote:
10s.gif Op donderdag 12 juli 2012 02:33 schreef cablegunmaster het volgende:
Beetje lang geworden maar even wat compacter voor je gemaakt Plankje55 hopelijk heb je hier iets aan en snap je wat ik heb gedaan :). De rest is me te onduidelijk om alle variabelen te controleren. of er een functie van te maken.
SPOILER
[ code verwijderd ]

Dank, begrijp je insteek, ga er later mee aan de slag. Nu eerst vakantie :)
Chandlerdonderdag 12 juli 2012 @ 08:38
is er een manier om de laatste query richting een database te achterhalen zonder gebruik te maken van classes/etc?

ik dacht dat mysql_info wel zou helpen maar helaas, dit wil ik gebruiken voor een errorhandler! :)
cablegunmasterdonderdag 12 juli 2012 @ 09:28
quote:
0s.gif Op donderdag 12 juli 2012 08:38 schreef Chandler het volgende:
is er een manier om de laatste query richting een database te achterhalen zonder gebruik te maken van classes/etc?

ik dacht dat mysql_info wel zou helpen maar helaas, dit wil ik gebruiken voor een errorhandler! :)
Wat is je skeptisme achter classes? uiteindelijk zijn ze best simpel als je het een paar keer door hebt genomen.
Scorpiedonderdag 12 juli 2012 @ 09:39
quote:
0s.gif Op donderdag 12 juli 2012 08:38 schreef Chandler het volgende:
is er een manier om de laatste query richting een database te achterhalen zonder gebruik te maken van classes/etc?

ik dacht dat mysql_info wel zou helpen maar helaas, dit wil ik gebruiken voor een errorhandler! :)
Waarom je geen classes wil gebruiken maar wel een errorhandler is mij een raadsel.
Chandlerdonderdag 12 juli 2012 @ 11:56
omdat het gaat om een bestaande site met een 'errorhandler' en ik daarin ook graag de laatste query vermeld krijg... ik kan natuurlijk de hele site gaan herschrijven maar alleen voor een paar kleine query foutjes vindt ik dat niet echt handig ;) en logisch vandaar dat ik opzoek ben naar een manier om de laatste query terug te halen!!! ;)
Tijndonderdag 12 juli 2012 @ 11:58
Als het alleen om debugging gaat zou je de general log van MySQL aan kunnen zetten. Dan worden alle queries in een file geschreven. Maar in een productieomgeving schijnt dat een hoop performance te kosten.
Chandlerdonderdag 12 juli 2012 @ 12:01
Klopt, de log mag helaas niet aan van de 'beheerders' en had gehoopt dat er een manier zou zijn om mysql de laatste ingevoerde query te laten uitspuwen! :) zou toch moeten kunnen zou je zeggen?
Tijndonderdag 12 juli 2012 @ 12:13
Kun je niet de hele omgeving kopiëren naar een lokale omgeving en daar dan query logging aanzetten?
Scorpiedonderdag 12 juli 2012 @ 12:17
quote:
0s.gif Op donderdag 12 juli 2012 12:01 schreef Chandler het volgende:
Klopt, de log mag helaas niet aan van de 'beheerders' en had gehoopt dat er een manier zou zijn om mysql de laatste ingevoerde query te laten uitspuwen! :) zou toch moeten kunnen zou je zeggen?
Dan zakken ze lekker tot aan hun nek in de stront natuurlijk. Jij bent degene die hen helpt.
#ANONIEMdonderdag 12 juli 2012 @ 12:33
quote:
0s.gif Op donderdag 12 juli 2012 12:01 schreef Chandler het volgende:
Klopt, de log mag helaas niet aan van de 'beheerders' en had gehoopt dat er een manier zou zijn om mysql de laatste ingevoerde query te laten uitspuwen! :) zou toch moeten kunnen zou je zeggen?
Ik neem aan dat je niet gewoon in je script overal mysql_query hebt staan? zo wel veel success.
Anders maak je een functie die hetzelfde doet als mysql_query maar ook de log opslaat. En vervang dan alles met die functie.
1
2
3
4
5
6
<?php
function mysql_doquery($qry) {
   
errorHandler('query'$qry);
   return 
mysql_query($qry);
}
?>


[ Bericht 0% gewijzigd door #ANONIEM op 12-07-2012 12:34:30 ]
Chandlerdonderdag 12 juli 2012 @ 12:35
Yup, heerlijk oud gebaseerd op mysql_query hehe... anders zou ik bv wel $GLOBAL kunnen gebruiken :)

Maar goed, blijkt dat het niet mogelijk is, heb de documentatie van mysql al doorgenomen. Had toch gehoopt dat er met 1 extra query de 'vorige' query terug te halen was...

@Tijn: nee, want meestal werkt de betreffende pagina goed maar soms niet en dus wil ik graag weten wat er fout in de query gaat.
#ANONIEMdonderdag 12 juli 2012 @ 12:43
quote:
0s.gif Op donderdag 12 juli 2012 12:35 schreef Chandler het volgende:
Yup, heerlijk oud gebaseerd op mysql_query hehe... anders zou ik bv wel $GLOBAL kunnen gebruiken :)

Maar goed, blijkt dat het niet mogelijk is, heb de documentatie van mysql al doorgenomen. Had toch gehoopt dat er met 1 extra query de 'vorige' query terug te halen was...

@Tijn: nee, want meestal werkt de betreffende pagina goed maar soms niet en dus wil ik graag weten wat er fout in de query gaat.
dan kun je toch alle uitvoer opvangen door die te vervangen met wat ik hierboven zei?
doe replace all op mysql_query en vervang het door een eigen functie en klaar is kees.
Chandlerdonderdag 12 juli 2012 @ 12:57
Klopt, kan, maar de site werkt met zo'n 200+ php scripts (voor iedere pagina 1 ;)) lekker..

Toch allemaal bedankt! :)
#ANONIEMdonderdag 12 juli 2012 @ 13:08
quote:
0s.gif Op donderdag 12 juli 2012 12:57 schreef Chandler het volgende:
Klopt, kan, maar de site werkt met zo'n 200+ php scripts (voor iedere pagina 1 ;)) lekker..

Toch allemaal bedankt! :)
wat is het probleem?
replace all in all files en klaar :P
Chandlerdonderdag 12 juli 2012 @ 13:12
Klopt, het is een idee! :) maar stom dat het terug halen van een query statement niet mogelijk is... leek mij erg handig maar goed :P allen bedankt!
Scorpiedonderdag 12 juli 2012 @ 13:15
Dat kan als je OO classes zou gebruiken, dan sla je dat soort dingen gewoon in een logfile op.

[ Bericht 1% gewijzigd door Scorpie op 12-07-2012 13:21:56 ]
#ANONIEMdonderdag 12 juli 2012 @ 13:18
quote:
6s.gif Op donderdag 12 juli 2012 13:12 schreef Chandler het volgende:
Klopt, het is een idee! :) maar stom dat het terug halen van een query statement niet mogelijk is... leek mij erg handig maar goed :P allen bedankt!
sowieso gaat het dan niet werken aangezien er in de tijd al 3 andere queries gemaakt zijn(als je bijv drukke website hebt) en hij dan daar de laatste van pakt. Dus je zal toch echt het zelf moeten oplossen :)
Scorpiedonderdag 12 juli 2012 @ 13:22
quote:
0s.gif Op donderdag 12 juli 2012 13:18 schreef totalvamp het volgende:

[..]

sowieso gaat het dan niet werken aangezien er in de tijd al 3 andere queries gemaakt zijn(als je bijv drukke website hebt) en hij dan daar de laatste van pakt. Dus je zal toch echt het zelf moeten oplossen :)
Daar zijn logfiles voor _O_
#ANONIEMdonderdag 12 juli 2012 @ 13:23
quote:
0s.gif Op donderdag 12 juli 2012 13:22 schreef Scorpie het volgende:

[..]

Daar zijn logfiles voor _O_
Ja maar die mag hij niet :P tenzij je zelf maakt dan kunnen ze het niet tegenhouden ;)
GlowMousedonderdag 12 juli 2012 @ 13:24
quote:
0s.gif Op donderdag 12 juli 2012 13:18 schreef totalvamp het volgende:

[..]

sowieso gaat het dan niet werken aangezien er in de tijd al 3 andere queries gemaakt zijn(als je bijv drukke website hebt) en hij dan daar de laatste van pakt. Dus je zal toch echt het zelf moeten oplossen :)
dat is een heel slecht argument
KomtTijd...donderdag 12 juli 2012 @ 13:25
je kunt toch gewoon
1or die('SQL ERROR:'. mysql_error().' ON QUERY:'. $query)
achter je query plakken?
GlowMousedonderdag 12 juli 2012 @ 13:26
dat is niet de error handling die je zoekt op je website
KomtTijd...donderdag 12 juli 2012 @ 13:27
quote:
14s.gif Op donderdag 12 juli 2012 13:26 schreef GlowMouse het volgende:
dat is niet de error handling die je zoekt op je website
neuh maar dat gaat 'm toch niet worden is inmiddels duidelijk :+
cablegunmasterzondag 15 juli 2012 @ 12:54
Ik zit even met een simpel probleempje.

Ik heb nu 2 forms op 1 pagina en nu zit ik te kijken hoe ik toch de form binnen de form kan uitvoeren zonder dat het de andere stoort. laatst zelf ook gekeken naar zo'n probleem maar dan kom ik er toch uit dat ik misschien via Jquery eenscript moet maken. Om dit voor elkaar te krijgen.
Of denk ik weer te moeilijk? :P

Waarom?
Omdat ik de bestel pagina op 1 pagina wou maken. Zodat er niet tig schermpjes achterelkaar kwamen. (Veel schermpjes haak je bij af).

Waarom niet 1 form?
Omdat bestanden uploaden apart wordt gedaan van de rest van het formulier zodat er een percentage bar bij staat en de resultaten van het bestanden uploaden op het formulier verschijnen voordat je doorgaat.
boem-dikkiezondag 15 juli 2012 @ 13:05
Je kan het toch sowieso wel in één form doen en het hele uploadproces gewoon met AJAX afhandelen?
cablegunmasterzondag 15 juli 2012 @ 13:15
quote:
14s.gif Op zondag 15 juli 2012 13:05 schreef boem-dikkie het volgende:
Je kan het toch sowieso wel in één form doen en het hele uploadproces gewoon met AJAX afhandelen?
Ik zal eens kijken hoe dat werkt want ik was bezig met Jquery form plugin.
http://malsup.com/jquery/form/progress.html
Enige nadeel is dat het afhankelijk is van een form en nu moet ik kijken hoe ik hier om heen kan zeilen.

Misschien de waardes van de submit knop :D (dat ik daar niet eerder aan dacht >.>?)
cablegunmasterzondag 15 juli 2012 @ 18:27
Probleem #2:
Nog een foutje hoe zit het met XHR?
Hoe kan je die resetten / unsetten. Ik voer een xhr verzoek uit :P
en hoe stop ik de focus op "status.html(xhr.responseText);" als ik een andere submit op het zelfde formulier uitvoer? :P
1
2
3
4
<?php
 
<button name="subject" type="submit" class="button submit_button" value="upload_files" onclick="upload_files();">Upload File to Server</button>
 <
input type='submit' name='bestellen' value='Verder' class='button rounded-corners' />
?>
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
<?php
    
function upload_files()
    {
        var 
uploaded false;
        var 
bar = $('.bar');
        var 
percent = $('.percent');
        var 
status = $('#status');

        $(
'form').ajaxForm({
        
beforeSend: function() {
        $(
".submit_button").attr("disabled","true");
        
status.empty();
        var 
percentVal '0%';
        
bar.width(percentVal)
        
percent.html(percentVal);
        },
        
uploadProgress: function(eventpositiontotalpercentComplete) {
            var 
percentVal percentComplete '%';
            
bar.width(percentVal)
            
percent.html(percentVal);
            
//console.log(percentVal, position, total);
        
},
        
complete:
            function(
xhr) {
            var 
percentVal '100%';
            
bar.width(percentVal)
            
percent.html(percentVal);
            
status.html(xhr.responseText);
            
uploaded true;
            $(
".submit_button").removeAttr("disabled");
        },
        
error: function() {
            
alert("Fatale fout :( Probeer opnieuw te uploaden. Mocht het probleem persistent aanhouden probeer een andere browser en probeer het opnieuw. Onze excuses voor het ongemak.");
            $(
".submit_button").removeAttr("disabled");
        }
    });
?>


[ Bericht 58% gewijzigd door cablegunmaster op 15-07-2012 18:43:22 ]
Daarnaastzaterdag 21 juli 2012 @ 17:58
Ik kom ergens niet mee uit:

$i = 0;
while($i<5)
{
echo 'I is: '.$i;
$i++;
}

Wat ik wil is dat voor elke echo regel een radio button staat.
Als gebruiker bv de radiobutton die voor 'I is: 3' klikt, dat 'I is: 3' in een string gezet wordt en nog een keer geprint wordt.

Hoe bereik ik dit?
Scorpiezaterdag 21 juli 2012 @ 18:01
quote:
0s.gif Op zondag 15 juli 2012 18:27 schreef cablegunmaster het volgende:
Probleem #2:
Nog een foutje hoe zit het met XHR?
Hoe kan je die resetten / unsetten. Ik voer een xhr verzoek uit :P
en hoe stop ik de focus op "status.html(xhr.responseText);" als ik een andere submit op het zelfde formulier uitvoer? :P
[ code verwijderd ]

[ code verwijderd ]

HTML/CSS topic gebruiken.
Scorpiezaterdag 21 juli 2012 @ 18:01
quote:
0s.gif Op zaterdag 21 juli 2012 17:58 schreef Daarnaast het volgende:
Ik kom ergens niet mee uit:

$i = 0;
while($i<5)
{
echo 'I is: '.$i;
$i++;
}

Wat ik wil is dat voor elke echo regel een radio button staat.
Als gebruiker bv de radiobutton die voor 'I is: 3' klikt, dat 'I is: 3' in een string gezet wordt en nog een keer geprint wordt.

Hoe bereik ik dit?
Je wil die radio button values uitlezen?
Daarnaastzaterdag 21 juli 2012 @ 18:06
quote:
0s.gif Op zaterdag 21 juli 2012 18:01 schreef Scorpie het volgende:

[..]

Je wil die radio button values uitlezen?
Ja

Bv:
KsKC

Als radiobutton voor a geselecteerd wordt, dan moet de value a uitgelezen worden en in een variabele gestopt worden.
Scorpiezaterdag 21 juli 2012 @ 18:33
Dat uitlezen en in een variabele stoppen gebeurt meestal als je je form submit, wil je dat? Of wil je echt client side het uitlezen?
Daarnaastzaterdag 21 juli 2012 @ 18:45
quote:
0s.gif Op zaterdag 21 juli 2012 18:33 schreef Scorpie het volgende:
Dat uitlezen en in een variabele stoppen gebeurt meestal als je je form submit, wil je dat? Of wil je echt client side het uitlezen?
quote:
0s.gif Op zaterdag 21 juli 2012 18:33 schreef Scorpie het volgende:
Dat uitlezen en in een variabele stoppen gebeurt meestal als je je form submit, wil je dat? Of wil je echt client side het uitlezen?
Beter uitgelegd wat ik wil.

ik heb 3 producten, in mijn php code haal ik deze 3 producten uit mijn mysql database en print ik ze als volgt op het scherm:
product1
product2
product3.

Dit is gelukt, echter wil ik meer doen met de drie producten dan ze alleen op het scherm printen. Ik wil namelijk dmv een radiobutton, button, URL oid de producten kunnen selecteren. Wanneer een product geselecteerd is, dan wil ik iets met die product doen, bijvoorbeeld de naam ervan ergens anders opnieuw printen.

Bv:
ik selecteer product1, product1 moet dan in een variabele gestopt worden, zodat ik er iets mee kan doen.

Waar ik moeite mee heb is een manier vinden om de producten te selecteren, dit wil mij maar niet lukken.

een voorbeeld oplossing:

<form action="checkbox-form.php" method="post">
databaserow value <input type="checkbox" name="dbclick" value="Yes" />
<input type="submit" name="formSubmit" value="Submit" />
</form>

ik heb bv een db met 5 rijen.

Voor elke rij moet een checkbox gemaakt worden en de rijd moet voor de checbox geprint worden.

bv:
DB:
Naam:
Bas
Piet
Wichel

dan moet mijn form zo uitzien:

<form action="checkbox-form.php" method="post">
Bas <input type="checkbox" name="dbclick" value="Yes" />
Piet <input type="checkbox" name="dbclick" value="Yes" />
Wichel<input type="checkbox" name="dbclick" value="Yes" />
<input type="submit" name="formSubmit" value="Submit" />
</form>

Dan kan ik elke waarde met post doorgeven aan php en er iets mee doen, maar ik heb geen idee hoe dit gedaan moet worden.

[ Bericht 22% gewijzigd door Daarnaast op 21-07-2012 19:09:59 ]
The_Terminatorzaterdag 21 juli 2012 @ 21:09
quote:
0s.gif Op zaterdag 21 juli 2012 18:45 schreef Daarnaast het volgende:

[..]

[..]

Beter uitgelegd wat ik wil.

ik heb 3 producten, in mijn php code haal ik deze 3 producten uit mijn mysql database en print ik ze als volgt op het scherm:
product1
product2
product3.

Dit is gelukt, echter wil ik meer doen met de drie producten dan ze alleen op het scherm printen. Ik wil namelijk dmv een radiobutton, button, URL oid de producten kunnen selecteren. Wanneer een product geselecteerd is, dan wil ik iets met die product doen, bijvoorbeeld de naam ervan ergens anders opnieuw printen.

Bv:
ik selecteer product1, product1 moet dan in een variabele gestopt worden, zodat ik er iets mee kan doen.

Waar ik moeite mee heb is een manier vinden om de producten te selecteren, dit wil mij maar niet lukken.

een voorbeeld oplossing:

<form action="checkbox-form.php" method="post">
databaserow value <input type="checkbox" name="dbclick" value="Yes" />
<input type="submit" name="formSubmit" value="Submit" />
</form>

ik heb bv een db met 5 rijen.

Voor elke rij moet een checkbox gemaakt worden en de rijd moet voor de checbox geprint worden.

bv:
DB:
Naam:
Bas
Piet
Wichel

dan moet mijn form zo uitzien:

<form action="checkbox-form.php" method="post">
Bas <input type="checkbox" name="dbclick" value="Yes" />
Piet <input type="checkbox" name="dbclick" value="Yes" />
Wichel<input type="checkbox" name="dbclick" value="Yes" />
<input type="submit" name="formSubmit" value="Submit" />
</form>

Dan kan ik elke waarde met post doorgeven aan php en er iets mee doen, maar ik heb geen idee hoe dit gedaan moet worden.

Om de checkboxen weer te geven vanuit de DB doe je:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
$html_checkbox 
'';

$res mysql_query("SELECT naam FROM naam_tabel WHERE 1");

if(
mysql_num_rows($res) > 0) {
    while(
$row mysql_fetch_array($res)) {
        
$html_checkbox .= htmlentities($row['naam']) . ' <input type="checkbox" name="dbclick" value="' htmlentities($row['naam']) . '" /><br />';
    }
}
?>
<form action="checkbox-form.php" method="post">
 <?php echo $html_checkbox?>
 <input type="submit" name="formSubmit" value="Submit" />
</form>

De data eruithalen gaat zo:
1
2
3
4
5
6
<?php 
$checkbox_arr 
$_POST['dbclick'];
while(list(
$naam$waarde) = @each($checkbox_arr)) {
    echo 
$naam ' = ' $waarde;
}
?>
Daarnaastzaterdag 21 juli 2012 @ 23:58
quote:
0s.gif Op zaterdag 21 juli 2012 21:09 schreef The_Terminator het volgende:

[..]

Om de checkboxen weer te geven vanuit de DB doe je:
[ code verwijderd ]

De data eruithalen gaat zo:
[ code verwijderd ]

Ik kom niet uit met de code die jij gemaakt hebt, ik weet niet hoe ik het moet toepassen in mijn eigen code. Hier is mijn code:

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
<?php
echo"<table border =1>
    <tr>
    <th>Naam</th>
    <th>Werk</th>
    </tr>"
;

    while(
$query_row mysql_fetch_assoc($query))
    {
    
        
$naam $query_row['naam'];
        
$werk $query_row['werk'];
    
        echo 
"<form action=data_retrieval.php method=post>";
        echo 
"<tr>";
        echo 
"<td>".$naam."</td>";
        echo 
"<td>".$werk."</td>";
        echo 
"<td>"."<input type=submit name=add value=add " "</td>"."<br>";
        echo 
"</form>";
            
    }
    echo 
"</table>";
    
$close mysql_connect('localhost','root','')or die('Not connectend!');
    
mysql_close($close);

}
else
{
    echo 
'FAIL!';
}
?>

1
2
3
4
5
6
7
8
9
<?php
if(isset($_POST['add']))
{        
        
    echo 
"sdfsdf";//iets willekeurigs wordt wel geprint.
    
echo $naam;//hier wordt altijd de laatste entry uit de database geprint
    
echo $werk;//hier wordt altijd de laatste entry uit de database geprint
}
?>

Hoe zorg ik ervoor dat als ik een add knop drukt, dat de data links van de knop geprint wordt ipv altijd de laatste entry?

Bv:

Hans Bouwvakker [add]
Piet Acountant [add]

hoe kan ik mijn code zo aanpassen dat als ik add bij Hans druk er 'Hans Bouwvakker' geprint wordt
en als ik add bij piet druk er 'Piet Acountant' geprint wordt?
The_Terminatorzondag 22 juli 2012 @ 00:31
quote:
0s.gif Op zaterdag 21 juli 2012 23:58 schreef Daarnaast het volgende:

[..]

hoe kan ik mijn code zo aanpassen dat als ik add bij Hans druk er 'Hans Bouwvakker' geprint wordt
en als ik add bij piet druk er 'Piet Acountant' geprint wordt?
Om bovenstaande te realiseren zou je via javascript een ajax request naar het script kunnen doen. Je zou dan via hetzelfde script direct de teruggegeven waarde vanuit het script naar bijvoorbeeld een span met een unieke id kunnen wegschrijven.

Ook moet je bijhouden wat er al is toegevoegd. Dit kun je in de DB bijhouden maar bijvoorbeeld ook in de sessie dmv de $_SESSON superglobal.

Overigens is je code erg slordig. De form-action, input-type, naam en waarde horen binnen aanhalingstekens te staan.

Zo dus: echo "<td><input type=\"submit\" name=\"add value\" /></td>";
KomtTijd...zondag 22 juli 2012 @ 10:26
Doe het dan gelijk goed en gebruik single quotes.
Moneditazondag 22 juli 2012 @ 13:45


[ Bericht 25% gewijzigd door Monedita op 22-07-2012 15:22:08 ]
Scorpiezondag 22 juli 2012 @ 13:59
quote:
10s.gif Op zondag 22 juli 2012 13:45 schreef Monedita het volgende:
Hoi. Ik wil graag php gaan leren en er ook echt tijd in steken.
Ik heb een macbook pro en wil uiteindelijk websites en apps voor facebook en apps voor de iphone maken en websites voor smartphones optimaliseren. Uiteindelijk wil ik ook desktop applicaties zoals tweetdeck maken en geavanceerde websites zoals studentenuitzendbureaus, online magazines ( en dan niet met wordpress oid ), prijs/vakantie vergelijkingen etc etc

Ik weet dat dit niet van de 1 op de andere dag gaat maar zoals ik al zei, ik wil er tijd in steken.
Wat raden jullie aan om als eerste mee te beginnen? Wat voor eindproduct? Een website of een app?
Ik ben sowieso van plan om lessen van Lynda.com te volgen, maar soms zie ik door de bomen het bos niet meer.
Maak er je fulltime baan van.
Moneditazondag 22 juli 2012 @ 14:10
quote:
14s.gif Op zondag 22 juli 2012 13:59 schreef Scorpie het volgende:

[..]

Maak er je fulltime baan van.
}:|
Onnomanzondag 22 juli 2012 @ 14:34
Hallo allemaal..

kan je 1 pagina op een website zichtbaar maken en de rest ontoegankelijk laten dmv htpaswrd en htaccess?

nu moet de index dus een bericht geven dat de website in ontwikkeling is
Scorpiezondag 22 juli 2012 @ 14:46
quote:
0s.gif Op zondag 22 juli 2012 14:10 schreef Monedita het volgende:

[..]

}:|
Ja eh sorry, maar wat je allemaal hier loopt te verkondigen wat je wil gaan doen, dat is een 15 jaren plan als je het hobby matig gaat doen. Je hebt nul kennis neem ik aan?
remlofzondag 22 juli 2012 @ 14:57
quote:
0s.gif Op zondag 22 juli 2012 14:46 schreef Scorpie het volgende:

[..]

Ja eh sorry, maar wat je allemaal hier loopt te verkondigen wat je wil gaan doen, dat is een 15 jaren plan als je het hobby matig gaat doen. Je hebt nul kennis neem ik aan?
Mwah, ik heb php gewoon on the job geleerd eind jaren negentig. Daarvoor gebruikte ik alleen html en javascript.
Scorpiezondag 22 juli 2012 @ 14:58
quote:
7s.gif Op zondag 22 juli 2012 14:57 schreef remlof het volgende:

[..]

Mwah, ik heb php gewoon on the job geleerd eind jaren negentig. Daarvoor gebruikte ik alleen html en javascript.
Ja prima hoor, maar heb je gelezen wat ze wil of niet? Iphone apps, CMSen, Desktop apps, Online magazines, de hele rambam. Dat leer je niet door elke week 3 uurtjes PHP-en met Lynda.com, of je moet net zo goed als remlof zijn.
remlofzondag 22 juli 2012 @ 15:08
quote:
14s.gif Op zondag 22 juli 2012 14:58 schreef Scorpie het volgende:

[..]

Ja prima hoor, maar heb je gelezen wat ze wil of niet? Iphone apps, CMSen, Desktop apps, Online magazines, de hele rambam. Dat leer je niet door elke week 3 uurtjes PHP-en met Lynda.com, of je moet net zo goed als remlof zijn.
Eh nee, dat lukt je zelfs niet als je net zo goed als ik bent :')

Maar met een beetje basiskennis kan je je op je werk wel verder ontwikkelen, als je mazzel hebt met door de baas betaalde opleidingen en/of cursussen.
Moneditazondag 22 juli 2012 @ 15:18
Ik gaf duidelijk aan dat ik dat niet binnen no time verwacht te kunnen. Ik gaf ook duidelijk aan dat ik serieus ben en er tijd in wil steken en met 1 ding wil beginnen. Maar ik zal wel ergens anders informatie inwinnen ^O^
GlowMousezondag 22 juli 2012 @ 15:24
quote:
0s.gif Op zondag 22 juli 2012 14:34 schreef Onnoman het volgende:
Hallo allemaal..

kan je 1 pagina op een website zichtbaar maken en de rest ontoegankelijk laten dmv htpaswrd en htaccess?

nu moet de index dus een bericht geven dat de website in ontwikkeling is
met mod_rewrite:
1
2
3
4
5
6
RewriteEngine On
RewriteBase /

RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.2
RewriteRule ^(.*)$ down.html [L]
met daarin de juiste ip-adressen
Scorpiezondag 22 juli 2012 @ 15:25
quote:
14s.gif Op zondag 22 juli 2012 15:18 schreef Monedita het volgende:
Ik gaf duidelijk aan dat ik dat niet binnen no time verwacht te kunnen. Ik gaf ook duidelijk aan dat ik serieus ben en er tijd in wil steken en met 1 ding wil beginnen. Maar ik zal wel ergens anders informatie inwinnen ^O^
Je wilt met 1 ding beginnen? Begin met een database opzetten en daar gegevens in en uit halen en aanpassen.
remlofzondag 22 juli 2012 @ 15:33
Dat lijkt mij ook een hele goeie start. AJAX snel onder de knie krijgen is ook wel een pre tegenwoordig.
cablegunmasterzondag 22 juli 2012 @ 15:51
quote:
14s.gif Op zondag 22 juli 2012 15:33 schreef remlof het volgende:
Dat lijkt mij ook een hele goeie start. AJAX snel onder de knie krijgen is ook wel een pre tegenwoordig.
Mij lijkt dit voor een beginner soms nog best ver.

Simpele stappen om te beginnen met PHP te programmeren:
1. installeer Xampp (Aangeraden is het te installeren als service).
http://nl.wikipedia.org/wiki/XAMPP (Wat is Xampp?)
2. Check of het draait (xampp control panel ) Apache en Phpmyadmin zouden aan moeten staan na installeren.
3. "C:\Xampp\htdocs\" (of waar xampp/htdocs ook staat) Maar waar je php bestanden kunt neerzetten in de map htdocs. leeg de hele map maar verwijder de folder niet.
4. Stop hier een bestand in genaamd test.php
5. Vul het met wat simpele php Als voorkeur raad ik aan <?php echo "hello world" ?>
6. en test of het werkt, door naar localhost/test.php te gaan in je webbrowser. Localhost is je xampp webhost en simuleert een webserver en kan gebruikt worden om bvb op je eigen pc een webserver te draaien.

Van deze basis kan je alle kanten op :). Vele tutorials volgen en begrijpen waar het naartoe leidt met php. PRE is een basis van html / CSS. Want dat blijf je altijd houden.

Mijn advies is van boven af aan beginnen met:
- $variabelen (wat zijn ze en waarom? )
- If else . (zoek een simpele rekensom met if else en stop bij beide een echo om te testen of het werkt. Maakt statisch 2 - 3 variabelen aan en reken een som ermee uit als iets kleiner is dan 100 en groter is dan 100 gebasseerd hierop een ander antwoord).
- For loops.
- For each loops.
- Arrays ( maak een arrays met 8 random nummers en sorteer ze van laag naar hoog met behulp van een functie )
- Switch (Wat zijn ze en hoe zijn ze nuttig? )
- Rekenen in php. (Ik heb 8 bomen en elke boom maakt 40 planken , maak een functie die terug geeft hoeveel planken ik krijg bij invoer van Boom en hoeveelheid planken die je terug krijgt , afgerond op integer en overvloed terugkerend met behulp van modulo (Wat is modulo? ) ).
- Functies uit testen
- Includes (Wat zijn ze en waarom zijn ze handig?)
- Maak een formulier. Zoals je normaal ook op een dynamische webpagina ziet. Vul alles in en kijk hoe je de gegevens kunt terug echo'en met wat je hebt ingevuld (Hint: $_POST of $_GET)
Tip: $_POST en $_GET zul je met hoofdletters moeten schrijven of hij pakt/vindt het niet.
- Wanneer gebruik je $_POST en wanneer $_GET?
- Phpmyadmin verkennen (groot programma voor de eerste keer binnen xampp) Localhost/phpmyadmin
- Data uit een Tabel van de Database server te halen (Eerste SQL Select * from table)
- Data opslaan in een tabel. (insert into table )
- Data verwijderen uit een tabel (delete from table)
- Connectie maken in php.
Scorpiezondag 22 juli 2012 @ 15:53
cablegun is de man.
cablegunmasterzondag 22 juli 2012 @ 15:55
quote:
14s.gif Op zondag 22 juli 2012 15:53 schreef Scorpie het volgende:
cablegun is de man.
Nou dat zijn ongeveer de stappen tot aan het ophalen van iets uit de DB. :P
Zou er haast een hele Tutorial site mee kunnen vullen.
Het idee van dit lijstje is dat je het moet googlen. Zodat je zelf leert, naar wat je zoekt en wat je doet.
Veel dingen zul je moeten afkijken. Veel momenten zullen er zijn dat je het even niet snapt en uren in de code duikt om je fout eruit te halen.
Onnomanzondag 22 juli 2012 @ 16:10
quote:
14s.gif Op zondag 22 juli 2012 15:24 schreef GlowMouse het volgende:

[..]

met mod_rewrite:
[ code verwijderd ]

met daarin de juiste ip-adressen
bedankt glowmouse..
dus ik bedoel te zeggen.. dat de index zichtbaar voor publiek maar de rest van de website niet :D klopt dat?
Syntixzondag 22 juli 2012 @ 16:11
Even een vraagje hier zo. Ik wil een cronjob draaien elke paar uur of elke dag, maar weet niet precies of het volgende script voldoet:

1
2
3
4
5
6
7
8
9
10
<?php
$mysqli 
= new mysqli("localhost""user""pass""database"); 
if (
$mysqli->connect_errno) {
    echo 
"Failed to connect to MySQL: (" $mysqli->connect_errno ") " $mysqli->connect_error;
}
echo 
$mysqli->host_info "\n";

mysqli_query($mysqli"DELETE FROM table WHERE cache_date <= now() - interval 1 hour");
mysqli_query($mysqli"OPTIMIZE TABLE '" table "'");
?>

De delete line werkt en de rijen in 'table' worden gewoon verwijderd. De optimize line werkt echt niet. Ik wil enkel een tabel optimaliseren in de database (om de overhead te verwijderen die met de delete line is gemaakt) die met $mysqli wordt opgeroepen. Wat doe ik fout?
Scorpiezondag 22 juli 2012 @ 16:15
is table wel gezet?
cablegunmasterzondag 22 juli 2012 @ 16:15
quote:
0s.gif Op zondag 22 juli 2012 16:10 schreef Onnoman het volgende:

[..]

bedankt glowmouse..
dus ik bedoel te zeggen.. dat de index zichtbaar voor publiek maar de rest van de website niet :D klopt dat?
1
2
3
4
5
6
7
8
9
10
#Letterlijk staat hier Herschrijfmotor aan.
RewriteEngine On
RewriteBase /

#als afstandadres niet gelijk is aan (ingevuld IP), zie Rule en rule zegt:
# "Pak down.html "  Als ingevuld IP dus 1.1.1.1 \ is nodig voor een escape karakter.
# Pak de pagina die opgevraagt is.
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.2
RewriteRule ^(.*)$ down.html [L]
Daarnaast als het je eigen website is. Men wil niet weten of het niet werkt of wel.
Laat het zien dat het werkt of niet. Je hebt niks aan een pagina, die laat zien dat het "Nog aan gewerkt wordt" of niet. Zo belangrijk is je website niet. :P Daar hebben je bezoekers niks aan. En google rankings al helemaal niet! Laat desnoods een blanko pagina zien! :P (tenminste als het je eerste keer is dat je aan de pagina werkt).
remlofzondag 22 juli 2012 @ 16:16
Als ik php cronjobs schrijf gebruik ik de php-tags niet en laat het script beginnen met:

#!/usr/local/bin/php -q

De perl-manier zeg maar.
cablegunmasterzondag 22 juli 2012 @ 16:20
quote:
0s.gif Op zondag 22 juli 2012 16:11 schreef Syntix het volgende:
Even een vraagje hier zo. Ik wil een cronjob draaien elke paar uur of elke dag, maar weet niet precies of het volgende script voldoet:
[ code verwijderd ]

De delete line werkt en de rijen in 'table' worden gewoon verwijderd. De optimize line werkt echt niet. Ik wil enkel een tabel optimaliseren in de database (om de overhead te verwijderen die met de delete line is gemaakt) die met $mysqli wordt opgeroepen. Wat doe ik fout?
Simpel advies , je krijgt de echo nooit te zien als je dit als cronjob draait, probeer ipv daarvan het op te vangen in een bestand met behulp van Fopen en Fclose.
http://www.tizag.com/phpT/filewrite.php
Idee ervan is dat je een error.log bestand aanmaakt met mocht er iets fout gegaan zijn met de query kan je het daarin lezen. of error.txt wat je zelf prefereert.
Tijnzondag 22 juli 2012 @ 16:20
quote:
0s.gif Op zondag 22 juli 2012 16:11 schreef Syntix het volgende:

De optimize line werkt echt niet.
Je moet van "table" een variabele maken en deze zetten:

1
2
3
4
<?php
$table 
'mijn_tabel';
mysqli_query($mysqli"OPTIMIZE TABLE " $table);
?>

óf helemaal geen variabele gebruiken:

1
2
3
<?php
mysqli_query
($mysqli"OPTIMIZE TABLE mijn_tabel");
?>
Tijnzondag 22 juli 2012 @ 16:22
quote:
0s.gif Op zondag 22 juli 2012 16:20 schreef cablegunmaster het volgende:

[..]

Simpel advies , je krijgt de echo nooit te zien als je dit als cronjob draait, probeer ipv daarvan het op te vangen in een bestand met behulp van Fopen en Fclose.
http://www.tizag.com/phpT/filewrite.php
Idee ervan is dat je een error.log bestand aanmaakt met mocht er iets fout gegaan zijn met de query kan je het daarin lezen.
Ik vind zelf file_put_contents() makkelijker om een logfile bij te houden dan met fopen(), fwrite() en fclose() te moeten pielen.
cablegunmasterzondag 22 juli 2012 @ 16:23
quote:
14s.gif Op zondag 22 juli 2012 16:22 schreef Tijn het volgende:

[..]

Ik vind zelf file_put_contents() makkelijker om een logfile bij te houden dan met fopen(), fwrite() en fclose() te moeten pielen.
Handig O+ ben zelf ook druk bezig om dit te maken dus toevallig, dat ik dit net las :9. Eroor.log incoming >:) Helaas zal het nog best een leeg log worden :o. maar dat is maar goed ook :).
Syntixzondag 22 juli 2012 @ 16:25
quote:
2s.gif Op zondag 22 juli 2012 16:20 schreef Tijn het volgende:

[..]

Je moet van "table" een variabele maken en deze zetten:
[ code verwijderd ]

óf helemaal geen variabele gebruiken:
[ code verwijderd ]

Bedankt! Aangezien jullie toch zo snel reageren heb ik nog wel een vraagje. Ik draai nu een wamp server en probeer dit cronjob scriptje dus via de command line met php-win -f script.php of php -f script.php. Dit was ik ook van plan bij mijn VPS windows server. Wat ik nu alleen merk is dat nadat script.php klaar is en dus de rijen verwijderd zijn ook php-win.exe ermee kapt (ik heb nu 2 ".exe's" tegelijk draaien en 1 daarvan kapt en de ander draait door). Hoe komt dit? Het maakt niet uit of ik php.exe of php-win.exe draai beiden zorgen ervoor dat 1 php-win bestand ermee stopt.

Error log heb ik niet echt nodig denk ik. Zo belangrijk is het verwijderen niet. Ik zou het zelfs handmatig kunnen doen, maar een cronjob is toch wat handiger.
cablegunmasterzondag 22 juli 2012 @ 16:32
quote:
0s.gif Op zondag 22 juli 2012 16:25 schreef Syntix het volgende:
Wat ik nu alleen merk is dat nadat script.php klaar is en dus de rijen verwijderd zijn ook php-win.exe ermee kapt (ik heb nu 2 ".exe's" tegelijk draaien en 1 daarvan kapt en de ander draait door). Hoe komt dit? Het maakt niet uit of ik php.exe of php-win.exe draai beiden zorgen ervoor dat 1 php-win bestand ermee stopt.
Maakt hij er ook 1 aan als je het script of commandline opent? Want uiteindelijk zul je dit niet commandline draaien maar ergens in een omgeving waar je aangeeft wanneer het gedraait moet worden. En welk script er gedraait zal worden.

Ik weet niet of je dit op een Cpanel of wat voor interface draait maar de meeste webhosters ondersteunen zelf een cronjob paneel waarin je het kan aangeven. Mocht je dit op je eigen lamp server willen draaien zul je toch even moeten uitvogelen hoe je het als cronjob kan instellen ipv als lineair. :)
Syntixzondag 22 juli 2012 @ 16:37
quote:
0s.gif Op zondag 22 juli 2012 16:32 schreef cablegunmaster het volgende:

[..]

Maakt hij er ook 1 aan als je het script of commandline opent? Want uiteindelijk zul je dit niet commandline draaien maar ergens in een omgeving waar je aangeeft wanneer het gedraait moet worden. En welk script er gedraait zal worden.
Ik begrijp je niet helemaal hier dus ik probeer het iets duidelijker uit te leggen. Ik draai nu script1.php en script2.php met de volgende command php-win -f scriptx.php. Ik draai php-win omdat het in de achtergrond draait en ik dus gewoon de cmd kan wegklikken. Die twee scriptjes draaien dus en nu vraag ik wederom via de command line php of php-win -f cronjob.php op zoals het script wat ik hierboven gaf. Ik begrijp idd dat als ik het via een cronjob draai op een vps dat het dan wel werkt, maar ik zou het nu liever alvast "zien" zodat ik het zooitje allemaal online kan gooien en er niet meer naar om hoef te kijken.
cablegunmasterzondag 22 juli 2012 @ 16:51
quote:
0s.gif Op zondag 22 juli 2012 16:37 schreef Syntix het volgende:

[..]

Ik begrijp je niet helemaal hier dus ik probeer het iets duidelijker uit te leggen. Ik draai nu script1.php en script2.php met de volgende command php-win -f scriptx.php. Ik draai php-win omdat het in de achtergrond draait en ik dus gewoon de cmd kan wegklikken. Die twee scriptjes draaien dus en nu vraag ik wederom via de command line php of php-win -f cronjob.php op zoals het script wat ik hierboven gaf. Ik begrijp idd dat als ik het via een cronjob draai op een vps dat het dan wel werkt, maar ik zou het nu liever alvast "zien" zodat ik het zooitje allemaal online kan gooien en er niet meer naar om hoef te kijken.
Waarom kijk je ernaar via de commandline? je kan uiteindelijk het script op compile errors testen door het via de localhost/script.php te draaien in de webbrowser en vervolgens zie je in de webbrowser of er errors zijn of niet.
Syntixzondag 22 juli 2012 @ 20:55
quote:
0s.gif Op zondag 22 juli 2012 16:51 schreef cablegunmaster het volgende:

[..]

Waarom kijk je ernaar via de commandline? je kan uiteindelijk het script op compile errors testen door het via de localhost/script.php te draaien in de webbrowser en vervolgens zie je in de webbrowser of er errors zijn of niet.
Cronjob script is aangepast en lijkt goed te werken nu via de webbrowser. Dus bedankt! Nu alleen nog een goed mysql backup script vinden.
Moneditazondag 22 juli 2012 @ 21:12
quote:
14s.gif Op zondag 22 juli 2012 15:25 schreef Scorpie het volgende:

[..]

Je wilt met 1 ding beginnen? Begin met een database opzetten en daar gegevens in en uit halen en aanpassen.
Database opzetten kan ik wel, okay dus beginnen met losse scriptjes die dat soort opdrachten kunnen uitvoeren. Thanks

quote:
14s.gif Op zondag 22 juli 2012 15:33 schreef remlof het volgende:
Dat lijkt mij ook een hele goeie start. AJAX snel onder de knie krijgen is ook wel een pre tegenwoordig.
AJAX zal ik op de lijst zetten en bestuderen, dankjewel

quote:
0s.gif Op zondag 22 juli 2012 15:51 schreef cablegunmaster het volgende:

[..]

Mij lijkt dit voor een beginner soms nog best ver.

Simpele stappen om te beginnen met PHP te programmeren:
1. installeer Xampp (Aangeraden is het te installeren als service).
http://nl.wikipedia.org/wiki/XAMPP (Wat is Xampp?)
2. Check of het draait (xampp control panel ) Apache en Phpmyadmin zouden aan moeten staan na installeren.
3. "C:\Xampp\htdocs\" (of waar xampp/htdocs ook staat) Maar waar je php bestanden kunt neerzetten in de map htdocs. leeg de hele map maar verwijder de folder niet.
4. Stop hier een bestand in genaamd test.php
5. Vul het met wat simpele php Als voorkeur raad ik aan <?php echo "hello world" ?>
6. en test of het werkt, door naar localhost/test.php te gaan in je webbrowser. Localhost is je xampp webhost en simuleert een webserver en kan gebruikt worden om bvb op je eigen pc een webserver te draaien.

Van deze basis kan je alle kanten op :). Vele tutorials volgen en begrijpen waar het naartoe leidt met php. PRE is een basis van html / CSS. Want dat blijf je altijd houden.

Mijn advies is van boven af aan beginnen met:
- $variabelen (wat zijn ze en waarom? )
- If else . (zoek een simpele rekensom met if else en stop bij beide een echo om te testen of het werkt. Maakt statisch 2 - 3 variabelen aan en reken een som ermee uit als iets kleiner is dan 100 en groter is dan 100 gebasseerd hierop een ander antwoord).
- For loops.
- For each loops.
- Arrays ( maak een arrays met 8 random nummers en sorteer ze van laag naar hoog met behulp van een functie )
- Switch (Wat zijn ze en hoe zijn ze nuttig? )
- Rekenen in php. (Ik heb 8 bomen en elke boom maakt 40 planken , maak een functie die terug geeft hoeveel planken ik krijg bij invoer van Boom en hoeveelheid planken die je terug krijgt , afgerond op integer en overvloed terugkerend met behulp van modulo (Wat is modulo? ) ).
- Functies uit testen
- Includes (Wat zijn ze en waarom zijn ze handig?)
- Maak een formulier. Zoals je normaal ook op een dynamische webpagina ziet. Vul alles in en kijk hoe je de gegevens kunt terug echo'en met wat je hebt ingevuld (Hint: $_POST of $_GET)
Tip: $_POST en $_GET zul je met hoofdletters moeten schrijven of hij pakt/vindt het niet.
- Wanneer gebruik je $_POST en wanneer $_GET?
- Phpmyadmin verkennen (groot programma voor de eerste keer binnen xampp) Localhost/phpmyadmin
- Data uit een Tabel van de Database server te halen (Eerste SQL Select * from table)
- Data opslaan in een tabel. (insert into table )
- Data verwijderen uit een tabel (delete from table)
- Connectie maken in php.
:o Dankje _O_ O+
Super bedankt voor je tijd en moeite om dit op een rij te zetten, ook voor je behulpzame pm !
Ik ga hier lekker mee aan de slag, ik heb je aanbevolen programma al binnen :)
Daarnaastzondag 22 juli 2012 @ 21:20
Hoe kan ik mijn php bestanden in htdocs map ontoegankelijk maken voor pc's op hetzelfde netwerk?

Als ik nu op een andere pc in hetzelfde netwerk mijn ip adres invoer gevolgd door de map waarin mijn php bestanden zitten en eventueel gevolgd door een php bestand invoer, dan hebben mensen gewoon toegang.

Hoe beveilig ik dit?
KomtTijd...zondag 22 juli 2012 @ 23:17
De inhoud van PHP-bestanden is nooit te bekijken. Alleen de output.
Daarnaastzondag 22 juli 2012 @ 23:24
quote:
14s.gif Op zondag 22 juli 2012 23:17 schreef KomtTijd... het volgende:
De inhoud van PHP-bestanden is nooit te bekijken. Alleen de output.
Ja klopt, met de output kun je gegevens in mijn database zetten, dat wil ik vermijden.
Scorpiezondag 22 juli 2012 @ 23:31
http://www.mijn-eigen-website.nl/website-beveiligen.html
Onnomanmaandag 23 juli 2012 @ 10:37
quote:
0s.gif Op zondag 22 juli 2012 16:15 schreef cablegunmaster het volgende:

[..]
[ code verwijderd ]

Daarnaast als het je eigen website is. Men wil niet weten of het niet werkt of wel.
Laat het zien dat het werkt of niet. Je hebt niks aan een pagina, die laat zien dat het "Nog aan gewerkt wordt" of niet. Zo belangrijk is je website niet. :P Daar hebben je bezoekers niks aan. En google rankings al helemaal niet! Laat desnoods een blanko pagina zien! :P (tenminste als het je eerste keer is dat je aan de pagina werkt).
ha.. dus nu heb ik een maintenance pagina met een afbeelding in die dus op een andere locatie zit.. hoe krijg je die toegang vervolgens?

met je opmerking ben ik trouwens niet mee eens.. ik ben namelijk de website aan het bouwen, maar mijn klant wil toch graag dat er alvast wat basis informatie staat met een emailadres en telefoonnummer...

dus bedankt voor het meedenken heur :D
Daarnaastmaandag 23 juli 2012 @ 17:17
Hoe kan ik in php op de juiste manier een functie aanroepen als een button geklikt wordt?

Ik begrijp dat php serverside is.

Maar stel voor je hebt een knop met value='zeg hallo!'

Verder heb je de volgende functie:
1
2
3
4
5
6
<?php
function zegHallo()
{
 echo 
'Hallo!';
}
?>

Hoe kan men met php op de juiste manier bij het drukken van de knop de functio zegHallo() aanroepen?

Nu lijkt het dat ik telkens omwegen moet die eigenlijk niet horen om met een knop een functie aan te roepen.

Hoe wordt dit in praktijk gedaan?

Verder krijg ik bij de volgende stuk code de foutmelding "Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in"

1echo "<form action='<?php=$_SERVER['PHP_SELF'];?>' method=post>";

Hoe komt dit?
KomtTijd...maandag 23 juli 2012 @ 17:19
...in de praktijk doe je dat met javascript.
Daarnaastmaandag 23 juli 2012 @ 17:20
quote:
14s.gif Op maandag 23 juli 2012 17:19 schreef KomtTijd... het volgende:
...in de praktijk doe je dat met javascript.
Dus in een onClick van een button roep je javascript die vervolgens voor je de functie zegHallo(); aanroept?
KomtTijd...maandag 23 juli 2012 @ 17:22
quote:
0s.gif Op maandag 23 juli 2012 17:20 schreef Daarnaast het volgende:

[..]

Dus in een onClick van een button roep je javascript die vervolgens voor je de functie zegHallo(); aanroept?
<button onclick="alert('hallo')">
Ik begrijp niet hoe je voor je ziet dat zoiets uberhaupt door je server uitgevoerd kan worden...
Daarnaastmaandag 23 juli 2012 @ 17:25
quote:
14s.gif Op maandag 23 juli 2012 17:22 schreef KomtTijd... het volgende:

[..]

<button onclick="alert('hallo')">
Ik begrijp niet hoe je voor je ziet dat zoiets uberhaupt door je server uitgevoerd kan worden...
Ja ik begrijp het server/client principe nog niet helemaal. Maar wat als je functie meer doet dan alleen maar hallo printen? Als het bijvoorbeeld berekeningen uit voert en een waarde terug retourneert die je in een php variabele wilt stoppen?
KomtTijd...maandag 23 juli 2012 @ 17:25
En die foutmelding komt waarschijnlijk doordat je dubbele quotes gebruikt en hij daardoor je $_SERVER variable wil gaan parsen.

Althans, zoals het er staat neem ik aan dat het je bedoeling is om een php-codesniplet weer te geven op de pagina?
KomtTijd...maandag 23 juli 2012 @ 17:25
quote:
0s.gif Op maandag 23 juli 2012 17:25 schreef Daarnaast het volgende:

[..]

Ja ik begrijp het server/client principe nog niet helemaal. Maar wat als je functie meer doet dan alleen maar hallo printen? Als het bijvoorbeeld berekeningen uit voert en een waarde terug retourneert die je in een php variabele wilt stoppen?
Lees je in in forms.
Scorpiemaandag 23 juli 2012 @ 18:33
quote:
0s.gif Op maandag 23 juli 2012 17:25 schreef Daarnaast het volgende:

[..]

Ja ik begrijp het server/client principe nog niet helemaal. Maar wat als je functie meer doet dan alleen maar hallo printen? Als het bijvoorbeeld berekeningen uit voert en een waarde terug retourneert die je in een php variabele wilt stoppen?
Daar heb je forms en form submittal voor.
Tijnmaandag 23 juli 2012 @ 20:11
quote:
0s.gif Op maandag 23 juli 2012 17:25 schreef Daarnaast het volgende:

[..]

Ja ik begrijp het server/client principe nog niet helemaal. Maar wat als je functie meer doet dan alleen maar hallo printen? Als het bijvoorbeeld berekeningen uit voert en een waarde terug retourneert die je in een php variabele wilt stoppen?
Daar zijn POST en GET voor.

Dit is bijvoorbeeld een formulier waarmee je de gebruiker om een waarde vraagt:

1
2
3
4
<form action="" method="post">
    <label>Voer hier een getal in: <input type="number" name="nummer" /></label>
    <button type="submit">doe het</button>
</form>

En als je dit er dan bij plakt, wordt er op de server een waarde berekend en getoond op basis van de invoer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
  
$nummer intval($_POST['nummer']);
  if(
$nummer)
  {
    
$tweekeerdehelft = (0.5 $_POST['nummer']) * (0.5 $_POST['nummer']);
    echo 
'<p>Twee keer de helft van <strong>'.$nummer.'</strong> is <strong>'.$tweekeerdehelft.'</strong>.</p>';
  }
  else
  {
    echo 
'<p>Nee, fout.</p>';
  }
}
?>

Omdat je in het formulier de waarde "nummer" hebt genoemd (met 'name="nummer"'), is deze invoer nadat het formulier is verstuurd op de server beschikbaar als $_POST['nummer']. Als het formulier met 'method="GET"' verstuurd was, dan was het op de server beschikbaar geweest als $_GET['nummer'].
Faux.dinsdag 24 juli 2012 @ 14:40
Ik heb een PHP-script dat elke minuut uitgevoerd dient te worden. Is het dan slimmer om dit via een cron job te doen of het PHP-script opstarten in het Terminal en dan met sleep(); elke minuut zichzelf laten uitvoeren?
mstxdinsdag 24 juli 2012 @ 14:41
quote:
11s.gif Op dinsdag 24 juli 2012 14:40 schreef Faux. het volgende:
Ik heb een PHP-script dat elke minuut uitgevoerd dient te worden. Is het dan slimmer om dit via een cron job te doen of het PHP-script opstarten in het Terminal en dan met sleep(); elke minuut zichzelf laten uitvoeren?
Daar is cron voor bedoeld.
Tijndinsdag 24 juli 2012 @ 14:41
quote:
11s.gif Op dinsdag 24 juli 2012 14:40 schreef Faux. het volgende:
Ik heb een PHP-script dat elke minuut uitgevoerd dient te worden. Is het dan slimmer om dit via een cron job te doen of het PHP-script opstarten in het Terminal en dan met sleep(); elke minuut zichzelf laten uitvoeren?
Cron natuurlijk.
Faux.dinsdag 24 juli 2012 @ 14:45
Okido, dank :)
KomtTijd...dinsdag 24 juli 2012 @ 14:50
quote:
11s.gif Op dinsdag 24 juli 2012 14:40 schreef Faux. het volgende:
Ik heb een PHP-script dat elke minuut uitgevoerd dient te worden.
Daar geloof ik niets van. Maar zo wel: cron inderdaad
Scorpiedinsdag 24 juli 2012 @ 14:59
quote:
14s.gif Op dinsdag 24 juli 2012 14:50 schreef KomtTijd... het volgende:

[..]

Daar geloof ik niets van. Maar zo wel: cron inderdaad
Bwhehe :D
Daarnaastwoensdag 25 juli 2012 @ 15:01
Ik heb als test een simpele database applicatie gemaakt in PHP. Als gebruiker kun je data opslaan, wijzigen of verwijderen. Nu wil ik een de gebruiker notificeren van een wijziging/verwijdering/toevoegen. Op dit moment doe ik dat gewoon met een echo command, maar wat is een betere manier om de gebruiker te notificeren?

Het probleem met notificeren via de echo command dat ik heb is, de notificatie wordt op dezelfde plek geprint als regel code waar het aangemaakt wordt. Ik wil specifieke locatie voor notificaties hebben. Hoe is dit te realiseren met php?
Scorpiewoensdag 25 juli 2012 @ 15:05
Dat delegeer je meestal naar de frontend toe vanuit PHP. Je zet serverside dan een variabele in de sessie die aan de voorkant uitgelezen wordt.
KomtTijd...woensdag 25 juli 2012 @ 15:12
quote:
0s.gif Op dinsdag 24 juli 2012 14:59 schreef Scorpie het volgende:

[..]

Bwhehe :D
Ik moest ook al een beetje huilen toen ik ontdekte dat de applicatie waar ik aan werk een cronjob gebruikt om notificaties te sturen van statuschanges ;(
Scorpiewoensdag 25 juli 2012 @ 15:12
quote:
14s.gif Op woensdag 25 juli 2012 15:12 schreef KomtTijd... het volgende:

[..]

Ik moest ook al een beetje huilen toen ik ontdekte dat de applicatie waar ik aan werk een cronjob gebruikt om notificaties te sturen van statuschanges ;(
Prachtig toch, Delayed Event Driven Model _O_
mafkees10woensdag 25 juli 2012 @ 23:02
Hoe doen jullie eigenlijk een website bouwen als je niet gebruikt maakt van frameworks? Ik ben bezig met een concept zit even zelf te denken hoe ik dit het best kan doen. Ik dacht aan het MVC design pattern waarbij ik eerst de globale objecten ga creëren als value objects. Daaromheen een DAO class die databaseafhandeling doet en een Controller class die eigenlijk alles controleert. Voor de controller dus een HTML laag die de controller aanroept en wellicht daar nog wat een extra klasse indien nodig. Hoe doen jullie doet zodat alles een beetje gestructureerd en overzichtelijk blijft?
Tijnwoensdag 25 juli 2012 @ 23:11
Ik maak gewoon een mapje met controllers, een mapje met models en een mapje met views. Overzichtelijker kan imho niet.

Om het aan de praat te krijgen maak ik eerst een .htaccess file die de boel bootstrapt naar index.php, daar parse ik de opgevraagde url, haal dat door een router functie en die roept vervolgens de juiste controller method met de juiste parameters aan.

De controller pakt er in de meeste gevallen een paar models bij, harkt de juiste data bij elkaar en roept tot slot een view aan, wat in feite een HTML-pagina is met wat variabelen erin.

Vroeger gebruikte ik nog wel eens Smarty voor de views omdat ik dacht dat dat handig was, maar de laatste tijd gebruik ik gewoon plain HTML files met af en toe wat PHP tags erin, wel zo makkelijk.
KomtTijd...donderdag 26 juli 2012 @ 00:32
quote:
0s.gif Op woensdag 25 juli 2012 23:02 schreef mafkees10 het volgende:
Hoe doen jullie eigenlijk een website bouwen als je niet gebruikt maakt van frameworks?
...gewoon niet?
Dalandodonderdag 26 juli 2012 @ 19:43
Misschien best wel een noob vraagje :@

Maar ik heb een PHP script wat een aantal seconden kan duren voor het uitgevoerd is. Nu wil ik er voor zorgen dat de content al wordt weergegeven ookal is het script niet klaar, bijvoorbeeld zo:

1
2
3
4
5
6
7
8
9
<?php
// we doen deel 1

echo 'Deel 1 van de 5 klaar<br/>'// Nu zou er moeten staan: Deel 1 van de 5 is klaar

// we doen deel 2 

echo 'Deel 2 van de 5 klaar<br/>'// Nu zou er moeten staan: Deel 1 van de 5 is klaar \n Deel 2 van de 5 is klaar etc...
?>

Dit is toch mogelijk? :@

En werkt dit ook als de content wordt weergegeven met AJAX? Of kun je een progressbar weergeven dmv AJAX terwijl delen van het PHP script worden uitgevoerd?
WyriHaximusdonderdag 26 juli 2012 @ 19:46
quote:
14s.gif Op donderdag 26 juli 2012 00:32 schreef KomtTijd... het volgende:

[..]

...gewoon niet?
Dat dus, gebruik alleen geen framework als het in 1 html file te doen is met niks server side.
Scorpiedonderdag 26 juli 2012 @ 19:47
quote:
0s.gif Op woensdag 25 juli 2012 23:02 schreef mafkees10 het volgende:
Hoe doen jullie eigenlijk een website bouwen als je niet gebruikt maakt van frameworks? Ik ben bezig met een concept zit even zelf te denken hoe ik dit het best kan doen. Ik dacht aan het MVC design pattern waarbij ik eerst de globale objecten ga creëren als value objects. Daaromheen een DAO class die databaseafhandeling doet en een Controller class die eigenlijk alles controleert. Voor de controller dus een HTML laag die de controller aanroept en wellicht daar nog wat een extra klasse indien nodig. Hoe doen jullie doet zodat alles een beetje gestructureerd en overzichtelijk blijft?
Niet. Wat jij doet is cakephp nabouwen.
WyriHaximusdonderdag 26 juli 2012 @ 19:48
quote:
2s.gif Op donderdag 26 juli 2012 19:43 schreef Dalando het volgende:
Misschien best wel een noob vraagje :@

Maar ik heb een PHP script wat een aantal seconden kan duren voor het uitgevoerd is. Nu wil ik er voor zorgen dat de content al wordt weergegeven ookal is het script niet klaar, bijvoorbeeld zo:
[ code verwijderd ]

Dit is toch mogelijk? :@

En werkt dit ook als de content wordt weergegeven met AJAX? Of kun je een progressbar weergeven dmv AJAX terwijl delen van het PHP script worden uitgevoerd?
Wat doe je dat het een aantal seconden duurt? Het lijk mij handiger om dat gewoon via ajax aan te roepen met een http://fgnass.github.com/spin.js/ als indicator dat er iets aan de gang is.
Scorpiedonderdag 26 juli 2012 @ 19:49
quote:
6s.gif Op donderdag 26 juli 2012 19:48 schreef WyriHaximus het volgende:

[..]

Wat doe je dat het een aantal seconden duurt? Het lijk mij handiger om dat gewoon via ajax aan te roepen met een http://fgnass.github.com/spin.js/ als indicator dat er iets aan de gang is.
Een sleep(5000) gebruiken omdat het interessant staat als het systeem zo druk bezig is _O_
WyriHaximusdonderdag 26 juli 2012 @ 19:50
quote:
10s.gif Op donderdag 26 juli 2012 19:49 schreef Scorpie het volgende:

[..]

Een sleep(5000) gebruiken omdat het interessant staat als het systeem zo druk bezig is _O_
_O-

Maar dan nog kan ik me niks bedenken wat zo lang zou mogen duren zonder dat je het als een backend job zou laten runnen.
GlowMousedonderdag 26 juli 2012 @ 20:06
quote:
2s.gif Op donderdag 26 juli 2012 19:43 schreef Dalando het volgende:
Misschien best wel een noob vraagje :@

Maar ik heb een PHP script wat een aantal seconden kan duren voor het uitgevoerd is. Nu wil ik er voor zorgen dat de content al wordt weergegeven ookal is het script niet klaar, bijvoorbeeld zo:
[ code verwijderd ]

Dit is toch mogelijk? :@

En werkt dit ook als de content wordt weergegeven met AJAX? Of kun je een progressbar weergeven dmv AJAX terwijl delen van het PHP script worden uitgevoerd?
het kan met flush(), maar niet via ajax; dan moet je voor elke stap een aparte request doen
Dalandodonderdag 26 juli 2012 @ 20:14
quote:
0s.gif Op donderdag 26 juli 2012 20:06 schreef GlowMouse het volgende:

[..]

het kan met flush(), maar niet via ajax; dan moet je voor elke stap een aparte request doen
-O- Jammer
Dalandodonderdag 26 juli 2012 @ 20:15
quote:
6s.gif Op donderdag 26 juli 2012 19:50 schreef WyriHaximus het volgende:

[..]

_O-

Maar dan nog kan ik me niks bedenken wat zo lang zou mogen duren zonder dat je het als een backend job zou laten runnen.
Informatie verzamelen en parsen van ~20 API's, gemiddelden uit berekenen en in de database stoppen.
WyriHaximusdonderdag 26 juli 2012 @ 20:45
quote:
2s.gif Op donderdag 26 juli 2012 20:15 schreef Dalando het volgende:

[..]

Informatie verzamelen en parsen van ~20 API's, gemiddelden uit berekenen en in de database stoppen.
Kijk eens naar cronjobs om dingen buiten requests om te laten draaien.
Pakspuldonderdag 26 juli 2012 @ 20:46
quote:
14s.gif Op maandag 23 juli 2012 20:11 schreef Tijn het volgende:

[..]

Daar zijn POST en GET voor.

Dit is bijvoorbeeld een formulier waarmee je de gebruiker om een waarde vraagt:
[ code verwijderd ]

En als je dit er dan bij plakt, wordt er op de server een waarde berekend en getoond op basis van de invoer:
[ code verwijderd ]

Omdat je in het formulier de waarde "nummer" hebt genoemd (met 'name="nummer"'), is deze invoer nadat het formulier is verstuurd op de server beschikbaar als $_POST['nummer']. Als het formulier met 'method="GET"' verstuurd was, dan was het op de server beschikbaar geweest als $_GET['nummer'].
Twee keer de helft van een bepaald nummer is iets anders dan het kwadraat van de helft van een bepaald nummer.
WyriHaximusdonderdag 26 juli 2012 @ 20:49
quote:
1s.gif Op donderdag 26 juli 2012 19:47 schreef Scorpie het volgende:

[..]

Niet. Wat jij doet is cakephp nabouwen.
Is op zich ook niet erg om een keertje te doen als je tijd teveel heb :).
Tijndonderdag 26 juli 2012 @ 22:04
quote:
0s.gif Op donderdag 26 juli 2012 20:46 schreef Pakspul het volgende:

[..]

Twee keer de helft van een bepaald nummer is iets anders dan het kwadraat van de helft van een bepaald nummer.
Joh :+
Scorpiedonderdag 26 juli 2012 @ 22:33
quote:
6s.gif Op donderdag 26 juli 2012 20:49 schreef WyriHaximus het volgende:

[..]

Is op zich ook niet erg om een keertje te doen als je tijd teveel heb :).
Ik heb nooit tijd teveel. Daarom gebruik ik frameworks :P
WyriHaximusdonderdag 26 juli 2012 @ 22:50
quote:
1s.gif Op donderdag 26 juli 2012 22:33 schreef Scorpie het volgende:

[..]

Ik heb nooit tijd teveel. Daarom gebruik ik frameworks :P
Mm ik ook, daarom heb ik tijd om echt toffe dingen te bouwen :Y.
Dalandovrijdag 27 juli 2012 @ 00:02
quote:
6s.gif Op donderdag 26 juli 2012 20:45 schreef WyriHaximus het volgende:

[..]

Kijk eens naar cronjobs om dingen buiten requests om te laten draaien.
Met gebruiker-opgegeven data? ;)
cablegunmastervrijdag 27 juli 2012 @ 01:02
quote:
0s.gif Op woensdag 25 juli 2012 23:02 schreef mafkees10 het volgende:
Hoe doen jullie eigenlijk een website bouwen als je niet gebruikt maakt van frameworks? Ik ben bezig met een concept zit even zelf te denken hoe ik dit het best kan doen. Ik dacht aan het MVC design pattern waarbij ik eerst de globale objecten ga creëren als value objects. Daaromheen een DAO class die databaseafhandeling doet en een Controller class die eigenlijk alles controleert. Voor de controller dus een HTML laag die de controller aanroept en wellicht daar nog wat een extra klasse indien nodig. Hoe doen jullie doet zodat alles een beetje gestructureerd en overzichtelijk blijft?
De vraag die jejezelf moet stellen is waarom zou je dit willen? (wiel opnieuw uitvinden? mag altijd!)
cablegunmastervrijdag 27 juli 2012 @ 01:10
quote:
2s.gif Op vrijdag 27 juli 2012 00:02 schreef Dalando het volgende:

[..]

Met gebruiker-opgegeven data? ;)
- Mits het een weinig gevraagde opvraging is:
Wat sommige bedrijven doen, is een tussen knop erbij maken terwijl hij ondertussen alles al uitrekent terwijl de pagina laad van de tussen knop. Zijn er al een paar seconde verstreken. Zo lijkt het korter te duren voor de persoon die de gegevens opvraagt. (desnoods met jquery tussen stap een venster met een Gifje tonen en eronder "even geduld alstublieft uw gegevens worden opgevraagd")

- Mits het een opvraging is die vaak gesteld word, of verschillende tabellen / gegevens gaat dan kan je die opvraging cachen. (ergens in een bestandje opslaan) en als het een bepaalde oudheid heeft kan je het laten verversen. Desnoods met een cronjob. (bvb laatste 10 opvragingen. Met behulp van een bestandje de querys bijhouden + datum en dan parsen bij elke cronjobcycle).

- Als het om een statische opvraging gaat dan is een cronjob het beste (eens per X minuten).
Dalandovrijdag 27 juli 2012 @ 15:14
quote:
0s.gif Op vrijdag 27 juli 2012 01:10 schreef cablegunmaster het volgende:

[..]

- Mits het een weinig gevraagde opvraging is:
Wat sommige bedrijven doen, is een tussen knop erbij maken terwijl hij ondertussen alles al uitrekent terwijl de pagina laad van de tussen knop. Zijn er al een paar seconde verstreken. Zo lijkt het korter te duren voor de persoon die de gegevens opvraagt. (desnoods met jquery tussen stap een venster met een Gifje tonen en eronder "even geduld alstublieft uw gegevens worden opgevraagd")

- Mits het een opvraging is die vaak gesteld word, of verschillende tabellen / gegevens gaat dan kan je die opvraging cachen. (ergens in een bestandje opslaan) en als het een bepaalde oudheid heeft kan je het laten verversen. Desnoods met een cronjob. (bvb laatste 10 opvragingen. Met behulp van een bestandje de querys bijhouden + datum en dan parsen bij elke cronjobcycle).

- Als het om een statische opvraging gaat dan is een cronjob het beste (eens per X minuten).
Voor 1 kolom duurt het ongeveer 5 seconden, en er zijn ongeveer 7000 opties mogelijk, dus voor 7000 mogelijkheden * 5 seconden iedere 10 minuten als cronjob draaien en cachen is niet slim en ook niet echt ruimte besparend ;)
cablegunmastervrijdag 27 juli 2012 @ 16:31
quote:
2s.gif Op vrijdag 27 juli 2012 15:14 schreef Dalando het volgende:

[..]

Voor 1 kolom duurt het ongeveer 5 seconden, en er zijn ongeveer 7000 opties mogelijk, dus voor 7000 mogelijkheden * 5 seconden iedere 10 minuten als cronjob draaien en cachen is niet slim en ook niet echt ruimte besparend ;)
Ik zeg ook niet alles maar de top 50 queries die het meest opgevraagd worden. Zou handig zijn :P .
Bijhoudend hoe vaak de queries gedraait worden op basis daarvan aanpassen welke queries gecached moeten worden. :P
KomtTijd...vrijdag 27 juli 2012 @ 16:32
vraag me wel af wat je aant doen bent dat zoveel zoektijd kost! :o
Dalandovrijdag 27 juli 2012 @ 16:52
quote:
14s.gif Op vrijdag 27 juli 2012 16:32 schreef KomtTijd... het volgende:
vraag me wel af wat je aant doen bent dat zoveel zoektijd kost! :o
Weer, nieuws en verdere lokale informatie voor iedere stad / dorp in Nederland.
Dalandovrijdag 27 juli 2012 @ 16:53
quote:
0s.gif Op vrijdag 27 juli 2012 16:31 schreef cablegunmaster het volgende:

[..]

Ik zeg ook niet alles maar de top 50 queries die het meest opgevraagd worden. Zou handig zijn :P .
Bijhoudend hoe vaak de queries gedraait worden op basis daarvan aanpassen welke queries gecached moeten worden. :P
Dat kan dan wel :)
cablegunmastervrijdag 27 juli 2012 @ 17:05
quote:
2s.gif Op vrijdag 27 juli 2012 16:53 schreef Dalando het volgende:

[..]

Dat kan dan wel :)
Als de cache corrupt is laten verwijderen door de cronjob (afloop een check ) Weet niet zo uit mijn hoofd welke :p. Vervolgens opnieuw laten draaien. Als iemand het dan opvraagt de query laten draaien ipv de cache opvraag.

1
2
3
4
5
6
7
8
9
<?php
//Cache check.
if(!file_exist($cache_location){
 
//voer gegevens uit op de website, toon het
}else{
 
//$db->query("");
 // de rest van de gegevens. of wat dan ook xD 
}
?>
Dalandovrijdag 27 juli 2012 @ 17:07
quote:
0s.gif Op vrijdag 27 juli 2012 17:05 schreef cablegunmaster het volgende:

[..]

Als de cache corrupt is laten verwijderen door de cronjob (afloop een check ) Weet niet zo uit mijn hoofd welke :p. Vervolgens opnieuw laten draaien. Als iemand het dan opvraagt de query laten draaien ipv de cache opvraag.
[ code verwijderd ]

Dankje voor de tip :s)
GlowMousevrijdag 27 juli 2012 @ 17:37
quote:
0s.gif Op vrijdag 27 juli 2012 17:05 schreef cablegunmaster het volgende:

[..]

Als de cache corrupt is laten verwijderen door de cronjob (afloop een check ) Weet niet zo uit mijn hoofd welke :p. Vervolgens opnieuw laten draaien. Als iemand het dan opvraagt de query laten draaien ipv de cache opvraag.
[ code verwijderd ]

"cache miss storm"
mafkees10maandag 30 juli 2012 @ 15:39
quote:
0s.gif Op vrijdag 27 juli 2012 01:02 schreef cablegunmaster het volgende:

[..]

De vraag die jejezelf moet stellen is waarom zou je dit willen? (wiel opnieuw uitvinden? mag altijd!)
Heb je vaak wat beter controle over alles omdat het van scratch af aan is opgebouwd.. Maar ga even kijken naar verschillende frameworks! bedankt :)
Chandlerdinsdag 31 juli 2012 @ 13:52
Wie weet hoe ik in 1 query uit 2 tabellen de verschillen kan halen?

Stel ik heb 2 tabellen met bestandsnamen, en wil uit tabel 2 weten welke niet voorkomen in tabel 1? hoe kan ik dat in 1 query opzoeken?
GlowMousedinsdag 31 juli 2012 @ 14:05
dat kan met WHERE NOT EXISTS
Chandlerdinsdag 31 juli 2012 @ 14:14
quote:
0s.gif Op dinsdag 31 juli 2012 14:05 schreef GlowMouse het volgende:
dat kan met WHERE NOT EXISTS
Tnx, jou tip en de mysql manual hebben het opgelost! :)
mstxdonderdag 2 augustus 2012 @ 11:39
1
2
3
<?php
    var_dump
((int)(8.45*100));
?>
Waarom is dit 844?
Tijndonderdag 2 augustus 2012 @ 11:47
quote:
9s.gif Op donderdag 2 augustus 2012 11:39 schreef mstx het volgende:

[ code verwijderd ]

Waarom is dit 844?
Ik denk een afrondingsfout zoals je die wel vaker ziet met floats. Dezelfde reden dat dit niet werkt bv:

1
2
3
4
5
6
7
8
9
10
<?php
if((0.1 0.2) === 0.3)
{
  die(
'true');
}
else
{
  die(
'false');
}
?>
Boze_Appeldonderdag 2 augustus 2012 @ 11:50
Als je gaat rekenen met float en (int) gebruikt dan werkt het als floor en wordt dus naar beneden afgerond.

Gebruik: round(8.45*100) als je af wil ronden naar een heel getal.
Tijndonderdag 2 augustus 2012 @ 11:52
quote:
7s.gif Op donderdag 2 augustus 2012 11:50 schreef Boze_Appel het volgende:
Als je gaat rekenen met float en (int) gebruikt dan werkt het als floor en wordt dus naar beneden afgerond.
Het punt is dat 8.45 * 100 gewoon 845 zou moeten zijn, met of zonder afronding.

Maar dat is het niet, want 8.45 bestaat niet in floats.
mstxdonderdag 2 augustus 2012 @ 11:54
Heb het overigens opgelost door de cast naar int weg te halen. Het was nog een overbodig stuk code (van een collega) ook, ben er een uur mee bezig geweest om te fout te vinden. :')

1
2
3
4
5
6
7
public function setAmount($amount) {
        $tmpAmount = (int) ($amount * 100);

        if ($tmpAmount / 100 == $amount && $tmpAmount >= 0 && $tmpAmount <= 999999999999 ) {
            $this->amount = $tmpAmount;
        }
}
Ik snap sowieso niet wat de toegevoegde waarde is om $amount*100 te doen en dan te controleren of $amount/100 het zelfde is als $amount.
Het zoeken naar de fout was ook lekker makkelijk als je alleen "Une erreur s'est produite. Veuillez contacter votre marchand." terugkrijgt als foutmelding. :')

quote:
7s.gif Op donderdag 2 augustus 2012 11:50 schreef Boze_Appel het volgende:
Als je gaat rekenen met float en (int) gebruikt dan werkt het als floor en wordt dus naar beneden afgerond.
Maar als je 5.45 gebruikt gaat het wel goed.

[ Bericht 5% gewijzigd door mstx op 02-08-2012 12:00:28 ]
Tijndonderdag 2 augustus 2012 @ 11:59
quote:
14s.gif Op donderdag 2 augustus 2012 11:54 schreef mstx het volgende:

Maar als je 5.45 gebruikt gaat het wel goed.
Floats zijn gewoon niet exact. Sommige getallen kunnen wel, anderen niet.

Als je wil dat een getal exact klopt (zoals bv geldbedragen) moet je floats in z'n geheel vermijden en alles met ints doen.
ralfiedonderdag 2 augustus 2012 @ 12:02
quote:
6s.gif Op donderdag 2 augustus 2012 11:52 schreef Tijn het volgende:

[..]

Het punt is dat 8.45 * 100 gewoon 845 zou moeten zijn, met of zonder afronding.

Maar dat is het niet, want 8.45 bestaat niet in floats.
Het is waarschijnlijk een combinatie. 8.45 * 100 geeft waarschijnlijk iets van 844.98989898989 ofzo. Afronden geeft 845, maar casten naar int geeft 844 want een cast trunkeert (is dit nederlands?) alleen.
Tijndonderdag 2 augustus 2012 @ 12:05
quote:
0s.gif Op donderdag 2 augustus 2012 12:02 schreef ralfie het volgende:

[..]

8.45 * 100 geeft waarschijnlijk iets van 844.98989898989 ofzo.
En dat is zo omdat 8.45 niet in floats uit te drukken is.

Zie ook Wikipedia over dit probleem. Het speelt niet alleen bij PHP.
wipes66vrijdag 10 augustus 2012 @ 14:02
Ziet iemand de fout in de volgende query :?

DELETE FROM messenges WHERE session_id = 6 ORDER BY date_created DESC LIMIT 10,32

Ik krijg de volgende foutmelding: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '32' at line 1

Ik zie niet wat er mis is met die 32... die limit statement betekend toch gewoon begin bij de 10e en ga 32 rows verder ??
Boze_Appelvrijdag 10 augustus 2012 @ 14:07
quote:
0s.gif Op vrijdag 10 augustus 2012 14:02 schreef wipes66 het volgende:
messenges
:')
mstxvrijdag 10 augustus 2012 @ 14:08
Volgens mij kun je bij DELETE geen offset meegeven bij de LIMIT maar alleen het maximum aantal rijen.

Misschien kun je het op deze manier doen?

DELETE FROM messenges WHERE id IN (SELECT id FROM messenges WHERE session_id = 6 ORDER BY date_created DESC LIMIT 10,32)
wipes66vrijdag 10 augustus 2012 @ 14:19
mmm dat zou het idd verklaren. ik heb het ieder geval met de volgende query opgelost:

DELETE FROM `test_sandbox`
WHERE id <= (
SELECT id
FROM (
SELECT id
FROM `test_sandbox`
ORDER BY id DESC
LIMIT 1 OFFSET 42 -- keep this many records
) foo
)

van http://stackoverflow.com/(...)able-except-latest-n
Cue_dinsdag 14 augustus 2012 @ 10:11
Iemand die even mee kan denken?

Ik zit met een trigger in PL/SQL. Vanuit die trigger stuur ik een mail naar emailadres. Deze mail wordt doorgezonden daar een Duits ingestelde mobiel.

De weergave van de ontvangen datum staat echter nu op 01-01-1970 (op de telefoon). of te wel hij herkent het datumformat niet. Maar wat ik ook probeer, ik krijg hem hier niet vanaf.

Opzich bij het versturen stellen we de gegevens zo in op deze manier
1
2
3
4
5
6
7
8
Message :='Date: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')||crlf||
'From: '||sender||crlf||
'To: '||res_recipient||crlf||
'Cc: '||cc_recipient||crlf||
'Cc: '||cc_recipient2||crlf||
'Subject: '||subj||crlf||
''||crlf||
BODY;
maar ook als ik bv de DATE niet instel komt ie verkeerd aan.

Iemand ideeen / denkwijzes of iets dergelijks?
Scorpiedinsdag 14 augustus 2012 @ 10:20
Zonder data kunnen we alleen maar gissen natuurlijk.
Cue_dinsdag 14 augustus 2012 @ 10:22
quote:
0s.gif Op dinsdag 14 augustus 2012 10:20 schreef Scorpie het volgende:
Zonder data kunnen we alleen maar gissen natuurlijk.
Wat voor gegeven kan je gebruiken dan?
Want ik denk/dacht dat het hem in de
'Date: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')|

zou moeten zitten. En dat die het format niet herkend. Maar verschillende variaties geprobeerd.
Scorpiedinsdag 14 augustus 2012 @ 10:24
quote:
0s.gif Op dinsdag 14 augustus 2012 10:22 schreef Cue_ het volgende:

[..]

Wat voor gegeven kan je gebruiken dan?
Want ik denk/dacht dat het hem in de
'Date: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')|

zou moeten zitten. En dat die het format niet herkend. Maar verschillende variaties geprobeerd.
Dit ook al geprobeerd? http://www.java2s.com/Tut(...)THDDYYYYHH24MISS.htm
Cue_dinsdag 14 augustus 2012 @ 10:27
quote:
Daarnet, geen effect ;(
MrNileswoensdag 15 augustus 2012 @ 15:59
vanuit het [html, css, js] met font tags :) #27

quote:
ik wil graag het menu in 1x kunnen opbouwen, voor elke pagina
heb nu 1 pagina (de index) met html/css, hierin staat een stukje php die uit een andere file een functie haalt op het moment dat er op een link wordt geklikt, in die functie staat de tekst die in het "main"-venster komt te staan.
Dus 1 opmaak pagina...
nu wil ik dus in die opmaakpagina ook mijn menu zetten..maar hoe krijg ik zo'n "complex" menu gevangen op 1 pagina

mijn pagina met een werkend menu maar dit is dus heel omslachtig gemaakt door heel veel html pagina's
heb deze pagina gemaakt toen ik eigenlijk alleen nog maar de include van php kon.
elke pagina bestaat dus uit een complete html pagina...ben nu wel zover dat ik weet dat dat niet slim is als je iets wilt aanpassen
wat ik al heb:
voor het hoofdmenu (navigatiebalk)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function menu() {
        
$sql mysql_query("SELECT * FROM contentmenu WHERE C_name = C_hoofd ORDER BY C_id ASC");

        
$array = array();
        
$i 0;
        while(
$tmp mysql_fetch_array($sql)) {
        
$array[$i]["naam"] = $tmp["C_hoofd"];

        
$i++;
        }
       return 
$array;
        }

        
$menu menu();
        foreach(
$menu as $menudata) {
        
$actief $menudata["naam"] == $_GET['func'] ? ' actief' '';
        echo 
"<a href = 'index_new2.php?func=".$menudata["naam"]."' class='".$menudata["naam"]. $actief ." ' >".$menudata["naam"]."</a>";
        }
          
?>

Voor het submenu
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
function submenu(){

$funcmysql_real_escape_string($_GET['func']);

$sql mysql_query ("SELECT * FROM contentmenu WHERE  C_name != C_hoofd  AND C_hoofd = '$func'  ORDER BY C_id ASC ") or die (mysql_error());
$array = array();
$i 0;
while(
$tmp mysql_fetch_array($sql)) {
$array[$i]["naam"] = $tmp["C_name"];

$i++;
}
return 
$array;
}

$submenu submenu();
        foreach(
$submenu as $submenudata) {
        
$actief $submenudata["naam"] == $_GET['func'] ? ' actief' '';
        echo 
"<li><a href = 'index_new2.php?func=".$submenudata["naam"]."' class='".$submenudata["naam"]. $actief ." ' >".$submenudata["naam"]."</a></li>";
        }

          
?>
?>

Wat ik wil:
Een navigatiebalk met submenu's
deze submenu's zijn te zien langs het "main"-textveld, dus niet uitklapbaar oid
Graag wil ik een active kleur aan de navigatiebalk EN een active kleur aan het submenu.
Het submenu moet zichtbaar blijven als er een item uit het submenu wordt weergegeven.
Hopelijk is het duidelijk wat ik zoek

Wat ik heb: misschien niet slim en ik sta open voor suggesties...
een database met de namen van menu en submenu
hoofd1 - sub1
hoofd1 - sub2
hoofd2 - sub1
etc

ik krijg de navigatiebalk opgebouwt en ik krijg er ook het submenu bij

So far so good
maar als ik nu een submenu aanklik dan verdwijnt het submenu
ook is de navigatieknop niet meer active

het doel is om in 1x heel het menu te kunnen vangen zodat ik maar 1x mijn pagina op maak.
Is het mogelijk wat ik wil...op deze manier???
KomtTijd...donderdag 16 augustus 2012 @ 14:33
kan ik ipv dit:
1
2
3
4
5
6
7
<?php
$sql 
'SELECT * FROM machines';
if (!empty(
$ids)) {
  
$sql .= 'WHERE id IN '.$ids;
}
$sql .= 'ORDER BY ...';
?>

ook zoiets doen?
1
2
3
4
5
<?php
if (empty($ids))
  
$ids '*';
$sql 'SELECT * FROM machines WHERE id IN '.$ids.' ORDER BY ...';
?>

zoals in het laatste voorbeeld is het veel duidelijker wat de query doet, alleen met * werkt het niet. Met % ook niet. Of moet ik dit gewoon niet willen?
remi1986donderdag 16 augustus 2012 @ 14:36
quote:
14s.gif Op donderdag 16 augustus 2012 14:33 schreef KomtTijd... het volgende:
kan ik ipv dit:
[ code verwijderd ]

ook zoiets doen?
[ code verwijderd ]

zoals in het laatste voorbeeld is het veel duidelijker wat de query doet, alleen met * werkt het niet. Met % ook niet. Of moet ik dit gewoon niet willen?
IN werkt met ('1','2','3').

als $ids een array is kan je implode gebruiken. Of bedoel je dit niet?
GlowMousedonderdag 16 augustus 2012 @ 14:39
Dat moet je niet willen, IN kent geen wildcards. Misschien kun je nog iets doen als (id IN (-1) OR 1=1), maar dat vergroot de leesbaarheid niet.
KomtTijd...donderdag 16 augustus 2012 @ 14:46
quote:
14s.gif Op donderdag 16 augustus 2012 14:39 schreef GlowMouse het volgende:
Dat moet je niet willen, IN kent geen wildcards. Misschien kun je nog iets doen als (id IN (-1) OR 1=1), maar dat vergroot de leesbaarheid niet.
ja zoiets zat ik ook al te denken maar dat maakt het alleen maar vager inderdaad.
quote:
0s.gif Op donderdag 16 augustus 2012 14:36 schreef remi1986 het volgende:

[..]

IN werkt met ('1','2','3').

als $ids een array is kan je implode gebruiken. Of bedoel je dit niet?
$ids is normaalgesproken een comma seperated lijst met id's inderdaad, maar als die leeg is wil ik alles selecteren ipv niets. Voorbeeld 1 werkt gewoon maar vond ik lelijk :P
remi1986donderdag 16 augustus 2012 @ 14:47
met LIKE = '%%' krijg je geloof ik wel alles terug, maar hier schiet je niks mee op
TwenteFCdonderdag 23 augustus 2012 @ 18:56
Is iemand hier bekend met het Laravel framework?
Ben wel benieuwd naar zijn/haar mening hier over, het liefste in vergelijking met CodeIgniter.
cablegunmastervrijdag 24 augustus 2012 @ 17:39
1
2
3
RewriteRule ^/?product/(.*)/(.*)/(.*).php$ /p/$2/$3.php [L,R=301]
RewriteRule ^/?hoofdgroep/(.*)/(.*).php$ /g/$1/$2.php [L,R=301]
RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]

Dit wou ik toepassen, alleen nu zit ik met de fout dat de pagina de CSS niet leuk vind. :{ Heb ik ergens een fout zitten in mijn rewrite Rules? Zonder bovenste 2 werkt het , maar dan is het nut van de 301 redirect weg. Kortom het werkt , maar niet volledig.. het pakt de CSS niet meer.
KomtTijd...vrijdag 24 augustus 2012 @ 17:50
Ik denk eerder dat je je css gewoon via een relatieve url aanroept die nu veranderd is?
Tijnvrijdag 24 augustus 2012 @ 18:13
quote:
0s.gif Op vrijdag 24 augustus 2012 17:39 schreef cablegunmaster het volgende:

[ code verwijderd ]

Dit wou ik toepassen, alleen nu zit ik met de fout dat de pagina de CSS niet leuk vind. :{ Heb ik ergens een fout zitten in mijn rewrite Rules? Zonder bovenste 2 werkt het , maar dan is het nut van de 301 redirect weg. Kortom het werkt , maar niet volledig.. het pakt de CSS niet meer.
Ik zet altijd dit voor m'n rewriterules zodat gewone files & folders nog wel gelinkt kunnen worden:

1
2
3
RewriteCond %{REQUEST_URI} -f
RewriteCond %{REQUEST_URI} -d
RewriteRule (.*) $1 [L]

Helpt dat niet?
cablegunmastervrijdag 24 augustus 2012 @ 21:44
quote:
2s.gif Op vrijdag 24 augustus 2012 18:13 schreef Tijn het volgende:

[..]

Ik zet altijd dit voor m'n rewriterules zodat gewone files & folders nog wel gelinkt kunnen worden:
[ code verwijderd ]

Helpt dat niet?
Ja , mijn denkwijze :). Rewrite condition verkeerd neergezet :D _O- Dacht dat het voor elke rewriterule was :P geldt voor elke apart!
WheeleEmaandag 27 augustus 2012 @ 16:59
Nu ik een nieuwe herstart voor mijn hobbyprojectje heb gemaakt wil ik behalve werkend ook een beetje efficient coderen. Het geheel is niet veel meer dan een verzameling pagina's die diverse informatie uit tabellen haalt en displayt voor publiek, of door een ingelogde gebruiker toegevoegd/gewijzigd/verwijderd kan worden. So far so good, daar kom ik uit.

Wat ik niet helemaal helder krijg is hoe ik dit zo efficient mogelijk kan doen. Het zou me wel lukken om voor elke actie (add, delete, update) een aparte php-pagina te maken die de info via een POST meekrijgt. Het lijkt me dat alle acties ook best in 1 php-pagina kunnen worden gecodeerd, dmv bijvoorbeel blabla.php?action=add. Is dat goed, of not done? En wat zijn aanbevolen alternatieven?

Als ik met een ?action=add een invoerform laat zien, hoe kan ik dan na de submit met dezelfde php-pagina de gegevens opslaan in de tabel? Of kan ik daar dan beter een save.php voor maken die die specifieke data (en wellicht die van een update) afhandeld?

In mijn hoofd had ik het overzichtelijk op een rijtje, maar nu ik het teruglees weet i kniet of het voor anderen ook begrijpelijk is... :?
mafkees10maandag 27 augustus 2012 @ 23:41
Maak je gebruik van OOP en classes? Anders kun je je bijvoorbeeld een pagecontroller aanroepen die de juiste klasses instantieert. Ik denk dat je hier geen gebruik van maakt en daarom zou ik gewoon geen action opgeven bij je form. Dan reload de pagina als het ware als je op de submit knop drukt.
Bovenaan/Onderdaan je pagina zet je dan gewoon:
1
2
3
4
5
<?php
if(isset($_POST)) {
 
//hier iets met je data doen. 
}
?>

Niet een mooie oplossing omdat alles overal komt te staan, maar het houdt het wel een beetje bij elkaar! Je zou ook een ajax request kunnen doen op je submit knop. Op die pagina, b.v. submit.php doe je wat je wilt doen..

Hoe zit je structuur nu in elkaar. Geef eens een voorbeeld?

[ Bericht 3% gewijzigd door mafkees10 op 27-08-2012 23:57:53 ]
Tijndinsdag 28 augustus 2012 @ 00:16
Ik zou ipv isset($_POST) liever ($_SERVER['REQUEST_METHOD'] === 'POST') gebruiken.
mafkees10dinsdag 28 augustus 2012 @ 01:04
$_POST kan prima, zolang je maar checkt of de request wel van je eigen server komt ;)
WheeleEdinsdag 28 augustus 2012 @ 09:33
quote:
0s.gif Op maandag 27 augustus 2012 23:41 schreef mafkees10 het volgende:
Maak je gebruik van OOP en classes? Anders kun je je bijvoorbeeld een pagecontroller aanroepen die de juiste klasses instantieert. Ik denk dat je hier geen gebruik van maakt en daarom zou ik gewoon geen action opgeven bij je form. Dan reload de pagina als het ware als je op de submit knop drukt.
Bovenaan/Onderdaan je pagina zet je dan gewoon:
[ code verwijderd ]

Niet een mooie oplossing omdat alles overal komt te staan, maar het houdt het wel een beetje bij elkaar! Je zou ook een ajax request kunnen doen op je submit knop. Op die pagina, b.v. submit.php doe je wat je wilt doen..

Hoe zit je structuur nu in elkaar. Geef eens een voorbeeld?
OOP en classes laten geen belletje rinkelen :@.

Wat ik tot nu toe had:
- als isset-GET_action, display dan het invoervoeld ('add'), het te wijzigen record ('edit')
- GET_action niet gezet? Dan alleen het overzicht weergeven met linkjes per record voor het editten/deleten er van
Met dit liep ik echter vast bij het afhandelen van de forms. Daar zou ik dan losse save.php-pagina's voor maken ofzo, en dat leidde tot mijn post hier :).
The_Terminatordinsdag 28 augustus 2012 @ 10:48
quote:
0s.gif Op dinsdag 28 augustus 2012 01:04 schreef mafkees10 het volgende:
$_POST kan prima, zolang je maar checkt of de request wel van je eigen server komt ;)
Nee. De regel: isset($_POST) geeft altijd true terug omdat deze superglobal door PHP geïnitialiseerd wordt.

Als je het al zo wil doen, doe het dan zo:
1
2
3
4
5
<?php
if(!empty($_POST)) {
    print 
'blablabla';
}
?>

Die van Tijn is natuurlijk nog beter.
Faux.dinsdag 28 augustus 2012 @ 19:20
Ik heb een aantal variabelen:
1
2
3
4
5
6
7
<?php
$jan 
2;
$piet 5;
$henk 3
$suus 
3;
$ingrid 6;
?>

Nu wil ik weten welke van deze variabelen het hoogste is. Geloof ik als je dat met max(); doet krijg je alleen het hoogste cijfer terug, terwijl ik juist de hoogste variabelenaam terug wil. Iemand een idee? :)
mstxdinsdag 28 augustus 2012 @ 19:28
quote:
14s.gif Op dinsdag 28 augustus 2012 19:20 schreef Faux. het volgende:
Ik heb een aantal variabelen:
[ code verwijderd ]

Nu wil ik weten welke van deze variabelen het hoogste is. Geloof ik als je dat met max(); doet krijg je alleen het hoogste cijfer terug, terwijl ik juist de hoogste variabelenaam terug wil. Iemand een idee? :)
Je wil dus een functie die "ingrid" als string teruggeeft? :?
Tijndinsdag 28 augustus 2012 @ 19:31
Je gebruikt nu variabelen als een soort key/value storage, maar dat is eigenlijk niet zo'n goed idee. Er is namelijk in jouw code geen verschil tussen $ingrid en 6. Die twee zijn elkaar. Je kunt in je code "6" gebruiken, of "$ingrid", precies hetzelfde.

Wat je in feite wil is de waarde 6 opslaan bij de string "ingrid". Dat zou je met een array kunnen doen:

1
2
3
4
5
6
7
8
9
<?php
$data 
= array(
  
'jan' => 2,
  
'piet' => 5,
  
'henk' => 3,
  
'suus' => 3,
  
'ingrid' => 6
);
?>

Om nu de key van de hoogste value op te vragen, zou ik zelf waarschijnlijk een dom loopje schrijven. Maar na even Googlen kwam ik deze, veel charmantere oplossing tegen:

1
2
3
<?php
$maxs 
array_keys($datamax($data));
?>

$maxs is nu een array van alle namen die de hoogste waarde hebben.

1
2
3
<?php
echo $maxs[0];
?>

Nu staat er "ingrid".

[ Bericht 16% gewijzigd door Tijn op 28-08-2012 19:50:58 ]
wipes66dinsdag 28 augustus 2012 @ 20:09
weet iemand of het mogelijk is om op een server suphp te hebben voor website 1 en voor website 2 geen suphp maar wel apc te hebben :P

of een andere optie is om suphp helemaal uit te zetten, maar ik krijg dan altijd problemen met wordpress (bestanden uploaden en wordpress updaten etc) ;(
WheeleEdinsdag 28 augustus 2012 @ 20:43
quote:
0s.gif Op dinsdag 28 augustus 2012 10:48 schreef The_Terminator het volgende:

[..]

Nee. De regel: isset($_POST) geeft altijd true terug omdat deze superglobal door PHP geïnitialiseerd wordt.

Als je het al zo wil doen, doe het dan zo:
[ code verwijderd ]
Die van Tijn is natuurlijk nog beter.
Ik zal ($_SERVER['REQUEST_METHOD'] === 'POST') eens gaan bekijken.
Voor wat betreft de rest, kan ik wel 1 pagina gebruiken om alle acties in te doen? Alle parameters en acties met POST doorgeven?
mafkees10donderdag 30 augustus 2012 @ 21:58
Dat kan, echter kan dit ook voor problemen zorgen.
Stel dat jij doet
1
2
3
4
5
6
7
8
<?php
if($_POST["action"] === "add") {
  
//add user
}
elseif(
$_POST["action"] === "edit") {
  
//edit user
}
?>
Loop je de kans dat iemand je "action" kan wijzigen terwijl je dit niet wilt.
Daarom is het, in deze opzet, wellicht het makkelijkst om save.php, edit.php and new.php te hebben.
Het enige wat die doet is gegevens opslaan/wijzigen. Zo houd je alles gescheiden qua code en die pagina hoeft niets meer te doen dan alleen PHP code en daarna door'header'en met header() naar success.php oid!
GlowMousedonderdag 30 augustus 2012 @ 22:06
quote:
0s.gif Op donderdag 30 augustus 2012 21:58 schreef mafkees10 het volgende:
Dat kan, echter kan dit ook voor problemen zorgen.
Stel dat jij doet
[ code verwijderd ]

Loop je de kans dat iemand je "action" kan wijzigen terwijl je dit niet wilt.
wat een onzin, dit is slechts een discussie over de leesbaarheid van de code en niet over de veiligheid
Lightdonderdag 30 augustus 2012 @ 22:47
quote:
0s.gif Op donderdag 30 augustus 2012 21:58 schreef mafkees10 het volgende:
Dat kan, echter kan dit ook voor problemen zorgen.
Stel dat jij doet
[ code verwijderd ]

Loop je de kans dat iemand je "action" kan wijzigen terwijl je dit niet wilt.
Als mensen de action wijzigen, kunnen ze ook de url waarnaar gepost wordt wijzigen.
WheeleEvrijdag 31 augustus 2012 @ 09:53
Okay, met alle informatie in mijn hoofd kom ik dan tot 1 pagina waarop ik al naar gelang de action de juiste lijst of form laat zien. De forms worden na de submit verder afgehandeld door een opslaan.php.
Voor de leesbaarheid lijkt het me dan wel handig om per dataset (users, kalender, teams, etc) een aparte pagina te maken.

Overigens had ik al voor elkaar dat alleen de publieke overzichtjes door iedereen zijn te bekijken. De insert/update/delete zijn alleen door ingelogde gebruikers met de juiste rechten te doen.
stefanhaanvrijdag 31 augustus 2012 @ 10:00
quote:
0s.gif Op donderdag 30 augustus 2012 21:58 schreef mafkees10 het volgende:
Dat kan, echter kan dit ook voor problemen zorgen.
Stel dat jij doet
[ code verwijderd ]

Loop je de kans dat iemand je "action" kan wijzigen terwijl je dit niet wilt.
Daarom is het, in deze opzet, wellicht het makkelijkst om save.php, edit.php and new.php te hebben.
Het enige wat die doet is gegevens opslaan/wijzigen. Zo houd je alles gescheiden qua code en die pagina hoeft niets meer te doen dan alleen PHP code en daarna door'header'en met header() naar success.php oid!
Wat maakt het uit? Als je het veilig wilt maken dan voeg je sowieso checks toe aan edit om te kijken of diegene wel de rechten heeft etc.

Als mensen de post kunnen veranderen kunnen ze ook de bestandsnaam waarnaar gepost word veranderen
KomtTijd...vrijdag 31 augustus 2012 @ 10:24
quote:
2s.gif Op vrijdag 31 augustus 2012 09:53 schreef WheeleE het volgende:

Overigens had ik al voor elkaar dat alleen de publieke overzichtjes door iedereen zijn te bekijken. De insert/update/delete zijn alleen door ingelogde gebruikers met de juiste rechten te doen.
Heb je ook je userinputs allemaal geescaped? Anders is een select-query zo omgetoverd in een truncate of whatever.
WheeleEvrijdag 31 augustus 2012 @ 10:59
quote:
14s.gif Op vrijdag 31 augustus 2012 10:24 schreef KomtTijd... het volgende:

[..]

Heb je ook je userinputs allemaal geescaped? Anders is een select-query zo omgetoverd in een truncate of whatever.
Die heb ik nog .iet, maar staat al wel op de lijst om te implementeren.
Tijnvrijdag 31 augustus 2012 @ 11:07
quote:
1s.gif Op vrijdag 31 augustus 2012 10:59 schreef WheeleE het volgende:

[..]

Die heb ik nog .iet, maar staat al wel op de lijst om te implementeren.
Dit is wel iets om gelijk goed te doen, anders is het onwijs veel dubbel werk om achteraf alles na te gaan lopen, met bovendien de grote kans dat je ergens iets vergeet. Eén foutje is genoeg om je site hackbaar te maken.
KomtTijd...vrijdag 31 augustus 2012 @ 11:09
precies, dit moet je gewoon direct doen.

Het liefst gebruik je gelijk PDO of MySQLi, is nog makkelijker ook.
Sitethiefvrijdag 31 augustus 2012 @ 11:17
PDO betekent niet dat het meteen veilig is he... Alleen als je placeholders gebruikt in je queries en met bindParam of bindValue vult. Anders wordt er nog steeds niks geescaped van de data die je meestuurt..
Zie o.a. http://stackoverflow.com/(...)ta-even-if-not-bound en http://stackoverflow.com/(...)-prepared-statements
WheeleEvrijdag 31 augustus 2012 @ 11:27
Gelukkig zit ik nog in de ontwerp- en probeerfase :)
Echt iets bruikbaars en definitiefs heb/had ik nog niet.
KomtTijd...vrijdag 31 augustus 2012 @ 12:06
quote:
0s.gif Op vrijdag 31 augustus 2012 11:27 schreef WheeleE het volgende:
Gelukkig zit ik nog in de ontwerp- en probeerfase :)
Echt iets bruikbaars en definitiefs heb/had ik nog niet.
Sja die fase hebben we natuurlijk allemaal gehad (of nog steeds af-en-toe). Maar het is wel echt belangrijk om jezelf dit gelijk goed aan te leren. Het gebeurt nog veel te vaak dat zelfs professionals hiermee volledig de mist in gaan. Voor je het weet sta je op tweakers.net met het zoveelste bericht over uitgelekte persoonsgegevens en gehackte accounts.
WheeleEvrijdag 31 augustus 2012 @ 14:29
quote:
14s.gif Op vrijdag 31 augustus 2012 12:06 schreef KomtTijd... het volgende:

[..]

Sja die fase hebben we natuurlijk allemaal gehad (of nog steeds af-en-toe). Maar het is wel echt belangrijk om jezelf dit gelijk goed aan te leren. Het gebeurt nog veel te vaak dat zelfs professionals hiermee volledig de mist in gaan. Voor je het weet sta je op tweakers.net met het zoveelste bericht over uitgelekte persoonsgegevens en gehackte accounts.
Ik zie het zo: ik had het al op de lijst staan, mijn project is nog niet echt van de grond en het wordt sowieso geen kritisch systeem. Dat alles bij elkaar zorgt dat ik me niet echt zorgen maak ;)
Lightvrijdag 31 augustus 2012 @ 18:28
quote:
14s.gif Op vrijdag 31 augustus 2012 11:09 schreef KomtTijd... het volgende:
precies, dit moet je gewoon direct doen.

Het liefst gebruik je gelijk PDO of MySQLi, is nog makkelijker ook.
Alle mysql_* functies in php zijn deprecated, dus die moet je sowieso niet meer gebruiken voor een nieuw project.
zyntexvrijdag 31 augustus 2012 @ 18:30
php:') dat deed ooit op t mbo, stage lopen bij zo interbouw met eigen "cms"
:')

ben nu druk bezig in visual studio met C# dat gebruiken ze namelijk in de echte industrie
WheeleEvrijdag 31 augustus 2012 @ 18:47
quote:
0s.gif Op vrijdag 31 augustus 2012 18:30 schreef zyntex het volgende:
php:') dat deed ooit op t mbo, stage lopen bij zo interbouw met eigen "cms"
:')

ben nu druk bezig in visual studio met C# dat gebruiken ze namelijk in de echte industrie
Bedankt voor je opbouwende reactie he ^O^.
Niet iedereen is een 'professional', en ook PHP is een prima product. Als ik ooit een professional denk te gaan worden zal ik je om raad komen vragen.
henrivodinsdag 4 september 2012 @ 02:33
Zijn er hier ook ervaren "framework-gebruikers"? Ik wil een wat grotere site op gaan zetten, en heb begrepen dat Zend Framework juist dan wat logger wordt / meer resources vreet. Misschien is dit iets van vroeger wat nu meer is opgelost? De andere keuze om te maken is Code Igniter, die is (een flink stuk?) lichter, maar de community daarvan is dan weer minder groot dan die van Zend Framework.

Dus de vraag, gebruiken jullie een framework en zoja, waarom heb je voor specifiek dát framework gekozen?
boem-dikkiedinsdag 4 september 2012 @ 07:29
quote:
0s.gif Op vrijdag 31 augustus 2012 18:30 schreef zyntex het volgende:
php:') dat deed ooit op t mbo, stage lopen bij zo interbouw met eigen "cms"
:')

ben nu druk bezig in visual studio met C# dat gebruiken ze namelijk in de echte industrie
:') !!!
wipes66woensdag 5 september 2012 @ 20:09
quote:
0s.gif Op dinsdag 4 september 2012 02:33 schreef henrivo het volgende:
Zijn er hier ook ervaren "framework-gebruikers"? Ik wil een wat grotere site op gaan zetten, en heb begrepen dat Zend Framework juist dan wat logger wordt / meer resources vreet. Misschien is dit iets van vroeger wat nu meer is opgelost? De andere keuze om te maken is Code Igniter, die is (een flink stuk?) lichter, maar de community daarvan is dan weer minder groot dan die van Zend Framework.

Dus de vraag, gebruiken jullie een framework en zoja, waarom heb je voor specifiek dát framework gekozen?
Wat je ook kan doen is alle frameworks goed bestuderen. Misschien kom iets tegen wat je bevalt, of je maakt zelf iets en gebruikt onderdelen en ideeen van verschillende frameworks. Ik zelf ben nog nooit echt een degelijke framework tegen gekomen voor php (5.3+). :N
henrivowoensdag 5 september 2012 @ 20:22
quote:
0s.gif Op woensdag 5 september 2012 20:09 schreef wipes66 het volgende:

[..]

Wat je ook kan doen is alle frameworks goed bestuderen. Misschien kom iets tegen wat je bevalt, of je maakt zelf iets en gebruikt onderdelen en ideeen van verschillende frameworks. Ik zelf ben nog nooit echt een degelijke framework tegen gekomen voor php (5.3+). :N
Ik overweeg ook een eigen framework te schrijven. Er zit alleen een kleine maar aan vast. Ik ben nog lang geen volleerd php progrogrammeur, ik kom net kijken. Ik weet mn weg redelijk qua html(5)/css, maar kan met php nog met maar net een simpel login scriptje schrijven ( :') ). Net als veel anderen leer ik van tutorials, ebooks, gewone boeken en door "het gewoon te doen". Maar tot nu toe was / ben ik nog onbekend met OOP, classes, objecten, MVC's en daarom wil ik het wat beter begrijpen door "het gewoon te doen". Maar ik ben benieuwd naar de ervaringen van anderen, waarom zij voor specifiek dát framework hebben gekozen en wat de voor en tegens zijn.
Zelf heb ik wat kleine dingetjes gemaakt (gekopieerd en aangepast) met Code Igniter dmv tutorials, maar ook daar hoor ik wat mindere verhalen over. Daarom heb ik iets meer vertrouwen in het Zend Framework, omdat dat van dezelfde makers is als PHP zelf.
boem-dikkiewoensdag 5 september 2012 @ 21:08
Ik heb met 3 klasgenoten vorig jaar een soort van Zend nagebouwd, alleen dan met wat puntjes die we zelf minder vonden bij Zend anders. Best leuk geworden maar voordat je het een volwaardig Framework kunt noemen moet het toepasbaar zijn voor een hoop verschillende soorten doelen en we hebben nu vooral het framework geschreven om het werkbaar te maken met ons CMS.

Leuk om te doen maar op een gegeven moment waren we op behoorlijk wat punten wel het wiel opnieuw uitvinden, wat natuurlijk zonde is als er frameworks zijn die prima werken, ook al heeft natuurlijk elk framework zijn nadelen en minpuntjes.
Scorpiewoensdag 5 september 2012 @ 21:14
quote:
0s.gif Op vrijdag 31 augustus 2012 18:30 schreef zyntex het volgende:
php:') dat deed ooit op t mbo, stage lopen bij zo interbouw met eigen "cms"
:')

ben nu druk bezig in visual studio met C# dat gebruiken ze namelijk in de echte industrie
Een .NETter die PHPers minderwaardig acht, bwehehe.
Scorpiewoensdag 5 september 2012 @ 21:15
quote:
0s.gif Op dinsdag 4 september 2012 02:33 schreef henrivo het volgende:
Zijn er hier ook ervaren "framework-gebruikers"? Ik wil een wat grotere site op gaan zetten, en heb begrepen dat Zend Framework juist dan wat logger wordt / meer resources vreet. Misschien is dit iets van vroeger wat nu meer is opgelost? De andere keuze om te maken is Code Igniter, die is (een flink stuk?) lichter, maar de community daarvan is dan weer minder groot dan die van Zend Framework.

Dus de vraag, gebruiken jullie een framework en zoja, waarom heb je voor specifiek dát framework gekozen?
CakePHP, vooral door de lage drempel.
Crutchdonderdag 6 september 2012 @ 10:53
Hoe kun je checken of je huidige bezoeker een bot is of niet?
Ik ben bang dat mijn site met de cookies-melding die ik moet plaatsen voortaan alleen maar op de inhoud van die melding wordt geïndexeerd.
Of hoe kan ik ervoor zorgen dat zoekrobots daar omheen kijken?
GlowMousedonderdag 6 september 2012 @ 11:01
kijk naar de user-agent

1
2
3
4
5
6
7
8
9
10
11
<?php
$isSearchbot 
=  false;
$searchbots = array('google''yahoo''slurp''bingbot''msnbot''teoma''duckduckbot');
$userAgent strtolower($_SERVER["HTTP_USER_AGENT"]);
foreach(
$searchbots as $searchbot) {
    if(
strpos($userAgent$searchbot) !== false) {
        
$isSearchbot true;
        break;
    }
}
?>
Crutchdonderdag 6 september 2012 @ 11:06
Nice! Thanks again GM.
wipes66zondag 9 september 2012 @ 22:50
die melding kan je beter gewoon met javascript maken. content verbergen achter een cookiemelding is echt geen goed idee :N
urselwoensdag 19 september 2012 @ 10:10
Voor vragen over pear installaties op Centos, moet ik dan hier zijn of in een linux topic?
Ik probeer PHP_Depend te installeren op mijn Centos 5.8 machine. Netjes alle stappen uitgevoerd die gedaan dienen te worden :

- pear upgrade
- pear channel-discover pear.pdepend.org
- pear install pdepend
- pear install pdepend/PHP_Depend-beta
- pear remote-list -c pdepend

Maar krijg continue de melding : there are no release available for package "pear.pdepend.org/PHP_Depend"

Idiote is, voer ik exact dezelfde stappen uit op mijn Ubuntu server, dan wordt de gehele mikmak wel geinstalleerd en zijn er blijkbaar toch wel releases available :{ 8)7

Zal ongetwijfeld ergens iets van een instelling zijn ofzo, maar welke?
Overigens is het volgens mij niet een of andere port, want phpunit heb ik wel gewoon middels pear kunnen installeren.
urselwoensdag 19 september 2012 @ 17:44
In ieder geval een stap verder. De url voor pear.pdepend.org resolves naar het juiste IP. Echter als ik een ping uitvoer hierheen heb ik een package loss of 100% :{

Hier eindigt de tracert: xe-0-0-0.dr-master.r2.cgn3.hosteurope.de (176.28.4.42)
Dat is buiten mijn eigen netwerk. :{
GlowMousewoensdag 19 september 2012 @ 17:54
ping is onbetrouwbaar, http://pear.pdepend.org/ opent hier gewoon
urselwoensdag 19 september 2012 @ 17:59
quote:
0s.gif Op woensdag 19 september 2012 17:54 schreef GlowMouse het volgende:
ping is onbetrouwbaar, http://pear.pdepend.org/ opent hier gewoon
Op mijn PC en mijn Ubuntu server (die in een ander netwerk hangt) gaat ook alles goed. Op mijn werk, in hetzelfde netwerk als de Centos server kan ik ook gewoon daarheen browsen. Alleen de server zelf kan er niet bij komen. Maar komt dus met de traceroute wel verder buiten ons netwerk.

Dan kan ping idd niet betrouwbaar zijn, feit is wel dat ik er niet bij kan komen. :')
urseldonderdag 20 september 2012 @ 12:30
Waar zijn al die grote PHP guru's als je ze nodig hebt. ;(

Ben weer een klein stapje verder met problemen uitsluiten in ieder geval.
Op mijn laptop (Windows 7, IIS7) in hetzelfde netwerk als de server krijg ik wel een lijst met beschikbare versies te zien.

Verder staan beide versies ingesteld op preferred state "stable" en zie ik geen noemenswaardige verschillen in de config, buiten wat locatie instellingen die anders zijn. :{
stefanhaandonderdag 20 september 2012 @ 12:40
Ik had eigenlijk een vraag met betrekking tot meerdere talen in een website. Om alle static tekst in je pagina in meerdere talen weer te geven is simpel.

Maar de dynamic content heb ik nog niks fatsoenlijks voor kunnen vinden, want het lijkt me ook niet echt praktisch om voor elke taal die de website ondersteunt een extra veld in de tabel aan te maken voor die taal.

Iemand hier al eerder tegenaan gelopen?
remi1986donderdag 20 september 2012 @ 12:43
quote:
7s.gif Op donderdag 20 september 2012 12:40 schreef stefanhaan het volgende:
Ik had eigenlijk een vraag met betrekking tot meerdere talen in een website. Om alle static tekst in je pagina in meerdere talen weer te geven is simpel.

Maar de dynamic content heb ik nog niks fatsoenlijks voor kunnen vinden, want het lijkt me ook niet echt praktisch om voor elke taal die de website ondersteunt een extra veld in de tabel aan te maken voor die taal.

Iemand hier al eerder tegenaan gelopen?
je zou het met een koppeltabel kunnen doen ... iets met

content id - language id - content
Crutchdonderdag 20 september 2012 @ 12:46
quote:
7s.gif Op donderdag 20 september 2012 12:40 schreef stefanhaan het volgende:
Ik had eigenlijk een vraag met betrekking tot meerdere talen in een website. Om alle static tekst in je pagina in meerdere talen weer te geven is simpel.

Maar de dynamic content heb ik nog niks fatsoenlijks voor kunnen vinden, want het lijkt me ook niet echt praktisch om voor elke taal die de website ondersteunt een extra veld in de tabel aan te maken voor die taal.

Iemand hier al eerder tegenaan gelopen?
Even compleet offtopic: leuk design dat lompehaan. ^O^
stefanhaandonderdag 20 september 2012 @ 12:46
quote:
0s.gif Op donderdag 20 september 2012 12:46 schreef Crutch het volgende:

[..]

Even compleet offtopic: leuk design dat lompehaan. ^O^
Dankje, maar is niet mijn design :9 Ik ben enkel een programmeur _O-
Crutchdonderdag 20 september 2012 @ 12:48
quote:
7s.gif Op donderdag 20 september 2012 12:46 schreef stefanhaan het volgende:

[..]

Dankje, maar is niet mijn design :9 Ik ben enkel een programmeur _O-
Oh, nou. :')
Anyway, tof man!
stefanhaandonderdag 20 september 2012 @ 12:50
quote:
0s.gif Op donderdag 20 september 2012 12:43 schreef remi1986 het volgende:

[..]

je zou het met een koppeltabel kunnen doen ... iets met

content id - language id - content
Mjah toch maar zoiets dan denk ik ja.

Voordeel is iig wel dat ik de dynamic content zelf niet hoef te vertalen, dat probleem ligt gelukkig niet bij mij :9
KomtTijd...vrijdag 21 september 2012 @ 15:20
Wat verrot onhandig als php.net down is.
GlowMousevrijdag 21 september 2012 @ 21:25
nl.php.net deed het wel
Swetseneggerzaterdag 29 september 2012 @ 12:57
Hoi php vriendjes, even een wat meer zakelijke vraag...

Wat is een redelijk salaris voor een junior PHP programmeur met goed analytisch inzicht en goed lineair kan scripten? In de randstad.
Plankje55woensdag 3 oktober 2012 @ 11:43
Ik heb een simpel shellscript dat uit een lokaal csv-bestand met maandgegevens alleen de gegevens van vandaag zoekt en dit via ftp wegschrijft naar m'n website. Dit script draait op m'n router.

1curl http://192.168.178.178:8080/$(date +%Y_%m).csv | grep $(date '+%F') | curl -u user:pass -T - ftp://ftp.mijnsite.nl/%2fhttpdocs/$(date +%Y-%m-%d).csv

Dit zelfde wil ik ook andersom kunnen doen en het volgende PHP-scriptje werkt

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
date_default_timezone_set
('UTC'); 
$yyyydate('Y_m');
$url="http://mijnrouter.nl:8080/$yyyy.csv";
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
$fpp="$yyyy.csv";
$fp fopen($fpp'w');
curl_setopt ($chCURLOPT_FILE$fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
?>
Dit werkt ook maar dit script haalt alle data van de hele maand op. Ik heb geprobeerd om met preg_grep dezelfde truc uit te halen, zodat ik alleen de data van vandaag krijg, maar ik krijg geen output. Suggesties?
GlowMousewoensdag 3 oktober 2012 @ 11:45
je regexp zal wel fout zijn, maar je verstrekt veel te weinig informatie om er iets over te kunnen zeggen
Scorpiewoensdag 3 oktober 2012 @ 11:49
quote:
5s.gif Op zaterdag 29 september 2012 12:57 schreef Swetsenegger het volgende:
Hoi php vriendjes, even een wat meer zakelijke vraag...

Wat is een redelijk salaris voor een junior PHP programmeur met goed analytisch inzicht en goed lineair kan scripten? In de randstad.
Hoeveel jaar werkervaring? HBO of MBO niveau?
Swetseneggerwoensdag 3 oktober 2012 @ 11:55
quote:
7s.gif Op woensdag 3 oktober 2012 11:49 schreef Scorpie het volgende:

[..]

Hoeveel jaar werkervaring? HBO of MBO niveau?
HBO kennis niveau, al jaren ervaring met php scripting op autodidactisch niveau, vele jaren werkervaring, maar dus niet als programmeur.
Scorpiewoensdag 3 oktober 2012 @ 11:56
quote:
0s.gif Op woensdag 3 oktober 2012 11:55 schreef Swetsenegger het volgende:

[..]

HBO kennis niveau, al jaren ervaring met php scripting op autodidactisch niveau, vele jaren werkervaring, maar dus niet als programmeur.
2000-2400 ongeveer, ligt er een beetje aan wat diegene kan laten zien aan eigen werk.
Sitethiefwoensdag 3 oktober 2012 @ 12:09
Ik vind dat altijd zeer lastig, eigen werk. In mijn geval kan ik dan alleen hobby projectjes laten zien (die ik nauwelijks heb) omdat de rest onder een geheimhoudingsverklaring etc van mijn werkgever valt.
KomtTijd...woensdag 3 oktober 2012 @ 12:12
quote:
0s.gif Op woensdag 3 oktober 2012 12:09 schreef Sitethief het volgende:
Ik vind dat altijd zeer lastig, eigen werk. In mijn geval kan ik dan alleen hobby projectjes laten zien (die ik nauwelijks heb) omdat de rest onder een geheimhoudingsverklaring etc van mijn werkgever valt.
dan kun je toch alsnog wel vertellen wat je ongeveer gedaan hebt? Dan kun je in ieder geval een bepaalde verwachting scheppen. Vervolgens heb je een proeftijd om te kijken of die verwachting waargemaakt wordt.
Swetseneggerwoensdag 3 oktober 2012 @ 12:14
quote:
7s.gif Op woensdag 3 oktober 2012 11:56 schreef Scorpie het volgende:

[..]

2000-2400 ongeveer, ligt er een beetje aan wat diegene kan laten zien aan eigen werk.
Hmz...
Scorpiewoensdag 3 oktober 2012 @ 12:15
quote:
0s.gif Op woensdag 3 oktober 2012 12:14 schreef Swetsenegger het volgende:

[..]

Hmz...
Niet goed?
boem-dikkiewoensdag 3 oktober 2012 @ 12:16
quote:
0s.gif Op woensdag 3 oktober 2012 12:09 schreef Sitethief het volgende:
Ik vind dat altijd zeer lastig, eigen werk. In mijn geval kan ik dan alleen hobby projectjes laten zien (die ik nauwelijks heb) omdat de rest onder een geheimhoudingsverklaring etc van mijn werkgever valt.
Je kunt ook een referentie vragen van je oude werkgever, over werkhouding, professionalisme, kennis e.d.
Tijnwoensdag 3 oktober 2012 @ 12:16
quote:
0s.gif Op woensdag 3 oktober 2012 12:09 schreef Sitethief het volgende:
Ik vind dat altijd zeer lastig, eigen werk. In mijn geval kan ik dan alleen hobby projectjes laten zien (die ik nauwelijks heb) omdat de rest onder een geheimhoudingsverklaring etc van mijn werkgever valt.
Die geheimhoudingsverklaring betekent alleen dat je niks vertelt over de details, maar je kunt best globaal beschrijven wat je hebt gemaakt. Als je wat gegevens blurt kun je waarschijnlijk zelfs wel screenshots toevoegen.
Swetseneggerwoensdag 3 oktober 2012 @ 12:17
quote:
7s.gif Op woensdag 3 oktober 2012 12:15 schreef Scorpie het volgende:

[..]

Niet goed?
M'n ww uitkering is hoger :') Deze carriereswitch gaat het nog even niet worden.
Tijnwoensdag 3 oktober 2012 @ 12:17
quote:
7s.gif Op woensdag 3 oktober 2012 12:15 schreef Scorpie het volgende:

[..]

Niet goed?
Nogal weinig als je een gezin moet onderhouden.
boem-dikkiewoensdag 3 oktober 2012 @ 12:24
quote:
9s.gif Op woensdag 3 oktober 2012 12:17 schreef Swetsenegger het volgende:

[..]

M'n ww uitkering is hoger :') Deze carriereswitch gaat het nog even niet worden.
En parttime zo'n baan en 2 dagen ZZP?
Sitethiefwoensdag 3 oktober 2012 @ 12:28
quote:
14s.gif Op woensdag 3 oktober 2012 12:12 schreef KomtTijd... het volgende:

[..]

dan kun je toch alsnog wel vertellen wat je ongeveer gedaan hebt? Dan kun je in ieder geval een bepaalde verwachting scheppen. Vervolgens heb je een proeftijd om te kijken of die verwachting waargemaakt wordt.
Ja ongeveer, ik weet niet of ze me kunnen verbieden te vertellen wat voor een product het ongeveer is, mijn baas kennend zou die dat zo doen als dat kan.

quote:
14s.gif Op woensdag 3 oktober 2012 12:16 schreef boem-dikkie het volgende:

[..]

Je kunt ook een referentie vragen van je oude werkgever, over werkhouding, professionalisme, kennis e.d.
Ja, dat is ook een goede.

quote:
2s.gif Op woensdag 3 oktober 2012 12:16 schreef Tijn het volgende:

[..]

Die geheimhoudingsverklaring betekent alleen dat je niks vertelt over de details, maar je kunt best globaal beschrijven wat je hebt gemaakt. Als je wat gegevens blurt kun je waarschijnlijk zelfs wel screenshots toevoegen.
Klopt.
Boze_Appelwoensdag 3 oktober 2012 @ 12:31
quote:
7s.gif Op woensdag 3 oktober 2012 11:56 schreef Scorpie het volgende:

[..]

2000-2400 ongeveer, ligt er een beetje aan wat diegene kan laten zien aan eigen werk.
Voor een juniorfunctie zal er niet zoveel te tonen zijn.
#ANONIEMwoensdag 3 oktober 2012 @ 12:31
quote:
5s.gif Op zaterdag 29 september 2012 12:57 schreef Swetsenegger het volgende:
Hoi php vriendjes, even een wat meer zakelijke vraag...

Wat is een redelijk salaris voor een junior PHP programmeur met goed analytisch inzicht en goed lineair kan scripten? In de randstad.
lineair scripten is wel een no-no. Dan krijg je een stuk minder betaald als je al wordt aangenomen, 2000-2500 standaard is normaal als je gewoon goed in OOP bent.
Scorpiewoensdag 3 oktober 2012 @ 12:57
quote:
2s.gif Op woensdag 3 oktober 2012 12:17 schreef Tijn het volgende:

[..]

Nogal weinig als je een gezin moet onderhouden.
Niet echt relevant voor een werkgever natuurlijk.
Farenjiwoensdag 3 oktober 2012 @ 13:01
quote:
0s.gif Op woensdag 3 oktober 2012 12:31 schreef totalvamp het volgende:

[..]

lineair scripten is wel een no-no. Dan krijg je een stuk minder betaald als je al wordt aangenomen, 2000-2500 standaard is normaal als je gewoon goed in OOP bent.
Dan krijg je wel wat meer hoor, dan ga je al richting 3000. Vooropgesteld dat je echt OOP beheerst en niet lineair loopt te prutsen met overal "class BlablaController" eromheen... dat noem ik de boel neppen.
Maar als je goed OOP wil kunnen dan zul je wel eerst lineair scripten goed moeten beheersen.
#ANONIEMwoensdag 3 oktober 2012 @ 13:11
quote:
0s.gif Op woensdag 3 oktober 2012 13:01 schreef Farenji het volgende:

[..]

Dan krijg je wel wat meer hoor, dan ga je al richting 3000. Vooropgesteld dat je echt OOP beheerst en niet lineair loopt te prutsen met overal "class BlablaController" eromheen... dat noem ik de boel neppen.
Maar als je goed OOP wil kunnen dan zul je wel eerst lineair scripten goed moeten beheersen.
Misschien in de huidige markt wel ja, nadeel is dat bijna elk bedrijf Zend gebruikt. Als je daar als programmeur goed in bent, ben je zo aan de bak :D tegen goed salaris natuurlijk.
Boze_Appelwoensdag 3 oktober 2012 @ 13:12
quote:
0s.gif Op woensdag 3 oktober 2012 12:31 schreef totalvamp het volgende:

[..]

lineair scripten is wel een no-no. Dan krijg je een stuk minder betaald als je al wordt aangenomen, 2000-2500 standaard is normaal als je gewoon goed in OOP bent.
Een hoop werkgevers hebben geen idee. Het doet het aan de voorkant, dus zal de achterkant ook wel ok zijn.

Vandaag nog wat werk van een ander beoordeeld en die heeft in drie maanden wat losse classes en functie's gemaakt zonder enig MVC-werk, OO of maar iets wat er op lijkt, daarbij nog allerlei deprecated dingen als shorttags door elkaar gebruiken en weet ik veel allemaal nog meer. Volledig kansloos in ieder geval.

Daar kom je nooit mee weg in een IT-omgeving, maar er zijn genoeg bedrijven die een PHP'er los inhuren, zonder ooit de kennis van die persoon te testen.
#ANONIEMwoensdag 3 oktober 2012 @ 13:14
quote:
7s.gif Op woensdag 3 oktober 2012 13:12 schreef Boze_Appel het volgende:

[..]

Een hoop werkgevers hebben geen idee. Het doet het aan de voorkant, dus zal de achterkant ook wel ok zijn.

Vandaag nog wat werk van een ander beoordeeld en die heeft in drie maanden wat losse classes en functie's gemaakt zonder enig MVC-werk, OO of maar iets wat er op lijkt, daarbij nog allerlei deprecated dingen als shorttags door elkaar gebruiken en weet ik veel allemaal nog meer. Volledig kansloos in ieder geval.

Daar kom je nooit mee weg in een IT-omgeving, maar er zijn genoeg bedrijven die een PHP'er los inhuren, zonder ooit de kennis van die persoon te testen.
Hmm, ik ken dat soort bedrijven inderdaad, functionaliteit voor veiligheid :')
Dat zijn het soort bedrijven wat je in het nieuws ziet als er weer ergens iets is gehackt doordat je makkelijke SQL inject kan doen :')