Querys über adminbereich auf die index seite

DreamTeam-World

Grünschnabel
Hallo zusammen,

Ich habe folgendes Problem:

Da es mir auf dauer zu lästig ist, ständig in der index.php einen Eintrag über meine Änderungen zu schreiben, haben ich mir gedacht das ich das künftig über meinen Admin bereich machen möchte. Das auslesen aus der DB funktioniert, jedoch schaff ich es irgendwie nicht, 3 lächerliche datensätze über den adminbereich in die DB zubekommen. ich weiss nicht mehr was ich noch machen soll. Könntet ihr mir eventuell behilflich sein.

Die momentane Strucktur:
login mit pw abfrage -> indexseite des adminbereichs -> "updateindex.php" -> "updateadd.php"

Aus Sicherheitsgründen habe ich die Namen der anderen Dateien weggelassen. Es dreht sich hauptsächlich um die in Anführungszeichen gesetzen Dateien. Diese sehen wie folgt aus.

updateindex.php:
PHP:
<?php
include("kopf.php");

?>
<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000" valign="top">
<center>
<table width="550" border="0" valign="top">
<tr>
<td width="505">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?php
include(".php");
include(".php");

$datum=date("Y-m-d");

echo "<form method=POST action=updateadd.php>
<center><table width=500 border=0>
<tr>
<td colspan=2 bgcolor=$tablebg width=100 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><center>
<b>Index / Update Eintragen</b></center></td>
</tr>";

echo "<tr>
<td bgcolor=$tablebg valign=top width=75 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><b>
Thema</b></td>
<td bgcolor=$tablebg valign=top width=450 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
<select name=$thema size='1'>
<option selected>Allgemein</option>
<option>Betriebswirtschaftslehre</option>
<option>Ernährungskunde</option>
<option>Getränkekunde</option>
<option>Lernhilfe</option>
<option>Servicekunde</option>
<option>Speisekunde</option></select></td>
</tr>";

echo "<tr>
<td bgcolor=$tablebg valign=top width=75 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><b>
Update</b></td>
<td bgcolor=$tablebg valign=top width=450 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
<textarea rows='10' cols='30' name=$update></textarea></td>
</tr>";

echo "<tr>
<td colspan=2 bgcolor=$tablebg width=100 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
<center><input type='submit' name='speichern' value='Speichern'></input></center>
<input type=hidden name=$datum value=datum></td>
</tr>
</table></form>";
?>


</td>
</tr>
</table></center>
</td>


<?php
include("fuss.php");
?>


updateadd.php
PHP:
<?php
include("kopf.php");
?>

<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000" valign="top">

<center><table width="570" border="0" valign="top">
<tr>
<td width="505">&nbsp;

<?php

include(".php");
include(".php");

$datum=date("Y-m-d");

if (isset($thema) && isset($update))

{

if ($thema == "" or $update == "") {

echo "<br><br>
<center><table width=500 border=0>
<tr>
<td colspan=2 bgcolor=$tablebg style=\"border: 1px solid #000000\"><font face=$tablefont size=2><b>
Fehler bei der Bearbeitung aufgetreten</td>
</tr>
</table>";

}

else

{

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");

if (!$verbindung) {
echo "Verbindung zur Datenbank war nicht möglich!\n";
exit;
}

mysql_select_db($sqldb,$verbindung);

$daten = "INSERT INTO $sqltable (datum,thema,update) VALUES ('$datum','$thema','$update','$REMOTE_ADDR')";

$result = mysql_query($daten,$verbindung);

echo "<center><table width=500 border=0>
<tr>
<td bgcolor=$tablebg style=\"border: 1px solid #000000\"><font face=$tablefont size=2><b>Der Eintrag wurde gespeichert</td>
</tr>
</table>";

}

?>

</td>
</tr>
</table></center>
</td>


<?php
include("fuss.php");
?>


Beim testen sagte der Browser (firefox) es wäre ein fehler in der datei "updateadd.php" in der Zeile 69. Das ist die letze Zeile. "?>" Ich weiss echt nicht mehr weiter. Bitte um hilfe sonst verzweifle ich endgültig.


Mit lieben Grüßen
DreamTeam-World (alias Janine)

P.S. Sollte ich mich falsch im Forum eingetragen, bitte ich um Endschuldigung. Und vielen Dank im vorraus.
 
Du hast in der Datei 7 geschweifte Klammern. Überprüfe die mal ;) Bei Klammern kann es immer nur gerade Werte geben, da eine immer öffnet und eine andere immer schließt.

