Daten von php-eingabeformular in TYPOlight an MySQL-Datenbank übergeben

helpme0815

Grünschnabel
hallo Wissende!

mir ist bewusst das es bereits zu so einer (ähnlichen) problematik beiträge gibt. und ich hätte auch keinen extra-beitrag erstellt, wenn mir die bisherigen geholfen hätten.

Folgendes Problem:
Ich muss ein Formular in einem CMS konstruieren (Typolight), dass die eingegebenen Daten in eine MySQL-Datenbank schreibt. Und ich bin ein Einsteiger.

Mein Ansatz:
Ich bastel mir mein Anmeldeskript (php-teil für die datenweitergabe, html-teil für das formular an sich), das ich mir über insert-tags in typolight dann auf einer Seite einbinden lasse.

Daten:
TYPOlight 2.8.3
phpmyadmin 3.3.1
datenbank "event"
Tabelle "bufak"

---

mein bisheriger Code der datei "anmeldung.php":

PHP:
<?php
$db_host = "localhost";
$db_user = "event";
$db_pass = "XXX";
$db_name = "events";

if (isset( $_POST['eintragen'] ))
{
    // Maskierende Slashes aus POST entfernen
    $_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;

    // Inhalte der Felder aus POST holen
    $fachschaft_name = $_POST['fachschaft_name'];
    $fachschaft_plz = $_POST['fachschaft_plz'];
    $fachschaft_ort = (int) $_POST['fachschaft_ort'];
    $fachschaft_strasse = $_POST['fachschaft_strasse'];
    $fachschaft_hausnr = (int) $_POST['fachschaft_hausnr'];
    $fachschaft_email = isset( $_POST['fachschaft_email']
    $mitglied_name = $_POST['mitglied_name'];
    $mitglied_vorname = $_POST['mitglied_vorname'];
    $mitglied_alter = (int) $_POST['mitglied_alter'];
    $mitglied_geschlecht = $_POST['mitglied_geschlecht'];
    $mitglied_plz = (int) $_POST['mitglied_plz'];
    $mitglied_ort = (int) $_POST['mitglied_ort'];
    $mitglied_strasse = $_POST['mitglied_strasse'];
    $mitglied_hausnr = isset( $_POST['mitglied_hausnr'];

    // Verbindung oeffnen und Datenbank ausweahlen
    $conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
    if ($conID)
    {
        mysql_select_db( $db_name, $conID );
    }

    // Anfrage zusammenstellen der an die DB geschickt werden soll
    $sql = "INSERT INTO `bufak`
                (`fachschaft_name`, `fachschaft_plz`, `fachschaft_ort`, `fachschaft_strasse`, `fachschaft_hausnr`, `fachschaft_email`, `mitglied_name`, `mitglied_vorname`, `mitglied_alter`, `mitglied_geschlecht`, `mitglied_plz`, `mitglied_ort`, `mitglied_strasse`, `mitglied_hausnr`)
            VALUES(
                '" .mysql_real_escape_string( $fachschaft_name ). "',
                '" .mysql_real_escape_string( $fachschaft_ort ). "',
                '" .mysql_real_escape_string( $fachschaft_strasse ). "',
                '" .mysql_real_escape_string( $fachschaft_email ). "',
                '" .mysql_real_escape_string( $mitglied_name ). "',
                '" .mysql_real_escape_string( $mitglied_vorname ). "',
                '" .mysql_real_escape_string( $mitglied_geschlecht ). "',
                '" .mysql_real_escape_string( $mitglied_ort ). "',
                '" .mysql_real_escape_string( $mitglied_strasse ). "',
                " .$fachschaft_plz. ",
                " .$fachschaft_hausnr. ",
                " .$mitglied_alter. ",
                " .$mitglied_plz. ",
                " .$mitglied_hausnr. "
                )";
    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    mysql_query( $sql );
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    if (mysql_affected_rows() == 1)
    {
        echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";

    }
    else
    {
        echo '<h3>Der Datensatz konnte <span class="hinweis">nicht</span> hinzugefügt werden!</h3>';

    }
}
?>
<html>
<head>
<title>Anmeldung BuFak 2012 Göttingen</title>
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular">

fachschaft_name: <input type="text" name="fachschaft_name">
fachschaft_plz: <input type="text" name="fachschaft_plz">
fachschaft_ort: <input type="text" name="fachschaft_ort">
fachschaft_strasse: <input type="text" name="fachschaft_strasse">
fachschaft_hausnr: <input type="text" name="fachschaft_hausnr">
fachschaft_email: <input type="text" name="fachschaft_email">
mitglied_name: <input type="text" name="mitglied_name">
mitglied_vorname: <input type="text" name="mitglied_vorname">
mitglied_alter: <input type="text" name="mitglied_alter">
mitglied_geschlecht: <input type="text" name="mitglied_geschlecht">
mitglied_plz: <input type="text" name="mitglied_plz">
mitglied_ort: <input type="text" name="mitglied_ort">
mitglied_strasse: <input type="text" name="mitglied_strasse">
mitglied_hausnr: <input type="text" name="mitglied_hausnr">

<input type="submit" name="eintragen" id="eintragen" value="Abschicken" />
</body>
</html>

---

1. Frage: was stimmt an dem Code nicht?
2. Frage: oder stimmt der Code und ich hab mich im CMS verheddert? Was denkt ihr?


ich DANKE euch für jegwelche Lösungsansätze******

mfg
 
danke euch, hat sich erledigt.

folgende Lösung:

1) der php-code war korrekt
2) den html-teil (das formular) durfte ich NICHT miteinbinden, sondern musste es als Objekt im CMS direkt bauen. innerhalb von diesem objekt "formular" habe ich über ienen insert-tag ({{file:anmeldung.php}}) dann mein php-code nachgeladen

alles frertig. danke euch trotzdem!
 
Zurück