Simpler Datenbank eintrag

Wipeout

Erfahrenes Mitglied
Folgendes Problem ich habe mit ModRewrite die URL umgeschrieben in folgendes Format http://www.domain.tl/irgendwas.
Soweit so gut klappt auch alles bis auf meinen Gästebuch Eintrag.

meine Index.php sieht folgendermassen aus

PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include_once('config.php');
?>
<!DOCTYPE html>
<html lang="de">
    <head>
        <meta charset="UTF-8" />
        <title>www.wipiweb.de</title>
        <link rel="stylesheet" type="text/css" href="http://testseite.wipiweb.de/wipiweb.css" />
        <link rel="SHORTCUT ICON" href="favicon.ico" />
    </head>
    <body>
        <div id="seite">
            <header id="kopfbereich">
                <img class="logo" src="http://testseite.wipiweb.de/template/bilder/logo.png" alt="Mein Logo">&nbsp;www.wipiweb.de
            </header>

            <nav>
                <?php include('template/navi.tpl'); ?>
            </nav>

            <div id="inhalt">
                    <?php

                        // configure
                        $getKey = 'seite';
                        $defaultPage = 'home';
                        $errorPage = '404';

                        $pageArray = array(
                            'home' => './module/news/index.php',
                            'Gaestebuch' => './module/gaestebuch/index.php',
                            'Eintragen' => './module/gaestebuch/eintragen.php',
                            'Eintrag_gesendet' => './module/gaestebuch/db.php',
                            'News' => './module/news/index.php',
                            '404' => './module/fehlerseiten/fehler404.html',
                            '400' => './module/fehlerseiten/fehler400.html',
                            '401' => './module/fehlerseiten/fehler401.html',
                            '403' => './module/fehlerseiten/fehler403.html',
                            '500' => './module/fehlerseiten/fehler500.html',
                            '503' => './module/fehlerseiten/fehler503.html'
                        );
                     
                        // decide
                        $page = isset($_GET[ $getKey ])
                            ? $_GET[ $getKey ]  //  requested Page
                            : $defaultPage;     //  default Page
                     
                        $toInclude = array_key_exists($page, $pageArray)
                            ? $pageArray[ $page ]
                            : $pageArray[ $errorPage ];
                     
                        // execute
                        include $toInclude;
                    ?>
            </div>

            <footer>
            <div class="footer">
                <a href="http://www.flickr.com/tanage" target="_blank"><img class="textmittig" src="http://testseite.wipiweb.de/template/bilder/icons/flickr.png" alt="Besuch mich bei Flickr"></a>
                <a href="https://www.facebook.com/luegger" target="_blank"><img class="textmittig" src="http://testseite.wipiweb.de/template/bilder/icons/facebook.png" alt="Besuch mich bei Facebook"></a>
                &nbsp;&copy; by www.wipiweb.de</div>
            </footer>
        </div>
    </body>
</html>

die passende .htaccess

Code:
AddDefaultCharSet utf-8
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(css)
RewriteRule ^([0-9a-z]*)$ index.php?seite=$1 [L,NC]
ErrorDocument 404 /index.php?seite=error

Dann das Gästebuch Formular

HTML:
<form action="Eintrag_gesendet" class="form-container" method="post">
    <h1 id="allgemein">Ins Gästebuch eintragen</h1>
 
        <label>Name</label>
        <input type="text" name="name" required autofocus placeholder="&nbsp;Bitte Namen eingeben">
     
        <label>Email</label>
        <input type="email" name="email" required placeholder="&nbsp;Bitte Email eingeben">
     
        <label>Webseite</label>
        <input type="url" name="url" placeholder="&nbsp;http://">
     
        <label>Deine Nachricht an mich</label>
        <textarea cols="30" rows="15" name="nachricht" required placeholder="&nbsp;Deine Nachricht"></textarea><br><br>
     
        <input type="submit" id="submit" name="submit" Value="Abschicken">
</form>

und als letztes der eintrag in die DB

PHP:
<?
$name = $POST['name'];
$email = $POST['email'];
$url = $POST['url'];
$nachricht = $POST['nachricht'];
$db = @new mysqli($host,$username,$password,$database);
    if (mysqli_connect_errno())
        {
            echo ' <h1 id="fehler">Konnte keine Verbindung zur Datenbank herstellen</h1> ';
        }
    $sql = ' INSERT INTO gaestebuch ('Name','Email','Webseite','Text') VALUES ($name,$email,$url,$nachricht)';
    $ergebnis = $db->query($sql);
    if (!$ergebnis)
        {
            echo ' <h1 id="fehler">Die SQL Abfrage ist fehlerhaft " '.$db->error;
        }
?>

anschauen kann man sich das mal unter testseite.wipiweb.de.

Und zwar kriege ich beim abschicken des Formulares immer einen 404 Fehler :(
Und wen wir schonmal dabei sind wieso nimmt er die $defaultpage nicht an ???

Wo habe ich schon wieder mal meinen Gedanken Fehler ?? ;)
 
Dein Rewrite-Pattern akzeptiert keine _ . Ergo word Eintrag_gesendet nicht umgeleitet.

Entweder
^([0-9a-z_]*)$
oder
^(\w+)$

Ich würde sowieso den * durch + ersetzn, damit mindestens ein Zeichen verlangt wird
 
Danke Yaslaw das oberste da blick ich ja durch aber was macht den ^(\w+)$ ???

Und beides funktioniert nur mal als anmerkung danke ;)
 
Zurück