mehrere Formulare in einer Seite - eintragen in DB

aTa

Erfahrenes Mitglied
Hi,
also folgendes ich hab eine Datei in der ich gerne Datenbankeinträge erstellen, löschen und ändern würde. Das löschen klappt soweit, nur steh ich grad etwas auf dem Schlauch und weiss nicht wie ich es umsetzen soll dass er mir bei einem Klick auf den Link das Formular zum eintragen anzeigt.
Ist bestimmt easy aber ich komm grad nicht drauf.
Vielen Dank schonmal

Hier noch etwas Code:
PHP:
 //ausgabe news
  $abfrage = "SELECT *, DATE_FORMAT(datum, '%d.%m.%Y') AS datum FROM news ORDER BY id";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
  {
  $text = $row->news;
  $neuertext = wordwrap($text, 15, "\n", 1);
  $zufall = rand(0,2);
  echo "<a href=start.php>kldöasjklf</a>";
  echo "<tr>\n";
  echo "    <td valign=top>".$row->id."</td>\n";
  echo "    <td><img src='images/spacer.gif' border='0' height='1' width='15'></td>\n";
  echo "    <td valign=top>".$row->datum."</td>\n";
  echo "    <td><img src='images/spacer.gif' border='0' height='1' width='15'></td>\n";
  echo "    <td valign=top>".$row->titel."</td>\n";
  echo "    <td><img src='images/spacer.gif' border='0' height='1' width='15'></td>\n";
  echo "    <td valign=top>[editieren]</td>\n";
  echo "    <td><img src='images/spacer.gif' border='0' height='1' width='15'></td>\n";
  echo "    <td valign=top><a href=intern_index.php?action=2&id=$row->id>[l&ouml;schen]</a></td>";
  echo "</tr>\n";
  }

  /* wenn action in url angegeben */
  if (isset($action)) {

  /* wenn action 1 eintragen */
  if ($action == "1"){
  $titel = $_POST["titel"];
  $news = $_POST["news"];
  $datum = date('ymd');
  $bildauswahl = $_POST["bildauswahl"];
  $eintrag = "INSERT INTO news (titel, news, datum, bildauswahl) VALUES ('$titel', '$news', '$datum', '$bildauswahl')";
  $eintragen = mysql_query($eintrag);
  }

  /* wenn action 2 löschen */
  if ($action == "2"){
  $sql = "delete from news WHERE id = '$id'";
  $del_result = mysql_query ($sql);
  }
  }
 
Also ich hab jetzt dein Script nicht gelesen.

Aber Grundsätzlich geht das so indem du entweder per Get oder Post eine Variable mit einem bestimmten Wert übergibst - du machst das ja auch mit der $action in deinem Script.

Also wenn du das Formular im Script hast dann mach doch einfach folgendes:
PHP:
if($action == "neueintrag") {
//  Hier dein Formular
}
 
Danke es funktioniert, nur das Problem ist, dass er nun nur noch das Datum und die ID in die Datenbank einträgt alles andere nicht mehr woran könnte das denn liegen


N bischen Code:

PHP:
  /* wenn action 1 eintragen */
  if ($action == "1"){
  echo "<form action='$PHP_SELF' method='post' name='form'>";
  echo "<table cellspacing='0' cellpadding='0' border='0'>";
  echo "<tr>";
  echo "      <td colspan='3'>News eintragen<p></td>";
  echo "</tr>";
  echo "<tr>";
  echo "  <td>newsbild:</td>";
  echo "    <td rowspan='4'><img src='images/spacer.gif' border='0' height='1' width='10'></td>";
  echo "    <td>";
  echo "                <select name='bildauswahl' style='width:300px;font-size:10px;'>";
  echo "                        <option value='spacer.gif'></option>";
  echo "                        <option value='wann_cam.gif'>wann_cam.gif</option>";
  echo "                        <option value='wann_cam_alt.gif'>wann_cam_alt.gif</option>";
  echo "                        <option value='wann_club.gif'>wann_club.gif</option>";
  echo "                        <option value='wann_club.gif_alt'>wann_club_alt.gif</option>";
  echo "                        <option value='wann_gig.gif'>wann_gig.gif</option>";
  echo "                        <option value='wann_gig_alt.gif'>wann_gig_alt.gif</option>";
  echo "                        <option value='wann_maus.gif'>wann_maus.gif</option>";
  echo "                        <option value='wann_maus_alt.gif'>wann_maus_alt.gif</option>";
  echo "                        <option value='wann_phones.gif'>wann_phones.gif</option>";
  echo "                        <option value='wann_phones_alt.gif'>wann_phones_alt.gif</option>";
  echo "                </select>";
  echo "        </td>";
  echo "</tr>";
  echo "<tr>";
  echo "    <td>newstitel:</td>";
  echo "    <td><input type='text' name='titel' style='width:300px;font-size:10px;'></td>";
  echo "</tr>";
  echo "<tr>";
  echo "    <td valign='top'>newstext:</td>";
  echo "    <td><textarea name='news' rows='8' cols='10' style='width:300px;font-size:11px;font-family:verdana;'></textarea></td>";
  echo "</tr>";
  echo "<tr>";
  echo "    <td colspan='3'><input type='submit' value='ok'></td>";
  echo "</tr>";
  echo "</table>";
  echo "</form>";

  $titel = $_POST["titel"];
  $news = $_POST["news"];
  $datum = date('ymd');
  $bildauswahl = $_POST["bildauswahl"];
  $eintrag = "INSERT INTO news (titel, news, datum, bildauswahl) VALUES ('$titel', '$news', '$datum', '$bildauswahl')";
  $eintragen = mysql_query($eintrag);
  }
 
Zuletzt bearbeitet:
ja du darfst ja auch erst eintragen, wenn Werte über das Formular abgesendet wurden!
du kannst dann beispeilweise <form action="$_SERVER['PHP_SELF']?main=send"
und dann kannst du bevor du die Daten in die DB schreibst, abfragen:
if($_GET['main']=='send') {
//Daten eintragen
}

genauso kannst du auch überprüfen, ob ein verstecktes Feld aus dem Formular per $_POST übergeben wurde, es gibt da mehrere Wege, nur einen must du auch nehmen ;-)
 
Zurück