Frage zu Tutorial "Templatesystem mit AJAX und Modulen"

Normal googeln nach
PHP+POST+MySQL

Sorry, aber dazu gibt es hunderte Anleitungen.
 
Sorry, hab mich vielleicht nicht richtig ausgedrückt. Soweit ich bei dem Tutorial durchblicke kann ich nur Daten aus der Datenbank ausgeben.

Meine eigentliche Frage ist eigentlich die wie ich über Ajax Daten in die Tabelle schreiben kann.
 
Indem du die Daten an ein PHP-Skript per POST oder GET schickst, und dieses Skript dann wie normal die Daten in die Datenbank schickt?
 
Hey,
fühl mich grad ein wenig blöd bzw. falsch verstanden :rolleyes:

Nochmal ausführlich zur Verdeutlichung meines Problems:

Hier ist mein Formular:
HTML:
<form action="inputtest.php" method="post">
Name: <input type="text" name="name" /><br />
Bereich <input type="text" name="bereich" /><br />
<input type="submit" name="submit" value="Eintragen" />
</form>

Dieses Formular überträgt per Post die Daten an die inputtest.php was auch wunderbar funktioniert. Die Frage ist aber jetzt wie ich das über AJAX hinbekomme.

PHP:
<?php
 
if (isset( $_POST['submit'] ))
{
    // Maskierende Slashes aus POST Array entfernen
    if (get_magic_quotes_gpc()) { $_POST = array_map( 'stripslashes', $_POST ); }
    $name    = $_POST['name'];
    $bereich = $_POST['bereich'];
 
    // Neues Datenbank-Objekt erzeugen
    $db = @new mysqli( 'localhost', 'root', '', 'vaulterp' );
    // Pruefen ob die Datenbankverbindung hergestellt werden konnte
    if (mysqli_connect_errno() == 0)
    {
        $sql = 'INSERT INTO `test2` (`name`, `bereich`) VALUES (?, ?)';
        $eintrag = $db->prepare( $sql );
        $eintrag->bind_param( 'ss', $name, $bereich );
        $eintrag->execute();
        // Pruefen ob der Eintrag efolgreich war
        if ($eintrag->affected_rows == 1)
        {
            echo 'Der neue Eintrage wurde hinzugef&uuml;gt.';
        }
        else
        {
            echo 'Der Eintrag konnte nicht hinzugef&uuml;gt werden.';
        }
    }
    else
    {
        // Es konnte keine Datenbankverbindung aufgebaut werden
        echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
    }
    // Datenbankverbindung schliessen
    $db->close();
}
 
?>

Ich habe das Tutorial
http://www.tutorials.de/content/423-templatesystem-mit-ajax-und-modulen-teil-1.html
verwendet. Hier gibt es 2 Teile (Modul / Template) die zur Anzeige von Inhalten verwendet werden.

MODUL
HTML:
<?
    display("dbeingabetest");
?>
TEMPLATE
PHP:
<form action="inputtest.php" method="post">
Name: <input type="text" name="name" /><br />
Bereich <input type="text" name="bereich" /><br />
<input type="submit" name="submit" value="Eintragen" />
</form>

Das Problem welches ich jetzt habe ich über POST in die per Ajax nachzuladende Seite die Daten bringe. Also dass beim Absenden des Formulars die Inputtest.php die Daten per Ajax geladen bekommt in die Datenbank speichert und mir die Fehler oder Erfolgsmeldungen angezeigt werden.
 
Am besten ist für AJAX immer noch jQuery geeignet. Das bindest du erstmal in deine Seite ein und dann kannst du folgendes machen:
HTML:
<form action="inputtest.php" method="post" id="formular"> 
Name: <input type="text" name="name" /><br /> 
Bereich <input type="text" name="bereich" /><br /> 
<input type="submit" name="submit" value="Eintragen" /> 
</form>
Code:
$(document).ready(function () {
  $('#formular input[type=submit]').click(function (e) {
    // verhindern, dass das Formular wie üblich versendet wird
    if (e.preventDefault)
    {
      e.preventDefault();
    }
    
    // Daten aus dem Formular abfragen
    var data = $('#formular').serialize();
    // Formulardaten abschicken
    $.post($('formular').attr('action'), data, function (data) {
      // in data steht jetzt das, was dir dein Skript ausgibt.. ich hoffe doch, dass du JSON verwendest
    }, 'json');
    return false;
  });
});
 
Ok. Jetzt hab ich allerdings noch das Problem, dass JS nicht ausgeführt wird wenn ich die Seite über AJAX nachlade. Gibts da ne Möglichkeit das Script nicht wie aufgezeigt mit doc.ready zu laden?
 
Zuletzt bearbeitet:
Hallo,
gibt es das Tutorial nicht mehr?

gruss
michi

*Hochschieb*
Ich würde gerne ein altes Projekt reaktivieren und falls das Tut noch irgendwo vorhanden ist,
bitte einmal den Link posten.

Gruss

michi
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

es gibt leider paar Probleme mit den Tutorials,
aber ich kann dir die Texte in Kürze per PN zukommen lassen
 
Zurück