Post en get probleem

Voor discussies rondom phpBB2. phpBB2 wordt niet meer ondersteund en deze berichten kunnen wellicht gedateerd zijn.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
B12
Berichten: 13
Lid geworden op: 29 okt 2004, 17:12
Contacteer:

Post en get probleem

Bericht door B12 » 11 nov 2004, 17:55

Hallo,

Ik zou graag een beetje hulp willen bij het volgende probleem.
Ik heb een apart php bestand gemaakt en dit in de root dir van phpbb gezet.
Vervolgens een tpl bestand met een formulier erop Zodat ik gegevens in
een extra tabel kan zetten.
De code die ik in het php bestand heb staan is het volgende:

Code: Selecteer alles

if($_GET[action] == "add") {
	
		$insert = "INSERT INTO phpbb_extra-tabel(waarde1,waarde2,waarde3,waarde4) VALUES ('$_POST[waarde1]','$_POST[waarde2]','$_POST[waarde3]','$_POST[waarde4]')";
		mysql_query($insert) or die($MySQLError.mysql_error());

}
Dit werkt probleemloos alles wat ik aan de tabel toevoeg wordt opgeslagen.Niks aan de hand dus zou je zeggen, maar nu heb ik ook
een extra sectie gemaakt in mijn ACP, dus ik krijg nu in mijn ACP het formulier maar die zelfde code van hierboven werkt dus niet in het admin deel.dus mijn vraag is nu wat doe ik fout? moet ik een andere benadring zoeken voor gebruik in het ACP? wie duwt mij in de juiste richting?
ik heb gezocht maar niks gevonden helaas...

ps. ik hoef geen pasklare oplossing, mag uiteraard wel maar ik wil dit
toch graag zelf doorkrijgen...

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 nov 2004, 20:03

Het is allemaal een beetje vaag. Wát werkt er niet, en wát gebeurt er wel? Worden er lege rijen toegevoegd? Gebeurt er niets bij het verzenden van het formulier? Of krijg je errors?

Daarnaast even dit: je mag user input NOOIT direct verwerken. Haal het altijd eerst door functies als stripslashes() (bij het weergeven van de info), addslashes() (bij het plaatsen in een query) en trim(), en zorg ervoor dat er ergens tussen invoer en uitvoer een htmlspecialchars() of strip_tags() functie zit.

Buiten dat neem je aan dat een formulier verzonden is zodra iemand ?action=add achter het url typt, waarmee lege rijen kunnen worden toegevoegd. Je hebt geen quotes geplaatst rond de key action in de $_GET array, gebruikt phpBB's $db object niet en misschien is het ook wat netter om, in de stijl van de rest van je forum, met $HTTP_POST_VARS te werken in plaats van met $_POST. Dan werkt je aanpassing ook op PHP3. ;)

B12
Berichten: 13
Lid geworden op: 29 okt 2004, 17:12
Contacteer:

Bericht door B12 » 11 nov 2004, 22:16

mosymuis schreef:Het is allemaal een beetje vaag. Wát werkt er niet, en wát gebeurt er wel? Worden er lege rijen toegevoegd? Gebeurt er niets bij het verzenden van het formulier? Of krijg je errors?
sorry dat het vaag overkomt.
er gebeurd dus totaal niks mijn invoer velden worden geleegd na de add actie.
en ik krijg niks in mijn tabel,dus ook geen lege rijen?
mosymuis schreef:Daarnaast even dit: je mag user input NOOIT direct verwerken. Haal het altijd eerst door functies als stripslashes() (bij het weergeven van de info), addslashes() (bij het plaatsen in een query) en trim(), en zorg ervoor dat er ergens tussen invoer en uitvoer een htmlspecialchars() of strip_tags() functie zit.
dit is voor mij aca da ba bra
mosymuis schreef:Buiten dat neem je aan dat een formulier verzonden is zodra iemand ?action=add achter het url typt, waarmee lege rijen kunnen worden toegevoegd. Je hebt geen quotes geplaatst rond de key action in de $_GET array, gebruikt phpBB's $db object niet en misschien is het ook wat netter om, in de stijl van de rest van je forum, met $HTTP_POST_VARS te werken in plaats van met $_POST. Dan werkt je aanpassing ook op PHP3. ;)
waar vind ik hier meer info over? of heb je mischien een voorbeeld bestand voor me zodat ik hier eens mee kan spelen ik wil het idd wel
goed doen dus als je me opweg zou kunnen helpen met een voorbeeld
heel erg graag een form met twee velden vol staat

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 nov 2004, 22:42

B12 schreef:
mosymuis schreef:Het is allemaal een beetje vaag. Wát werkt er niet, en wát gebeurt er wel? Worden er lege rijen toegevoegd? Gebeurt er niets bij het verzenden van het formulier? Of krijg je errors?
sorry dat het vaag overkomt.
er gebeurd dus totaal niks mijn invoer velden worden geleegd na de add actie.
en ik krijg niks in mijn tabel,dus ook geen lege rijen?
Wordt de pagina op dat moment wel aangeroepen met ?action=add?