Bei dir fehlt entweder die geschlossene Klammer für den Else-Zweig oder für den anfänglichen IF-Zweig.
 
Danke. Es fehlte eine tatsächlich eine Geschweifte Klammer. Er macht jetzt auch was. Aber erträgt nichts in die DB ein.

Ich kann nicht mehr denken... gfeht erst mal was essen... bis später und danke noch mal

Liebe Grüße
DreamTeam-World (alias Janine)
 
Gewöhnt euch mal an, immer mit mysql_error() zu arbeiten.
PHP:
$result = mysql_query($daten,$verbindung) or die(mysql_error());
 
Man kann ja auch schlecht vier Werte in 3 Spalten übertragen ;)

Wo soll denn das zB hin "$REMOTE_ADDR" ?
 
@fanste
es liegt nicht an der DB-Verbindung die Prüfe ich immer als erstes. Wenn die nicht Funktioniert, mache ich erst weiter wenn die klappt.

@Admi
Danke, da muss ich wohl blind gewesen sein. :-(

Folgendes. Die Flüchtigkeitsfehler habe ich jetzt so weit ausgebessert. Dennoch es noch nicht. jetzt habe ich überall ein echo mit text gesetzt um zu sehen wo es hängt. und er bleibt immer bei Blödmann1 hängen. Habe ich irgendwas vergessen zu setzen das die Variabeln in die nächste Seite genommen werden?

updateindex.php
PHP:
<?php
include("kopf.php");

?>
<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000"  valign="top">
	<center>
		<table width="550"  border="0" valign="top">
			<tr>
				<td width="505">
				<p>&nbsp;</p>
				<p>&nbsp;</p>
				<p>&nbsp;</p>
<?php
include(".php");
include(".php");

$datum=date("Y-m-d");

echo "<form action=updateadd.php method=POST>
		<input type=hidden name=flag value=1>
      <center><table width=500 border=0>
	  <tr>
	  <td colspan=2 bgcolor=$tablebg width=100 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><center>
	  <b>Index / Update Eintragen</b></center></td>
	  </tr>";

echo "<tr>
      <td bgcolor=$tablebg valign=top width=75 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><b>
		Thema</b></td>
	  <td bgcolor=$tablebg valign=top width=450 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
	  <select name=$thema size='1'>
	  <option selected>Allgemein</option>
	  <option>Betriebswirtschaftslehre</option>
	  <option>Ernährungskunde</option>
	  <option>Getränkekunde</option>
	  <option>Lernhilfe</option>
	  <option>Servicekunde</option>
	  <option>Speisekunde</option></select></td>
	  </tr>";

echo "<tr>
      <td bgcolor=$tablebg valign=top width=75 style=\"border: 0px solid #000000\"><font face=$tablefont size=2><b>
		Update</b></td>
	  <td bgcolor=$tablebg valign=top width=450 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
	  <textarea rows='10' cols='30' name=$update></textarea></td>
	  </tr>";

echo "<tr>
	  <td colspan=2 bgcolor=$tablebg width=100 style=\"border: 0px solid #000000\"><font face=$tablefont size=2>
	  <center><input type='submit' name='speichern' value='Speichern'></input></center>
	  <input type=hidden name=$datum value=datum></td>
	  </tr>
	  </table></form>";

?>


				  </td>
              </tr>
            </table></center>
            </td>


<?php
include("fuss.php");
?>
updateadd.php

PHP:
<?php
include("kopf.php");
?>

      <td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000"  valign="top">

            <center><table width="570"  border="0" valign="top">
              <tr>
                <td width="505">&nbsp;

				<?php

include(".php");
include(".php");

$datum=date("Y-m-d");

echo "blödmann1";
if (isset($thema) && isset($update))

{
echo "blödmann2";
	if ($thema == "" or $update == "")
	{
echo "blödmann3";
		echo "<br><br>
	  		<center><table width=500 border=0>
	  		<tr>
	 		<td colspan=2 bgcolor=$tablebg style=\"border: 1px solid #000000\"><font face=$tablefont size=2><b>
	  		Fehler bei der Bearbeitung aufgetreten</td>
	  		</tr>
	  		</table>";

	}

	else
	{

		$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");

		if (!$verbindung)
		{
			echo "Verbindung zur Datenbank war nicht möglich!\n";
			exit;
		}
		echo "blödmann4";

		mysql_select_db($sqldb,$verbindung);
		
		echo "blödmann5";

		$daten = "INSERT INTO $sqltable (datum,thema,update) VALUES ('$datum','$thema','$update')";
		
		echo "blödmann6";

		$result = mysql_query($daten,$verbindung) or die(mysql_error()); 
		
		echo "blödmann7";

		echo "<center><table width=500 border=0>
	  	<tr>
	  	<td bgcolor=$tablebg style=\"border: 1px solid #000000\"><font face=$tablefont size=2><b>Der Eintrag wurde gespeichert</td>
	  	</tr>
	  	</table>";

	}
}
}
?>

				  </td>
              </tr>
            </table></center>
            </td>


