[PHP] Drop down print waarde klopt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een pagina gemaakt met een formulier waar onder andere een drop down keuze lijst inzit.
Na op submit gedrukt te hebben, krijg ik wat betreft de drop down waarde, telkens de eerste standaardwaarde terug, namelijk: Nieuws (de enige andere optie is informatie). In de URL geeft hij wel informatie mee als dat doorgegeven wordt, maar hij print ALTIJD nieuws... Iemand een idee?

formulier:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="submit.php" method=get><pre>
<SELECT size=1 name=Tabel>
<option>Nieuws</option>
<option>Informatie</option>
</select>

Auteur:
<input type="text" name="Naam">
E-mail adres:
<input type="text" name="Mail">
                  
Titel:
<input type="text" name="Titel">
        </font>
          </td>
                  <td align="left" valign="top">
<font color="white">
Text:</font>
<textarea name="Onderwerp" cols="25" rows="15"></textarea>
<input type="submit" value="verzenden"><input type="reset" value="Reset">
</form>


en mijn PHP script (nadat je op submit hebt geklikt) moet de geselecteerde waarde geretourneerd worden, omdat die invoerwaarde afhankelijk is in welke tabel de rest gevoegd moet worden, maar hij print (als controle heb ik hem laten printen) altijd de eerste optie: Nieuws.
Dit is het script:
PHP:
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
<?php

$Tabel = $_GET[Tabel];

$gebruiker = '39685'; 
$wachtwoord = '******'; 
$host = 'localhost';
$database = '39685';

$verbinding = mysql_connect($host, $gebruiker, $wachtwoord);
mysql_select_db($database);

if ($Tabel = nieuws) {
    $query = "INSERT INTO nieuws (Date, Naam, Mail, Titel, Onderwerp)";
$query .= "VALUES ('";
$query .=date("Y-m-d-h-i")."','";
$query .=$_GET["Naam"]."','";
$query .=$_GET["Mail"]."','";
$query .=$_GET["Titel"]."','";
$query .=$_GET["Onderwerp"]."');";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());

} else {
    $query = "INSERT INTO info (Date, Naam, Mail, Titel, Onderwerp)";
$query .= "VALUES ('";
$query .=date("Y-m-d-h-i")."','";
$query .=$_GET["Naam"]."','";
$query .=$_GET["Mail"]."','";
$query .=$_GET["Titel"]."','";
$query .=$_GET["Onderwerp"]."');";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());

}

print($Tabel);

mysql_close( $verbinding );

?>

[ Voor 20% gewijzigd door Verwijderd op 15-01-2004 13:18 ]


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Nu online

darkrain

Moderator Discord

Geniet

Handig om je pass hier te posten.

Tweakers Discord


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hahaha boeie, is pas van local server die ik toch nergens anders voor gebruik, maar je hebt gelijk, ik haal hem ff weg :)

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Maak van regel 3 eens
PHP:
1
$Tabel = $_GET['Tabel'];

En trouwens ooit gehoord van SQL Injection attacks?

