• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Inhalte in MySQL speichern

Black_Mamba

Neues Mitglied
Hallo zusammen, ich habe nochmal ein kleines Problem.

Habe ein Tutorial über Datenbankspeicherung von PHP und MySQL gelesen und auch gemacht.

So sieht mein Code aus:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<?php
$db = mysqli_connect("localhost", "root", "Passwort hab ich meins drin", "db");
if(!$db)
{
      alert("Verbindung zu MySQL nicht möglich!");
}
$produkt = $_POST["Produkt"];
$produktnummer = $_POST["Produktnummer"];
$subject = $_POST["Subject"];
$eintragen = mysqli_query($db, "INSERT INTO links (produkt, nummer, betreff) VALUES ('$produkt', '$produktnummer', '$subject')");
    ?>
</head>
<body>
<form method="POST">
<input type="hidden" name="Produkt" value="Produkt 2">
<input type="hidden" name="Produktnummer" value="2">
<input type="hidden" name="Subject" value="Offerten Anfrage">
Produkt<br>
<a href="http://meineseite.ch/neu/produkte/produkt2.html"><image src="http://www.meineseite.ch/images/test.png"></image></a><br>
Nummer 2<br>
<input type="submit" value="Offerte beantragen">
</form>
</body>

Jetzt sollte doch theoretisch wenn ich auf den Button "Offerte beantragen" klicke die Daten gespeichert werden.

Doch jetzt kommt noch mein 2. Problem:
Ich habe ja im Script, dass wenn die Verbindung zur MySQL-Datenbank nicht funktioniert, dass es mir eine Meldung mit "Verbindung zu MySQL nicht möglich!" gibt.

Doch ich kann meine Datenbank-Daten nach belieben ändern und bekomme keine Fehlermeldung.

Kann mir da jemand weiterhelfen?

Freundlicher Gruss
Black_Mamba
 
Die Funktion alert gibt es nicht und im Header macht eine Ausgabe nicht wirklich Sinn. Außerdem werden leere Daten schon beim Aufruf in die DB geschrieben. Weiterhin solltest du die Daten vorher durch mysqli_real_escape_string schleusen. Und ein mysqli_error hilft in der Regel Fehler zu finden.

Zusammengefasst: dein Quellcode ist zum Teil Schrott
 
Hättest du mir da vieleicht auch einen kleinen Lösungsvorschlag?
Aber klar doch: lerne die Grundlagen :D

Ungetestet:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<?php
  if (isset($_POST["Produkt"]))
  {
     $db = mysqli_connect("localhost", "root", "Passwort, "db");
     if(!$db)
        die("Verbindung zu MySQL nicht möglich!");

     $query = "Insert
                into
                  `links`
                  (`produkt`,
                   `nummer`,
                   `betreff`)
                values
                 ('" . mysqli_real_escape_string($db, $_POST["Produkt"]) . "',
                  '" . mysqli_real_escape_string($db, $_POST["Produktnummer"]) . "',
                  '" . mysqli_real_escape_string($db, $_POST["Subject"]) . "')";

    mysqli_query($db, $query)
      or die ("MySQL-Error: " . mysqli_error($db);
  }
?>
<form method="post" action="<?php $_SERVER['SCRIPT_NAME']; ">
  <input type="hidden" name="Produkt" value="Produkt 2">
  <input type="hidden" name="Produktnummer" value="2">
  <input type="hidden" name="Subject" value="Offerten Anfrage">
  Produkt<br>
  <a href="http://meineseite.ch/neu/produkte/produkt2.html"><image src="http://www.meineseite.ch/images/test.png"></image></a><br>
  Nummer 2<br>
  <input type="submit" value="Offerte beantragen">
</form>
</body>
 
Geht nicht, hab auch die kleinen Schreibfehler die dir eingeschlichen sind korrigiert und geht trotzdem nicht. Aber danke trotzdem.
Versuche mich jetzt noch ein bisschen daran, kaufe mir ein Buch über MySQL und PHP und lese mich da rein.
 
Zurück
Oben