<?php
include("fuss.php");
?>
 
Zuletzt bearbeitet:
Packe den Code bitte in die entsprechenden BB Tags.

DreamTeam-World hat gesagt.:
@fanste
es liegt nicht an der DB-Verbindung die Prüfe ich immer als erstes. Wenn die nicht Funktioniert, mache ich erst weiter wenn die klappt.

Wenn du mein Codebeispiel richtig geließt, würdest du sehen, dass ich nicht die Verbindung, sonder das abschicken des Querys prüfe. Ich habe das bei mysql_query() und nicht bei mysql_connect() angehängt.
 
register_globals off/on? Egal ob on oder off, du solltest mit $_POST,$_GET oder $_REQUEST arbeiten!

PHP:
  [...]
  if (isset($_POST["thema"]) && isset($_POST["update"])) {
    echo "blödmann2";
    if ($_POST["thema"] == "" or $_POST["update"] == "") {
      echo "<br><br><center>
        <table width=500 border=0>
          <tr>
            <td colspan=2 bgcolor=$tablebg style=\"border: 1px solid #000000\">
              <font face=$tablefont size=2><b>Fehler bei der Bearbeitung aufgetreten</b></font>
            </td>
          </tr>
        </table>";
    } else {
      $verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");
      if (!$verbindung) {
        echo "Verbindung zur Datenbank war nicht möglich!\n";
        exit;
      }
      mysql_select_db($sqldb,$verbindung);

      $daten = "INSERT INTO $sqltable (datum,thema,update)
                     VALUES ('".$_POST["datum"]."','".$_POST["thema"]."','".$_POST["update"]."')";
      $result = mysql_query($daten,$verbindung) or die(mysql_error());

    [...]

versuch mach kluch! =)
 
Irgendwie es nicht. Es hängt immer noch an der gleichen Stelle.
Ich weiss schon garnicht was ich da überhaupt zusammen schreib. Am besten ich schreb das alles noch mal neu.
 
@faste
Sorry erst mal, hatte deinen Text falsch gelesen. *peinlich sei*
deinen ratschlag habe ich einmal getestet und da kommt folgender Text bei rum.

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'update)VALUES ('','2006-07-14','','')' at line 1

In meiner DB habe ich 4 spalten id,datum,thema und update. Allerdings steht id auf auto_increment. Hat das irgendetwas damit zu tun? Weil bei meine GB hab ich das auch nicht gemacht und es geht. Naa das GB hab ich auch nicht ganz alleine gemacht. mein Lehrer hat mir viel geholfen ^_^"

@huber83
Danke für den Tipp der , allerdings hab ich da noch eine kleine änderung vorgenommen.
dieser hier
PHP:
if (isset($_POST["$thema;"]) && isset($_POST["$update;"])) 
{
	echo "blödmann2";
    if ($_POST["$thema;"] == "" or $_POST["$update;"] == "") 
    {

Und noch einen Fehler habe ich gefunden. :-P Denn hat keiner von euch gefunden
in der indexupdate.php fehlten die";" hinter den Variablen. ^_^" das kommt davon wenn man zu schnell ist.
 
Zurück