[ Voor 35% gewijzigd door gorgi_19 op 15-01-2004 13:21 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Moet de method van de form niet "post" zijn ?!

Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Nu online

darkrain

Moderator Discord

Geniet

En dan van regel 13:
PHP:
1
if ($Tabel == "nieuws") {

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Een vergelijking doe je met == en een toekenning doe je met =

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 15 januari 2004 @ 13:21:
Moet de method van de form niet "post" zijn ?!
Waarom? Je kan prima submitten van GET

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RAAAAAAAAAAH, hij werkt!

Beetje jammer dat het van die kleine foutjes zijn. Maar bedankt dat jullie hebben helpen zoeken!!!!!!!

Acties:
  • 0 Henk 'm!

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 11-12-2024

blizt

Wannabe-geek

Verwijderd schreef op 15 januari 2004 @ 13:21:
Moet de method van de form niet "post" zijn ?!
't Is vaak handiger om bij 't debuggen GET te gebruiken, kan je gelijk zien of de waarden correct in de URL staan...

United we stand, and divided we fall


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mag ik je lost van het feit dat je php probleem is opgelost wijzen op het feit dat je html zuigt...

- je gebruikt uppercase en lowercase door mekaar
- je gebruikt het ene moment wel quotes en het volgende moment niet
- er staat ergens een <td> tussendoor

daarnaast nog even algemeen mbt hetgeen waar gorgi je al op wees...

- elk scriptkiddie kan in een submit jou hele database slopen (injection; is op google veel over te vinden)
- er vind serverside totaal geen validatie plaats van de ingevoerde waarden... vb. wat wanneer een gebruiker per ongeluk op enter==submit druk in het veld naam, dan wordt direct een nieuw record toegevoegd
- mbt je formuliervelden; deze hebben geen maxlength, wanneer je in je db wel een maxlength opgeeft creeer je een situatie waarin db-fouten onvermijdelijk zijn...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

mbt je formuliervelden; deze hebben geen maxlength, wanneer je in je db wel een maxlength opgeeft creeer je een situatie waarin db-fouten onvermijdelijk zijn...
Dat hangt van de database af. SQL Server kapt bijvoorbeeld doodleuk het einde er van af. 100 karakters in een varcharveld van 80 --> eerste 80 karakters, rest wordt 'vergeten'.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FvKnijff schreef op 15 januari 2004 @ 13:38:
mag ik je lost van het feit dat je php probleem is opgelost wijzen op het feit dat je html zuigt...

- je gebruikt uppercase en lowercase door mekaar
- je gebruikt het ene moment wel quotes en het volgende moment niet
- er staat ergens een <td> tussendoor

daarnaast nog even algemeen mbt hetgeen waar gorgi je al op wees...

- elk scriptkiddie kan in een submit jou hele database slopen (injection; is op google veel over te vinden)
- er vind serverside totaal geen validatie plaats van de ingevoerde waarden... vb. wat wanneer een gebruiker per ongeluk op enter==submit druk in het veld naam, dan wordt direct een nieuw record toegevoegd
- mbt je formuliervelden; deze hebben geen maxlength, wanneer je in je db wel een maxlength opgeeft creeer je een situatie waarin db-fouten onvermijdelijk zijn...
ja hoor, daar mag je mij wel op wijzen. De html pagina zuigt idd, die had ik al heel lang en gebruik ik voor zon beetje alles, geen wonder dat alles door elkaar staat :P
Uppercase en lowercase, achja, het is een opdracht voor school dus in principe maakt de netheid niet zoveel uit. Als het werkt vind ik het best. Dan weet ik hoe het moet, en zodra ik het echt toe ga passen, dan rolt er sowieso wel wat netjes uit.
Hiermee komt ook het injection gedeelte te vervallen, maar ik ga er zeker even naar kijken voor als ik het in de praktijk ga brengen!

Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
gorgi_19 schreef op 15 januari 2004 @ 13:41:
[...]

Dat hangt van de database af. SQL Server kapt bijvoorbeeld doodleuk het einde er van af. 100 karakters in een varcharveld van 80 --> eerste 80 karakters, rest wordt 'vergeten'.
oke, dat wist ik niet :o maar, dat betekend evengoed dat er dingen met je data gebeuren die niet de bedoeling zijn :+

@TS
ik hoop niet dat jij een opleiding volgt tot proffesioneel web-ontwikkelaar, want dan heb ik hierbij serieuze twijfels over de kwaliteit daarvan...

edit:
is niet bedoelt als persoonlijke aanval :D, vroeg me eerder af of docenten hetgeen je neerzet goedkeuren...

[ Voor 11% gewijzigd door faabman op 15-01-2004 15:18 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-hier stond onzin- :D

[ Voor 96% gewijzigd door Verwijderd op 15-01-2004 15:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FvKnijff schreef op 15 januari 2004 @ 14:34:
[...]


oke, dat wist ik niet :o maar, dat betekend evengoed dat er dingen met je data gebeuren die niet de bedoeling zijn :+

@TS
ik hoop niet dat jij een opleiding volgt tot proffesioneel web-ontwikkelaar, want dan heb ik hierbij serieuze twijfels over de kwaliteit daarvan...
Goed, gelukkig maakt me dat niet zoveel uit wat jou twijfels zijn. (commentaar is ok, maar ik vind het niet nodig dat ik mezelf moet gaan verdedigen).
Het is wel zo dat ik wel eens wat " over het hoofd" zie als ik lekker bezig ben, laten we doen dat ik dat ga afleren :D

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Uppercase en lowercase, achja, het is een opdracht voor school dus in principe maakt de netheid niet zoveel uit. Als het werkt vind ik het best. Dan weet ik hoe het moet, en zodra ik het echt toe ga passen, dan rolt er sowieso wel wat netjes uit.
:? Erhm... 't is maar school, dan raffel ik het er maar van af? Je ziet nu zelf wat voor fouten het oplevert en hoe lastig debuggen het is... Netjes coden is iets wat je te allen tijde moet doen, niet als het je uitkomt.
Hiermee komt ook het injection gedeelte te vervallen, maar ik ga er zeker even naar kijken voor als ik het in de praktijk ga brengen!
SQL Injection attacks hebben niets te maken met netjes coden, maar eerder met een constructie gebruiken. Of ga je me vertellen dat je je nu ook geen zorgen maakt over XSS, maar straks als je afgestudeerd bent, hier standaard rekening mee houdt? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gorgi_19 schreef op 15 januari 2004 @ 15:24:
[...]

:? Erhm... 't is maar school, dan raffel ik het er maar van af? Je ziet nu zelf wat voor fouten het oplevert en hoe lastig debuggen het is... Netjes coden is iets wat je te allen tijde moet doen, niet als het je uitkomt.

[...]

SQL Injection attacks hebben niets te maken met netjes coden, maar eerder met een constructie gebruiken. Of ga je me vertellen dat je je nu ook geen zorgen maakt over XSS, maar straks als je afgestudeerd bent, hier standaard rekening mee houdt? :?
*....* Nee, ik bedoel daarmee dat ik me niet druk hoef te maken over injections omdat ik de pagina alleen moet demonstreren en dus niet openbaar toegankelijk wordt.
Verder, ik heb pas een aantal weken PHP (wat misschien te merken is) dus ja, ik denk daar in de toekomst standaard rekening mee te gaan houden.

Verder, het maakt me niet zoveel uit hoe die HTML code eruit ziet, want die werkt in ieder geval, en het is een beetje monnikken werk om telkens een nieuwe te schrijven.

Don't hate me cuz im a n00b |:(

Acties:
  • 0 Henk 'm!

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 16:08

pistole

Frutter

gorgi_19 schreef op 15 januari 2004 @ 13:41:
[...]

Dat hangt van de database af. SQL Server kapt bijvoorbeeld doodleuk het einde er van af. 100 karakters in een varcharveld van 80 --> eerste 80 karakters, rest wordt 'vergeten'.
offtopic:
Dit is niet waar. Ken je de foutmelding "string or binary data would be truncated" niet? E.e.a. natuurlijk afhankelijk van de manier waarop je je database benaderd.

Ik frut, dus ik epibreer


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Dit is niet waar. Ken je de foutmelding "string or binary data would be truncated" niet? E.e.a. natuurlijk afhankelijk van de manier waarop je je database benaderd.
Nooit gehad, iig... :X

[ Voor 4% gewijzigd door gorgi_19 op 15-01-2004 15:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Verwijderd schreef op 15 januari 2004 @ 15:27:
[...]
Verder, het maakt me niet zoveel uit hoe die HTML code eruit ziet, want die werkt in ieder geval, en het is een beetje monnikken werk om telkens een nieuwe te schrijven.

Don't hate me cuz im a n00b |:(
mmm, laat ze dat in /13 maar niet horen, maar, los daarvan, wil je een beetje cross-browser en beheersbare webapps maken die daarbij ook nog eens compact zijn (dus geen gebruik maken van bijvoorbeeld font) dan zul je toch echt goed gebruik moeten maken van html of xhtml in combinatie met css. En mbt de hoeveelheid werk; dreamweaver e.d. helpen je daar heel erg mee...

* faabman vraagt zich eigenlijk af hoeveel /14-ers beschikken over een typediploma :X

[ Voor 9% gewijzigd door faabman op 15-01-2004 15:37 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
als ik nog 1 vraagje mag stellen:

ALs je een record wil checken op aantal characters, wat moet de voorwaarde dan zijn waarop de variabele gecontroleerd wordt?

(als in:
PHP:
1
2
3
4
5
if ($record == \<de voorwaarde\>) {
    print('dit en dat en dat');
} else {
    print('iets anders');
}

[ Voor 9% gewijzigd door Verwijderd op 15-01-2004 18:09 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 15 januari 2004 @ 18:08:
als ik nog 1 vraagje mag stellen:

ALs je een record wil checken op aantal characters, wat moet de voorwaarde dan zijn waarop de variabele gecontroleerd wordt?
Kijk eens in de manual :)

http://nl3.php.net/manual/nl/function.strlen.php

PHP:
1
2
if (strlen($record) == 7) {
}

[ Voor 24% gewijzigd door Verwijderd op 15-01-2004 18:46 ]

Pagina: 1