abonnement Unibet Coolblue
  vrijdag 24 augustus 2012 @ 18:13:15 #226
12221 Tijn
Powered by MS Paint
pi_115960483
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?
pi_115971078
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!
Redacted
pi_116071941
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... :?
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
pi_116091047
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 ]
  dinsdag 28 augustus 2012 @ 00:16:36 #230
12221 Tijn
Powered by MS Paint
pi_116092393
Ik zou ipv isset($_POST) liever ($_SERVER['REQUEST_METHOD'] === 'POST') gebruiken.
pi_116093606
$_POST kan prima, zolang je maar checkt of de request wel van je eigen server komt ;)
pi_116097636
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 :).
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
pi_116099054
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.
  dinsdag 28 augustus 2012 @ 19:20:44 #234
292596 Faux.
Fan van zichzelf
pi_116117642
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? :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  dinsdag 28 augustus 2012 @ 19:28:08 #235
91039 mstx
2x1/2 = 1/2 x 1/2
pi_116117994
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? :?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 28 augustus 2012 @ 19:31:48 #236
12221 Tijn
Powered by MS Paint
pi_116118186
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 ]
pi_116119884
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) ;(
..///
pi_116121364
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?
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
pi_116206813
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!
  donderdag 30 augustus 2012 @ 22:06:44 #240
75592 GlowMouse
l'état, c'est moi
pi_116207340
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
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_116209763
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.
pi_116222924
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.
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
  vrijdag 31 augustus 2012 @ 10:00:41 #243
299167 stefanhaan
Bloeddorstige wasbeer
pi_116223132
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
It was an opportunity to honour our memories and to make room for new ones
pi_116223904
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.
pi_116225070
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.
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
  vrijdag 31 augustus 2012 @ 11:07:21 #246
12221 Tijn
Powered by MS Paint
pi_116225358
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.
pi_116225420
precies, dit moet je gewoon direct doen.

Het liefst gebruik je gelijk PDO of MySQLi, is nog makkelijker ook.
  vrijdag 31 augustus 2012 @ 11:17:29 #248
25889 Sitethief
Fulltime Flapdrol
pi_116225639
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
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_116225994
Gelukkig zit ik nog in de ontwerp- en probeerfase :)
Echt iets bruikbaars en definitiefs heb/had ik nog niet.
"...while I'm supposed to marry her brother, a renowned pillow biter." Cersei Lannister
"Float like a butterfly, sting like a bee, look ridiculous." Rory the Roman
"It's smaller on the outside." Clara Oswin Oswald
pi_116227527
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.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')