B12 schreef:
mosymuis schreef:Daarnaast even dit: je mag user input NOOIT direct verwerken. Haal het altijd eerst door functies als stripslashes() (bij het weergeven van de info), addslashes() (bij het plaatsen in een query) en trim(), en zorg ervoor dat er ergens tussen invoer en uitvoer een htmlspecialchars() of strip_tags() functie zit.
dit is voor mij aca da ba bra
Bekijk de functie beschrijvingen eens, om te zien wat ze doen. Ook binnen phpBB's pagina's kan je zien hoe het zou moeten.

http://www.php.net/stripslashes
http://www.php.net/addslashes
http://www.php.net/trim
http://www.php.net/strip_tags

B12 schreef:
mosymuis schreef:Buiten dat neem je aan dat een formulier verzonden is zodra iemand ?action=add achter het url typt, waarmee lege rijen kunnen worden toegevoegd. Je hebt geen quotes geplaatst rond de key action in de $_GET array, gebruikt phpBB's $db object niet en misschien is het ook wat netter om, in de stijl van de rest van je forum, met $HTTP_POST_VARS te werken in plaats van met $_POST. Dan werkt je aanpassing ook op PHP3. ;)
waar vind ik hier meer info over? of heb je mischien een voorbeeld bestand voor me zodat ik hier eens mee kan spelen ik wil het idd wel
goed doen dus als je me opweg zou kunnen helpen met een voorbeeld
heel erg graag een form met twee velden vol staat
Die voorbeelden heb je al, het heet phpBB. Vooral de admin pagina's zitten vaak simpel in elkaar, daar zie je goed hoe de variabelen worden aangenomen, hoe ze in query's worden verwerkt en hoe die query's worden uitgevoerd. Bestudeer dat eens.

B12
Berichten: 13
Lid geworden op: 29 okt 2004, 17:12
Contacteer:

Bericht door B12 » 11 nov 2004, 23:31

mosymuis schreef:Wordt de pagina op dat moment wel aangeroepen met ?action=add?
ik mag toch aannemen van wel,want dat is de actie die ik heb opgegeven.
en het werkt ook gewoon in de root dir van het forum.
maar zodra ik het in de admin dir heb staan en het via de admin panel doe werkt het dus niet :?

mosymuis schreef:Bekijk de functie beschrijvingen eens, om te zien wat ze doen. Ook binnen phpBB's pagina's kan je zien hoe het zou moeten.

http://www.php.net/stripslashes
http://www.php.net/addslashes
http://www.php.net/trim
http://www.php.net/strip_tags
bedankt ik zal het eens bestuderen

mosymuis schreef: Die voorbeelden heb je al, het heet phpBB. Vooral de admin pagina's zitten vaak simpel in elkaar, daar zie je goed hoe de variabelen worden aangenomen, hoe ze in query's worden verwerkt en hoe die query's worden uitgevoerd. Bestudeer dat eens.
die heb ik nu al dagen lang bekeken en van alles geprobeerd maar
het probleem is dat er zoveel extra info in staat zodat ik de werking
niet echt helder krijg..dus ik hoopte op een voorbeeld zonder al deze
extra info zodat het wat beter te begrijpen was.
Maar ik puzzel wel verder.en anders laat ik die admin pagina wel in de root dir staan :cry:
Laatst gewijzigd door B12 op 11 nov 2004, 23:39, 1 keer totaal gewijzigd.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 nov 2004, 23:36

B12 schreef:het probleem is dat er zoveel extra info in staat zodat ik de werking
niet echt helder krijg..
Probeer de pagina's zin voor zin te begrijpen, en maak desnoods aantekeningen om vat te krijgen op de indeling. Neem bijvoorbeeld /admin/admin_disallow.php, een kleine pagina die het toevoegen, verwijderen en selecteren van database waarden (niet toegestane namen in dit geval) mogelijk maakt.

B12
Berichten: 13
Lid geworden op: 29 okt 2004, 17:12
Contacteer:

Bericht door B12 » 11 nov 2004, 23:41

mosymuis schreef:
B12 schreef:het probleem is dat er zoveel extra info in staat zodat ik de werking
niet echt helder krijg..
Probeer de pagina's zin voor zin te begrijpen, en maak desnoods aantekeningen om vat te krijgen op de indeling. Neem bijvoorbeeld /admin/admin_disallow.php, een kleine pagina die het toevoegen, verwijderen en selecteren van database waarden (niet toegestane namen in dit geval) mogelijk maakt.
ok ga ik doen....wordt vervolgt

B12
Berichten: 13
Lid geworden op: 29 okt 2004, 17:12
Contacteer:

Bericht door B12 » 12 nov 2004, 22:02

@ Mosymuis

Het is gelukt, ik heb de zooi ontleed en precies dat eruit kunnen halen
wat ik nodig had. Ik begrijp de werking nu ook grotendeels.
Ik heb het zaakje nu dus werkend, rest mij enkel nog de afwerking.

Bedankt voor het zetje in de goede richting :bier:

Gesloten