Hallo zusammen,
auf meiner Website sind einige User angelegt in einer Datenbank. Jeder User fährt ein Auto. Er kann dazu Daten angeben, wie Modell, Farbe, Leistung usw.
Bei Modell, Farbe und Leistung reicht eine Zeile völlig aus. Bei Angaben zum Motor allerdings brauchen wir mehr Zeilen. Dies ist ja mit textarea realisierbar. Allerdings werden keine Daten von textarea in die Datenbank übernommen und auch keine alten angezeigt.
Was mache ich da genau falsch?
Geht los ab Zeile 183
Hier mal das ganze Dokument:
Freue mich über eure Antworten
Schönen Sonntag
Royal
auf meiner Website sind einige User angelegt in einer Datenbank. Jeder User fährt ein Auto. Er kann dazu Daten angeben, wie Modell, Farbe, Leistung usw.
Bei Modell, Farbe und Leistung reicht eine Zeile völlig aus. Bei Angaben zum Motor allerdings brauchen wir mehr Zeilen. Dies ist ja mit textarea realisierbar. Allerdings werden keine Daten von textarea in die Datenbank übernommen und auch keine alten angezeigt.
Was mache ich da genau falsch?
Geht los ab Zeile 183
Hier mal das ganze Dokument:
PHP-Code:
<?php
ob_start();
session_start();
function goto($seite) {
header("Location: $seite");
}
include 'config.php';
$admin = false;
if($_SESSION['alert'] == "") $_SESSION['alert'] = false;
if($_GET['go'] == "logout")
unset($_SESSION['user_res']);
if($_GET['activate'] != "")
{
echo "<body><div id=\"main\" align=\"center\">";
$code = $_GET['activate'];
$sql = "SELECT id,pass FROM user";
$result = mysql_query($sql);
while($zeile = mysql_fetch_object($result))
if(md5($zeile->pass) == $code)
$activate_id = $zeile->id;
$sql = "UPDATE user SET activated = 1 WHERE id = '$activate_id' LIMIT 1";
if(mysql_query($sql))
echo "Ihr Account wurde erfolgreich aktiviert. Sie können sich jetzt <a href='login.php'>einloggen</a>.";
else echo "Bei der Aktivierung ist ein Fehler aufgetreten!";
echo "</div>";
}
else
// Session gesetzt, dann Session prüfen und ggf. weiterleiten
if(!isset($_SESSION['user_res']))
goto("login.php");
else
{
$ses = $_SESSION['user_res'];
$user_data = explode("_",$ses);
$uid = $user_data[0];
$pass = $user_data[1];
$sql = "SELECT id,pass,is_admin FROM user WHERE id = '$uid' LIMIT 1";
$sql_data = mysql_fetch_object(mysql_query($sql));
if($sql_data->pass == $pass)
{
// Session auffrischen
$_SESSION['user_res'] = $uid."_".$pass;
if($sql_data->is_admin == 1)
{
$admin = true;
}
}
else
{
unset($_SESSION['user_res']);
goto("login.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Admin-Script | Eingeloggt</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="publisher" content= "Philipp Seckel">
<meta name="robots" content= "INDEX,FOLLOW">
<meta name="author" content="Philipp Seckel">
<link href="css/style.css" type="text/css" rel="stylesheet">
</head>
<?php
// Start geschützter Bereich
$i = 0;
$sql = "SELECT * FROM msg WHERE an = '$uid' AND del_rec = '0' AND gelesen = '0'";
$result = mysql_query($sql);
while($zeile = mysql_fetch_object($result))
$i++;
echo "<body";
if($i > 0 && $_SESSION['alert']!=true)
{
echo " onload=\"javascript:alert('Sie haben neue Nachrichten!')\"";
$_SESSION['alert'] = true;
}
echo "><div id=\"main\" align=\"center\">";
$sql = "SELECT nick FROM user WHERE id = '$uid' LIMIT 1";
$sql_data = mysql_fetch_object(mysql_query($sql));
echo "<h2 id='title'>Willkommen ".ucfirst($sql_data->nick)."!</h2>";
echo "<p id='menu'>
<a href='?go='>Startseite</a>
<a href='?go=projekte'>Internes</a>
<a href='?go=shoutbox'>Shoutbox</a>
<a href='?go=forum'>Forum</a>
<a href='?go=userlist'>Userliste</a>
<a href='?go=myprofile'>Mein Profil</a>
<a href='?go=msg'>Nachrichten</a>
<a href='?go=logout'>Ausloggen</a>
</p>";
if($_GET['go'] == "")
include_once 'projekte.php';
// Verschiedene Aufgaben
if($_GET['go'] == "msg")
include_once 'msg.php';
if($_GET['go'] == "shoutbox")
include_once 'shoutbox/index.php';
if($_GET['go'] == "forum")
include_once 'forum/index.php';
if($_GET['go'] == "projekte")
include_once 'projekte.php';
if($_GET['go'] == "userlist")
{
echo "<table>
<tr><td>ID:</td><td>Nickname:</td><td>Mail:</td><td>Registriert:</td><td>Aktion:</td></tr>";
$sql = "SELECT * FROM user ORDER BY nick";
$res = mysql_query($sql);
while($zeile = mysql_fetch_object($res))
{
if($admin && $zeile->id != 1)
$action = "<a href='?go=edituser&id=$zeile->id'><img src='images/edit.gif' alt='Edit'></a> <a href='?go=chpw&id=$zeile->id'><img src='images/chpw.gif' alt='ChPw'></a>
<a href='?go=deluser&id=$zeile->id'><img src='images/del.gif' alt='Del'></a>";
else $action = "";
if($zeile->is_admin==1)
$isadmin = "(A)";
else $isadmin="";
if($zeile->id != $uid) $msg = "<a href='?go=msg&open=new&to=$zeile->id'><img src='images/msg.jpg' alt='MSG'></a>"; else $msg = "";
echo "<tr><td>$zeile->id</td><td>$zeile->nick $isadmin</td><td>".str_replace("@"," (at) ",$zeile->mail)."</td><td>$zeile->reg_date</td>
<td>$msg $action</td></tr>\n";
}
echo "</table>";
}
if($_GET['go'] == "myprofile")
{
if(isset($_GET['proceed']))
{
$editpw = false;
$mail = $_POST['mail'];
$geburtstag = $_POST['geburtstag'];
$beruf = $_POST['beruf'];
$wohnort = $_POST['wohnort'];
$familienstand = $_POST['familienstand'];
$hobbys = $_POST['hobbys'];
$modell1 = $_POST['modell1'];
$ausstattung1 = $_POST['ausstattung1'];
$baujahr1 = $_POST['baujahr1'];
$farbe1 = $_POST['farbe1'];
$motorgetriebe1 = $_POST['motorgetriebe1'];
$abgasanlage1 = $_POST['abgasanlage1'];
$fahrwerkbremsen1 = $_POST['fahrwerkbremsen1'];
$raeder1 = $_POST['raeder1'];
$exterieur1 = $_POST['exterieur1'];
$interieur1 = $_POST['interieur1'];
$hifi1 = $_POST['hifi1'];
$sonstiges1 = $_POST['sonstiges1'];
$id = $_POST['id'];
$pass1 = md5($_POST['pass1']);
$pass2 = md5($_POST['pass2']);
if($_POST['pass1'] != "" && $pass1 == $pass2)
$editpw = true;
if($editpw)
$sql = "UPDATE user SET mail = '$mail', geburtstag = '$geburtstag', beruf = '$beruf', wohnort = '$wohnort', familienstand = '$familienstand', hobbys = '$hobbys', modell1 = '$modell1', ausstattung1 = '$ausstattung1', baujahr1 = '$baujahr1', farbe1 = '$farbe1', motorgetriebe1 = '$motorgetriebe1', abgasanlage1 = '$abgasanlage1', fahrwerkbremsen1 = '$fahrwerkbremsen1', raeder1 = '$raeder1', exterieur1 = '$exterieur1', interieur1 = '$interieur1', hifi1 = '$hifi1', sonstiges1 = '$sonstiges1', pass = '$pass1' WHERE id = '$uid' LIMIT 1";
else $sql = "UPDATE user SET mail = '$mail', geburtstag = '$geburtstag', beruf = '$beruf', wohnort = '$wohnort', familienstand = '$familienstand', hobbys = '$hobbys', modell1 = '$modell1', ausstattung1 = '$ausstattung1', baujahr1 = '$baujahr1', farbe1 = '$farbe1', motorgetriebe1 = '$motorgetriebe1', abgasanlage1 = '$abgasanlage1', fahrwerkbremsen1 = '$fahrwerkbremsen1', raeder1 = '$raeder1', exterieur1 = '$exterieur1', interieur1 = '$interieur1', hifi1 = '$hifi1', sonstiges1 = '$sonstiges1' WHERE id = '$uid' LIMIT 1";
if(mysql_query($sql))
{
echo "Profil bearbeitet. ";
if($editpw)
{
echo "Passwort geändert.";
$_SESSION['admin_res'] = $uid."_".$pass1;
}
}
else echo "Fehler!";
}
else
{
$sql = "SELECT * FROM user WHERE id = '$uid' LIMIT 1";
$user_data = mysql_fetch_object(mysql_query($sql));
echo "<form action='?go=myprofile&proceed' method='POST'>
<table>
<tr><td>Benutzername:</td><td>$user_data->nick <font size='1'>(Kann nur vom Admin geändert werden)</font></td>
<td></td>
<td></td>
</tr>
<tr><td>E-mail Adresse:</td><td><input type='text' value='$user_data->mail' name='mail'></td></tr>
<tr><td>Neues Passwort:</td><td><input type='password' name='pass1'></td></tr>
<tr><td>Neues Passwort wiederholen:</td><td><input type='password' name='pass2'></td></tr>
<tr><td>Wann hast du Geburtstag?:</td><td><input type='text' value='$user_data->geburtstag' name='geburtstag'></td>
<td>Wo wohnst du?:</td>
<td><input type='text' value='$user_data->wohnort' name='wohnort'></td>
</tr>
<tr><td>Dein Beruf:</td><td><input type='text' value='$user_data->beruf' name='beruf'></td>
<td>Deine Hobbys:</td>
<td><input type='text' value='$user_data->hobbys' name='hobbys'></td>
</tr>
<tr><td>Familienstand:</td><td><input type='text' value='$user_data->familienstand' name='familienstand'></td></tr>
<tr><td>Modell:</td><td><input type='text' value='$user_data->modell1' name='modell1'></td><td>Ausstattung:</td>
<td><input type='text' value='$user_data->ausstattung1' name='ausstattung1'></td></tr>
<tr><td>Baujahr:</td><td><input type='text' value='$user_data->baujahr1' name='baujahr1'></td><td>Farbe:</td>
<td><input type='text' value='$user_data->farbe1' name='farbe1'></td></tr>
<tr><td>Motor/Getriebe:</td><td><input type='text' value='$user_data->motorgetriebe1' name='motorgetriebe1'></td>
Motor:<textarea cols='20' rows='20' name='hobbys'></textarea>
<td>Abgasanlage:</td>
<td><input type='text' value='$user_data->abgasanlage1' name='abgasanlage1'></td></tr>
<tr><td>Fahrwerk/Bremsen:</td><td><input type='text' value='$user_data->fahrwerkbremsen1' name='fahrwerkbremsen1'></td><td>Räder:</td>
<td><input type='text' value='$user_data->raeder1' name='raeder1'></td></tr>
<tr><td>Exterieur:</td><td><input type='text' value='$user_data->exterieur1' name='exterieur1'></td><td>Interieur:</td>
<td><input type='text' value='$user_data->interieur1' name='interieur1'></td></tr>
<tr><td>HiFi:</td><td><input type='text' value='$user_data->hifi1' name='hifi1'></td><td>Sonstiges:</td>
<td><input type='text' value='$user_data->sonstiges1' name='sonstiges1'></td></tr>
<tr>
<td><input type='hidden' value='$uid' name='id'></td><td><input type='submit' value='Bearbeiten'></td></tr>
</table></form>";
}
}
if($_GET['go'] == "edituser" && $admin && $_GET['id'] != 1)
{
if(isset($_GET['proceed']))
{
$id = $_POST['id'];
$nick = $_POST['nick'];
$mail = $_POST['mail'];
$geburtstag = $_POST['geburtstag'];
$beruf = $_POST['beruf'];
$wohnort = $_POST['wohnort'];
$familienstand = $_POST['familienstand'];
$hobbys = $_POST['hobbys'];
$modell1 = $_POST['modell1'];
$ausstattung1 = $_POST['ausstattung1'];
$baujahr1 = $_POST['baujahr1'];
$farbe1 = $_POST['farbe1'];
$motorgetriebe1 = $_POST['motorgetriebe1'];
$abgasanlage1 = $_POST['abgasanlage1'];
$fahrwerkbremsen1 = $_POST['fahrwerkbremsen1'];
$raeder1 = $_POST['raeder1'];
$exterieur1 = $_POST['exterieur1'];
$interieur1 = $_POST['interieur1'];
$hifi1 = $_POST['hifi1'];
$sonstiges1 = $_POST['sonstiges1'];
$is_admin = $_POST['admin'];
$nick_exists = false;
$sql = "SELECT id,nick FROM user";
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
if($row->nick == $nick && $row->id != $id)
$nick_exists = true;
if(!$nick_exists)
{
$sql = "UPDATE user SET nick = '$nick', mail = '$mail', geburtstag = '$geburtstag', beruf = '$beruf', wohnort = '$wohnort', familienstand = '$familienstand', hobbys = '$hobbys', modell1 = '$modell1', ausstattung1 = '$ausstattung1', baujahr1 = '$baujahr1', farbe1 = '$farbe1', motorgetriebe1 = '$motorgetriebe1', abgasanlage1 = '$abgasanlage1', fahrwerkbremsen1 = '$fahrwerkbremsen1', raeder1 = '$raeder1', exterieur1 = '$exterieur1', interieur1 = '$interieur1', hifi1 = '$hifi1', sonstiges1 = '$sonstiges1', is_admin = '$is_admin' WHERE id = '$id' LIMIT 1";
if(mysql_query($sql))
echo "Eintrag bearbeitet.";
else echo "Fehler!";
}
else echo "Der angegebene Benutzername wird bereits verwendet. Bearbeitung abgebrochen.";
}
else
{
$id = $_GET['id'];
$sql = "SELECT * FROM user WHERE id = '$id' LIMIT 1";
$user_data = mysql_fetch_object(mysql_query($sql));
echo "<form action='?go=edituser&proceed' method='POST'>
<table>
<tr><td>Benutzername:</td><td><input type='text' value='$user_data->nick' name='nick'></td></tr>
<tr><td>E-mail Adresse:</td><td><input type='text' value='$user_data->mail' name='mail'></td></tr>
<tr><td>Admin:</td><td><select name='admin'><option value='0'>Nein</option><option value='1'>Ja</option></select></td></tr>
<tr><td>Wann hast du Geburtstag?:</td><td><input type='text' value='$user_data->geburtstag' name='geburtstag'></td>
<td>Wo wohnst du?:</td>
<td><input type='text' value='$user_data->wohnort' name='wohnort'></td>
</tr>
<tr><td>Dein Beruf:</td><td><input type='text' value='$user_data->beruf' name='beruf'></td>
<td>Deine Hobbys:</td>
<td><input type='text' value='$user_data->hobbys' name='hobbys'></td>
</tr>
<tr><td>Familienstand:</td><td><input type='text' value='$user_data->familienstand' name='familienstand'></td></tr>
<tr><td>Modell:</td><td><input type='text' value='$user_data->modell1' name='modell1'></td><td>Ausstattung:</td>
<td><input type='text' value='$user_data->ausstattung1' name='ausstattung1'></td></tr>
<tr><td>Baujahr:</td><td><input type='text' value='$user_data->baujahr1' name='baujahr1'></td><td>Farbe:</td>
<td><input type='text' value='$user_data->farbe1' name='farbe1'></td></tr>
<tr><td>Motor/Getriebe:</td><td><input type='text' value='$user_data->motorgetriebe1' name='motorgetriebe1'></td><td>Abgasanlage:</td>
<td><input type='text' value='$user_data->abgasanlage1' name='abgasanlage1'></td></tr>
<tr><td>Fahrwerk/Bremsen:</td><td><input type='text' value='$user_data->fahrwerkbremsen1' name='fahrwerkbremsen1'></td><td>Räder:</td>
<td><input type='text' value='$user_data->raeder1' name='raeder1'></td></tr>
<tr><td>Exterieur:</td><td><input type='text' value='$user_data->exterieur1' name='exterieur1'></td><td>Interieur:</td>
<td><input type='text' value='$user_data->interieur1' name='interieur1'></td></tr>
<tr><td>HiFi:</td><td><input type='text' value='$user_data->hifi1' name='hifi1'></td><td>Sonstiges:</td>
<td><input type='text' value='$user_data->sonstiges1' name='sonstiges1'></td></tr>
<tr><td><input type='hidden' value='$id' name='id'></td><td><input type='submit' value='Bearbeiten'></td></tr>
</table></form>";
}
}
if($_GET['go'] == "chpw" && $admin && $_GET['id'] != 1)
{
if(isset($_GET['proceed']))
{
$id = $_POST['id'];
$pass1 = md5($_POST['pass1']);
$pass2 = md5($_POST['pass2']);
if($pass1 == $pass2)
$sql = "UPDATE user SET pass = '$pass1' WHERE id = '$id' LIMIT 1";
if(mysql_query($sql))
echo "Passwort geändert.";
else echo "Fehler! Passwort nicht geändert.";
}
else
{
$id = $_GET['id'];
echo "<form action='?go=chpw&proceed' method='POST'>
<table>
<tr><td>Neues Passwort:</td><td><input type='password' name='pass1'></td></tr>
<tr><td>Neues Passwort wiederholen:</td><td><input type='password' name='pass2'></td></tr>
<tr><td><input type='hidden' value='$id' name='id'></td><td><input type='submit' value='Passwort zuweisen'></td></tr>
</table></form>";
}
}
if($_GET['go'] == "deluser" && $admin && $_GET['id'] != 1)
{
if(isset($_GET['proceed']))
{
$id = $_POST['id'];
$sql = "DELETE FROM user WHERE id = '$id' LIMIT 1";
if(mysql_query($sql))
echo "Benutzer gelöscht!";
else echo "Fehler! Benutzer nicht gelöscht.";
}
else
{
$id = $_GET['id'];
echo "<form action='?go=deluser&proceed' method='POST'>
<table>
<tr><td><input type='hidden' value='$id' name='id'>Nutzer (ID: $id) wirklich löschen?</td><td><input type='submit' value='Löschen'></td></tr>
</table></form>";
}
}
// Ende geschützter Bereich
}
mysql_close($connection);
ob_end_flush();
?>
Schönen Sonntag
Royal
Kommentar