Hallo, ik ben nu een site aan het maken, waarbij ik probeer maar één php-pagina te gebruiken: index.php
Hierbij haal ik wel code uit database (genaamd 'querion').
In deze db zit een table genaamd 'code' waarin dus alle code ligt opgeslagen, wanneer bijvoorbeeld de pagina 'register' moet worden geopend, wordt er verwezen naar index.php?register en haalt hij de code hiervoor uit de db.
Nu wil ik dat wanneer iemand zich registreert, alles ook afgehandeld wordt met code uit database, maar schijnbaar lukt dit niet, want ik krijg:
De PHP-code uit index.php:
De phpcode uit de database voor de register-pagina:
Wanneer het formulier gesubmit wordt, verwijst hij naar 'doregister', dit is een gewone HTML-pagina waarop gezegd wordt: 'Bedankt voor registreren'
Maar hoe zorg ik er nu voor dat mijn form gewoon kan worden verwerkt?
Hierbij haal ik wel code uit database (genaamd 'querion').
In deze db zit een table genaamd 'code' waarin dus alle code ligt opgeslagen, wanneer bijvoorbeeld de pagina 'register' moet worden geopend, wordt er verwezen naar index.php?register en haalt hij de code hiervoor uit de db.
Nu wil ik dat wanneer iemand zich registreert, alles ook afgehandeld wordt met code uit database, maar schijnbaar lukt dit niet, want ik krijg:
code:
1
2
| HTTP 405 - Resource not allowed Internet Information Services |
De PHP-code uit index.php:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| <? include("inc/begin.php"); mysql_select_db("querion", $link); $html = true; $php = false; $verder = 1; @$content = $_SERVER['QUERY_STRING']; if (!$content) $content = 'index'; $result = mysql_query("SELECT code FROM code WHERE content = '".$content."' AND type = 'php';"); $code = mysql_fetch_array($result, MYSQL_NUM); $html = false; $php = true; if (!is_array($code)){ $result = mysql_query("SELECT code FROM code WHERE content = '".$content."' AND type = 'html';"); $code = mysql_fetch_array($result, MYSQL_NUM); $html = true; $php = false; } if (!is_array($code)){ $content = 'index'; $result = mysql_query("SELECT code FROM code WHERE content = '".$content."' AND type = 'php';"); $code = mysql_fetch_array($result, MYSQL_NUM); $html = false; $php = true; } if (!is_array($code)){ $result = mysql_query("SELECT code FROM code WHERE content = '".$content."' AND type = 'html';"); $code = mysql_fetch_array($result, MYSQL_NUM); $html = true; $php = false; } $type = 'html'; if ($php) eval($code[0]); elseif ($html) echo $code[0]; if ($verder == 1 && $php){ $result = mysql_query("SELECT code FROM code WHERE content = '".$content."' AND type = '".$type."'") or die("Registration completed"); $code = mysql_fetch_array($result, MYSQL_NUM); echo $code[0]; } ?> </html> |
De phpcode uit de database voor de register-pagina:
PHP:
1
2
3
4
| if ($_SERVER['REQUEST_METHOD'] != 'POST') $content = 'register'; else $content = 'doregister'; |
Wanneer het formulier gesubmit wordt, verwijst hij naar 'doregister', dit is een gewone HTML-pagina waarop gezegd wordt: 'Bedankt voor registreren'
Maar hoe zorg ik er nu voor dat mijn form gewoon kan worden verwerkt?