kan iemand mij helpen ik kom er niet uit
ben maar een amateurtje
?
Onbekende gebruiker
23-11-2010 20:29
- Bouw foutafhandeling in.
- Fetch geen objecten. Grootste onzin die er bestaat. Gebruik [php]mysql_fetch_assoc[/php].
- Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
- Gebruik nooit addslashes of magic quotes. Gebruik [php]mysql_real_escape_string[/php].
Kijk op php.net
- Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
Even heel klein vraagje uit nieuwsgierigheid Karl. Ik zie jou vaak deze opmerking maken. Wat is eigenlijk het verschil met if ($_POST['contact_form])? Is dat minder veilig ofzo?
[size=xsmall]Toevoeging op 23/11/2010 20:49:34:[/size]
Jordi kroon op 23/11/2010 20:41:54
Als jij iets fot doet ga je toch ook niet doe
Ik neem aan dat je wil zeggen:
"Als jij iets fout doet ga je toch ook niet dood?"
(lees even je zinnen door voordat je op de reageren knop drukt :))
[quote="Karl Karl op 23/11/2010 20:29:31"]
- Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
Even heel klein vraagje uit nieuwsgierigheid Karl. Ik zie jou vaak deze opmerking maken. Wat is eigenlijk het verschil met if ($_POST['contact_form])? Is dat minder veilig ofzo?
[/quote]
Die wordt niet altijd meegestuurd. En dit is ook de meest logische manier, want je wilt kijken of er een post is gedaan. Niet of een of andere waarde bestaat.
Kevin, wanneer je ergens tegenaan loopt, meld dan wat er fout gaat. Krijg je een foutmelding, dan is die belangrijk. Blijft je scherm wit, dan is dat het melden waard.
"hoe kan ik dingen uit mysql opvragen, ze wijzigen en weer opslaan" geeft wel een goed overzichtsbeeld van waar je mee bezig bent, maar geen duidelijk inzicht. Bedoel je een serverpagina te maken waarmee je (een bepaald record) uit (een tabel) op het scherm weergeeft, in bewerkbare formulierelementen, en waarmee je de gewijzigde informatie kunt terugsturen naar de server (en dan dus weer opslaan in de tabel, mogelijk het genoemde record wijzigend)?
De (my)SQL-opdracht om een record te wijzigen ziet er zo uit:
UPDATE tabelnaam
SET veld=waarde[, veld=waarde...]
[WHERE sleutelveld=sleutelwaarde]
Even de knuppel in het heren-hoenderhok: "or die(mysql_error())" vind ik te verkiezen boven @mysql_query(), of helemaal geen foutdetectie. Dat wel. Elke vriendelijke vorm van afhandeling is daar weer superieur aan.
Die wordt niet altijd meegestuurd. En dit is ook de meest logische manier, want je wilt kijken of er een post is gedaan. Niet of een of andere waarde bestaat.
Wat bedoel je dat die niet altijd wordt meegestuurd? Ik bedoel dus dat je een waarde meestuurt vanuit een hidden field in je formulier, zodat je weet welk formulier er is gepost. Als er niet gepost is dan bestaat de waarde $_POST['contact_form'] niet, dus is er niet gepost... Of, kun je een POST faken en gebruik je daarom jouw methode?
Graag nog even antwoord... en daarna weer 'back on topic' :)
je kunt een post vrij makkelijk faken. Met curl, of zelf beunen.
Overigens liep ik er recent tegenaan dat een browser, verdorie vergeten welke, een element dat display=none heeft NIET mee-POST. Tweeduizend grijze haren naar de kl*te.
?
Onbekende gebruiker
23-11-2010 21:59
Ozzie PHP op 23/11/2010 21:55:07
[quote="Karl Karl op 23/11/2010 21:35:02"]
Die wordt niet altijd meegestuurd. En dit is ook de meest logische manier, want je wilt kijken of er een post is gedaan. Niet of een of andere waarde bestaat.
Wat bedoel je dat die niet altijd wordt meegestuurd? Ik bedoel dus dat je een waarde meestuurt vanuit een hidden field in je formulier, zodat je weet welk formulier er is gepost. Als er niet gepost is dan bestaat de waarde $_POST['contact_form'] niet, dus is er niet gepost... Of, kun je een POST faken en gebruik je daarom jouw methode?
Graag nog even antwoord... en daarna weer 'back on topic' :)
[/quote]
Een hidden input is veel te omslachtig als je maar één form hebt. Daar ga ik standaard vanuit, tenzij anders vermeld.
En dan nog dan kan je nog het beste controleren of de request method gelijk is aan post, want dan scheid je dat gedeelte weer af van de rest van de code. Je maakt dan een blok als het waren wat geweid is aan de post afhandeling.
En ja post's zijn, net als get, simpel te faken. Maar zo is die manier ook gewoon opgebouwd.