Andris: Datenbank füllen

Beitrag lesen

Hallo allerseits,

ich möchte ein kleines CMS bauen. dafür habe ich einige dateien erstellt.

ein interface, wo man die daten eingeben kann, womit eine tabelle in einer datenbank gefüllt werden soll. und natürlich ein file, welches die daten aus der datenbank abruft. wenn ich die tabelle über phpmyadmin direkt fülle, funktioniert alles wunderbar, doch will ich meinem kunden das phpmyadmin interface nicht zumuten und es ihm so einfach wie möglich machen. ich habe in meinem script einige fehlermeldungen eingebaut, aber einen fehler bringe ich einfach nicht raus. und zwar schlägt die sql-query immer fehl.

ja hier einige script brocken. falls mir jemand helfen könnte wäre ich super froh.

so sieht das formular der eingabe seite aus:

<form name="newseintrag" action="news.entry.php" method="post">
  <table border="0" align="center" cellpadding="10" bgcolor="#FFFFFF">
 <tr>
  <td colspan="2" bgcolor="#666666"><div align="center"><img src="images/logo_klein.png" width="100" height="99" align="middle">

<h2 class="style1">Content Management System</h2>
   </div>
   <?php
   if(isset($isError) AND $isError == TRUE){
    echo"<span style='color:red; font-family:Arial; font-weight:bold;'><ul left-margin:0;>".$error_msg."</ul></span>\n";
   }
  ?>

</td>
 </tr>
 <tr>
  <td>
   <h2>Platzierung:</h2>  </td>
  <td>
   <input type="text" name="id" size="10" value="<?php echo $_POST['id']; ?>"/>  </td>
 </tr>
 <tr>
  <td>
   <h2>Titel:</h2>  </td>
  <td>
   <input type="text" name="titel" size="100" value="<?php echo $_POST['titel']; ?>"/>  </td>
 </tr>
 <tr>
  <td valign="top">
   <h2>News:</h2>  </td>
  <td><textarea name="news" cols="80" rows="10" value="<?php echo $_POST['news']; ?>"></textarea></td>
 </tr>
 <tr>
  <td>&nbsp;   </td>
  <td>
   <input type="submit" name="b1" value="News eintragen!">  </td>
 </tr>
</table>

</form>

mit diesem file sollte die datenbank gefüllt werden:

<?php
//Konstanten und Funktionen einbinden
include("include/definitionen.php");

//POST-Variablen uebernehmen

$titel  = $_POST['titel'];
$news  = $_POST['news'];
$id   = $_POST['id'];

//Variable vordefinieren
$isError = FALSE;

if(empty($id)){
 $isError = TRUE;
 $error_msg .= "<li>Bitte Platzierung bestimmen!</li>";
}

if(empty($titel)){
 $isError = TRUE;
 $error_msg .= "<li>Bitte Titel eintragen!</li>";
}

if(empty($news)){
 $isError = TRUE;
 $error_msg .= "<li>Bitte News eintragen!</li>";
}

//abfragen, ob ein fehler aufgetreten ist
if($isError){
 //formular nochmals ausgeben
 include("newseintrag.php");
}else{

//SQL-Query erstellen
 $sql_query = "INSERT INTO ".MYSQL_DATABASE;
 $sql_query .= " (id, titel, news) ";
 $sql_query .= "VALUES";
 $sql_query .= " ('".$id."',";
 $sql_query .= " '".$titel."',";
 $sql_query .= " '".$news."',";
 $sql_query .= " '".$_SERVER['REMOTE_ADDR']."')";

//SQL-Query abschicken
 $eintrag = querysenden($sql_query);

//header an den browser senden, damit dieser eine neue seite laedt
 header("location: home.php?neu=1");
}

?>

dann noch die eingebunden files:

<?php
//Server Konstanten

define('MYSQL_HOST', 'localhost');       // Datenbank Server
define('MYSQL_USER', 'x');        // Datenbank Benutzer
define('MYSQL_PASS', 'y');        // Datenbank Passwort
define('MYSQL_DATABASE', '21087_sabor');    // Datenbank Name
define('MYSQL_NEWS', 'news');         // Datenbank Tabelle News

//Funktionen einbinden

include("funktionen.php");

?>

und dann noch, und das ist wahrscheinlich das problemfile:

<?php

function querysenden($query){

//schritt 1: mit dbserver verbinden
 //mysql_connect("server", "benutzername", "passwort")
 //@ unterdrueckt die fehlermeldung
 @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)
 OR die("ERROR: keine Verbindung zum DB-Server!");

//schritt 2: db auswaehlen
 mysql_select_db(MYSQL_DATABASE) OR die("ERROR: DB wurde nicht gefunden!");

//schritt 4: sql-query absenden
 $rueckgabe = mysql_query($query) OR die("ERROR: SQL-Query fehlgeschlagen!");

//schritt 5: db verbindung trennen
 mysql_close();

//resultat zurueckliefern
 return $rueckgabe;
 }

function datenlesen($suchID){
   //sql-query definieren
   $sql_query = "SELECT * FROM ".MYSQL_GUEST." WHERE id=".$suchID;

//sql-query senden
   $resultat = querysenden($sql_query);

// datensatz auslesen und in ein assiziatives array speichern
   while($zeile = mysql_fetch_assoc($resultat)){
    $item['id'] = $zeile['id'];
    $item['titel'] = $zeile['titel'];
    $item['news'] = $zeile['news'];
   }

return $item;
  }

?>