Robert B.: Nachname/Email-Script

Beitrag lesen

Hallo Simon,

neben den Sachen von Gunnar:

<?php
//Eingabe 
if(isset($_POST["senden"]))
{
$username= $_POST["username"];
$usermail= $_POST["usermail"];

Du prüfst hier, ob $_POST den Eintrag „senden“ enthält, aber nicht, ob „username“ und „usermail“ gesetzt sind. Das Umkopieren in neue Variablen brauchst du übrigens nicht zwingend.

require("config.inc.php");
$tblname= "uebung3";
$eintrag= "INSERT INTO uebung3 (username, usermail) VALUES ('$username','$usermail');";
$result  = mysql_query($eintrag) or die("SQL-Fehler: ".mysql_error());
}

Hier gibt es gleich Mehreres:

  • Die Variable tblname wird definiert aber nicht verwendet.
  • Dein SQL-Query ist anfällig für SQL-Injektion, d.h. du musst den Kontextwechsel nach SQL beachten.
  • Du verwendest eine veraltete MySQL-Schnittstelle.
// …

Im folgenden Code mit dem SELECT wird ebenfalls die veraltete MySQL-Schnittstelle verwendet sowie der Kontextwechsel nach HTML missachtet.

Viele Grüße
Robert