so, jetzt ist es aktiv.
es gibt nur leider keine warnung.
ist das skript denn jetzt in ordnung?
<?php
include ("checkuser.php");
$db_host = "xxx";
$db_user = "xxx";
$db_pass = "xxx";
$db_name = "xxx";
//###############################
//formular
//###############################
// Wurde das Formular abgeschickt?
if (isset( $_POST['submitbutton'] ))
{
// Whiteliste Dateiendungen und Ersetzungen
$Erlaubte_Dateiendungen = array( "jpg", "gif", "zip", "png" );
$Dateiname_bereinigen = array( 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss', ' ' => '_' );
// Pruefen ob die hochgeladenen Datei mehr als 0 Byte hat
// Hat sie das nicht, wurde auch nichts hochgeladen, logisch, was?! ;)
if ($_FILES['datei']['size'] > 0)
{
// Dateiendung der hochgeladenen Datei abtrennen
$UploadDateiEndung = array_pop( explode( ".", strtolower( $_FILES['datei']['name'] ) ) );
// Schauen ob die Endung der hochgeladenen Datei in der Whitelist steht
if (!in_array( $UploadDateiEndung, $Erlaubte_Dateiendungen ))
{
die( "Die angehängte Datei hat eine nicht erlaubte Dateiendung!" );
}
// Neuer Dateiname erzeugen indem Umlaute und Leerzeichen umgewandelt werden
$img = strtr( strtolower( $_FILES['datei']['name'] ), $Dateiname_bereinigen );
// UMASK resetten um Dateirechte zu ändern (wird nur fuer Linux benoetigt, Windows ignoriert das)
$umask_alt = umask( 0 );
// Hochgeladenen Datei verschieben
if (@move_uploaded_file($_FILES['datei']['tmp_name'] , "./bilder/" . $img))
{
// Die Datei wurde erfolgreich an ihren Bestimmungsort verschoben
/* ***************************************************************************************** */
/* *** Hier koennte Code stehen um Email zu versenden oder Datenbank-Eintraege zu machen *** */
/* ***************************************************************************************** */
// Dateirechte setzen, damit man später die Datei wieder vom FTP bekommt und die UMASK auf den alten Wert setzen
@chmod( $img, 0755 );
umask( $umask_alt );
}
else
{
// UMASK resetten
umask( $umask_alt );
// Hier steht Code der ausgefuehrt wird, wenn der Upload fehl schlug
}
}
}
//###############################
//datenbankanbindung
//###############################
if (isset( $_POST['submitbutton'] ))
{
// Maskierende Slashes aus POST entfernen
$_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
// Inhalte der Felder aus POST holen
$name = $_POST['url'];
$name_zusatz = $_POST['img'];
/* ************************************************************************************************ */
/* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
/* ************************************************************************************************ */
// Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
// Anfrage zusammenstellen der an die DB geschickt werden soll
$sql = "INSERT INTO `funtstuecke`
(`url`, `img`)
VALUES(
'" .mysql_real_escape_string( $url ). "',
'" .mysql_real_escape_string( $img ). "'
)";
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
mysql_query( $sql );
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
if (mysql_affected_rows() == 1)
{
echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
// Hier kann weiterer Code stehen der ausgefuehrt werden soll
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
// der ueber den neuen Eintrag informiert
}
else
{
echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
// damit er sich um den Fehler kuemmern kann, etc pp
}
}
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>arne-sonnabend.de :: intern</title>
<link href="../css/screen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="header">
<h1>anlegen</h1>
<!-- end #header --></div>
<div id="mainContent">
<form name="formular" id="formular" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<table width="500" border="0">
<tr>
<td width="70">url</td>
<td width="430"><input type="text" name="url" id="url" size="35" /></td>
</tr>
<tr>
<td>img</td>
<td><input type="file" name="img" id="img"></td>
</tr>
<td> </td>
<td><input type="submit" name="submitbutton" id="submitbutton" value="Abschicken" /></td>
</tr>
</table>
<!-- end #mainContent --></div>
<div id="footer">
<p>-----------------------------------</p>
BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nickname: <?php echo $_SESSION["user_nickname"]; ?><br>
Nachname: <?php echo $_SESSION["user_nachname"]; ?><br>
Vorname: <?php echo $_SESSION["user_vorname"]; ?>
<a href="logout.php">Ausloggen</a>
<!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>
viele grüße
ralf