[PHP/HTML] value textarea wil niet meeposten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
na een formpje te echo-en met daarin een textarea met de naam 'oms' ...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<FORM ACTION=\"admin.php?op=rollof&a=add_newstadium\" METHOD=post>
<table width=100%>
<tr>
<td>stadion toevoegen</td><td> </td>
</tr>

<tr>
<td>Stadion</td>
<td> <input type=text name=arena></td>
<td rowspan=2><textarea name=oms rows=10 cols=70></textarea></td>
</tr>
<tr>
<td>Plaats</td>
<td> <input type=text name=city></td>
</tr>
<tr>
<td><input type=submit value=toevoegen name=submit></td>
<td> <input type=reset></td>
</tr>

</table></form>



....krijg ik na het uitvoeren van de volgende query op de database....

code:
1
2
3
$query = "insert into stadium (city, desc, arena) values ('$city','$oms','$arena')";

    mysql_query($query) or die (mysql_error());



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 'desc, arena) values ('2313','321231','2313')' at line 1
:(


heeft iemand een idee wat hier aan de hand is, zelf zit ik er al ff een 1/2 uurtje op te zweten, i'm running out of options....

[ Voor 21% gewijzigd door Verwijderd op 06-07-2004 23:41 . Reden: typo's ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

gokje, desc is een reserved word en deze moet je escapen?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
desc is een gereserveerd woord (van descending) dus dat lijkt me al niet jofel. verder gebruik je geen " quotes " om je attributen...

Check dat eens, en kijk eens wat 'ie dan doet?
offtopic:
Ik weet geen ruk van PHP, maar moet je geen " gebruiken i.p.v. ' in je query???


edit:

Damn you gorgi_19 :Y)


edit:

en zie ook crisp, alleen ik kon 'm wél nog inslikken ;)

[ Voor 35% gewijzigd door RobIII op 06-07-2004 23:48 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gorgi_19 schreef op 06 juli 2004 @ 23:41:
gokje, desc is een reserved word en deze moet je escapen?
thnxz !!

code:
1
2
echo  "Het stadion is toegevoegd, u keert terug naar het vorig scherm
<meta http-equiv=\"refresh\" content=\"2;URL=admin.php?op=rollof&a=add_stadium\">";


...er bestaan geen domme vragen eh .... :D


<schaam mode on>

[ Voor 35% gewijzigd door Verwijderd op 06-07-2004 23:45 ]


Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 14:39

Johnny

ondergewaardeerde internetguru

Doe eens dit:
code:
1
echo $query;


Dan heb je tenminste de query die uitgevoerd wordt.

Volgens mij is desc een gereservereerd woord in SQL, noem je kolom anders.

Edit: te laat :(

[ Voor 6% gewijzigd door Johnny op 06-07-2004 23:45 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

offtopic:
/me houdt rant over slordige HTML, mixen van GET en POST en gebruik van name=submit maar voor zich :X

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op 06 juli 2004 @ 23:45:
offtopic:
/me houdt rant over slordige HTML, mixen van GET en POST en gebruik van name=submit maar voor zich :X
;) niet het hele form geplaatst,

plus die submit name is idd erug overbodig, echter heb ik die naam later nog nodig in het script... voor de rest heb je gelijk

[ Voor 6% gewijzigd door Verwijderd op 06-07-2004 23:51 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 06 juli 2004 @ 23:50:
[...]


;) niet het hele form geplaatst,

plus die submit name is idd erug overbodig, echter heb ik die naam later nog nodig in het script... voor de rest heb je gelijk
PHP:
1
if ($_SERVER['REQUEST_METHOD'] == 'POST') { }

en als je echt een name attribuut nodig hebt voor een submit button, gebruik dan niet de naam 'submit', want daarmee overschrijf je de javascript submit method voor het formulier.

En wb slordig HTML - daarmee bedoel ik o.a. het niet consequent gebruiken van quotes voor attributen, en het gebruik van lowercase en uppercase door elkaar.
De extra variabelen die je nu in je action als GET parameters doorgeeft kan je naar mijn mening beter als hidden vars opnemen in je formulier zelf - je hoeft serverside dan alleen nog maar rekening te houden met POST vars wat het eenduidiger maakt.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
crisp schreef op 07 juli 2004 @ 07:35:
[...]

PHP:
1
if ($_SERVER['REQUEST_METHOD'] == 'POST') { }

en als je echt een name attribuut nodig hebt voor een submit button, gebruik dan niet de naam 'submit', want daarmee overschrijf je de javascript submit method voor het formulier.
Bovendien zal ie niet eens bestaan als je op de entertoets ramt, ipv de button aanklikt. Dus ook een andere naam geven is geen goed plan.

Maar om het met $_SERVER['REQUEST_METHOD'] == 'POST' op te lossen vind ik ook geen goede manier. Als je later nog een formulier toevoegt (misschien via een include) dan wordt die IF dus daardoor ook getriggered en loopt je code in de soep.
Door gewoon een hidden input veld op te nemen en die een beetje handige naam te geven loop je dat risico niet en schep je gelijk duidelijkheid in je code.

[ Voor 7% gewijzigd door marty op 07-07-2004 08:33 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

klopt, bij meerdere formulieren kan je inderdaad het beste een indicatie van het formulier als hidden var opnemen, maar ik denk dat je in de meeste gevallen toch maar 1 formulier op een pagina zal hebben, en dan is de request-method uitvragen toch wel afdoende naar mijn mening.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
crisp schreef op 07 juli 2004 @ 09:51:
klopt, bij meerdere formulieren kan je inderdaad het beste een indicatie van het formulier als hidden var opnemen, maar ik denk dat je in de meeste gevallen toch maar 1 formulier op een pagina zal hebben, en dan is de request-method uitvragen toch wel afdoende naar mijn mening.
Niet mee eens. Stel dat hij later een login-mogelijkheid op z'n site gaat maken en iemand logt in terwijl hij die pagina bekijkt. Dan heb je dus een probleem.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

marty schreef op 07 juli 2004 @ 11:46:
[...]


Niet mee eens. Stel dat hij later een login-mogelijkheid op z'n site gaat maken en iemand logt in terwijl hij die pagina bekijkt. Dan heb je dus een probleem.
:?

je bedoelt dat je dan 2 forms hebt? ik zeg toch dat het gebruik van een hidden var dan idd uitkomst biedt - tenminste in die gevallen dat beide forms door hetzelfde script afgehandeld moeten worden, en dat is ook nog maar de vraag.

[ Voor 33% gewijzigd door crisp op 07-07-2004 12:58 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
tuurlijk is het maar de vraag; maar waarom zou je jezelf die beperking op leggen? Het gaat mij om het idee: dat je op een manier programmeert die een eventuele uitbreiding belemmert. En waarom zou je dat doen? Heeft geen enkel voordeel op om de request_method te controleren, maar wel een mogelijk nadeel. Daarbij heeft het controleren op een hidden input tag ook nog eens een voordeel tav de helderheid van je code. Dus waarom zou je die request_method methode dan nog gebruiken? :?

Acties:
  • 0 Henk 'm!

Verwijderd

[quote]Verwijderd schreef op 06 juli 2004 @ 23:39:

code:
1
2
<FORM ACTION=\"admin.php?op=rollof&a=add_newstadium\" METHOD=post>
...............


Moet zijn:
code:
1
2
<FORM ACTION=\"admin.php?op=rollof&amp;a=add_newstadium\" METHOD="post">
...............


& ipv &, omdat je je dan aan de W3 standaard houdt
quotes om de inhoud omdat dat netter is, in sommige gevallen zelfs vereist.
Verder is het gebruik van kleine letters aangeraden omdat dit toekomstgericht is; met het oog op XHTML.
Pagina: 1