Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 23.04.06 18:09

wenn ich mit diesem code nen user anlegen möchte , schreibt es ihn einfach nicht in die db , obowhl ich kir die eingabefelder ausgebe bzw den $_POST und der nich Leer is,.

<?php echo"<a href='?page=user&user=add'>User eintragen</a> | <a href='?page=user&user='>User editieren</a>"?>
<?PHP
$mysql['host'] = 'localhost';
// Der MySql-Benutzer
$mysql['user'] = 'root';
// Und das dazugehörige Passwort...
$mysql['pass'] = '';
// Noch die Datenbank
$mysql['root'] = 'projects';

if($_GET['user'] == 'edit'){
$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('projects', $mysql) or die(mysql_error());

if (array_key_exists('delete',$_GET)) {
$deleteid = (int) $_GET['delete'];
$sql = "DELETE FROM login WHERE UserID = '".$_GET['delete']."'";
$query = mysql_query($sql) OR die(mysql_error());
echo 'Ihr Datensatz wurde erfolgreich gelöscht.';
exit;
}

if (isset($_GET['edit']) && !empty($_GET['edit']) && is_numeric($_GET['edit'])){
$sql = "SELECT * FROM login WHERE UserID = '".$_GET['edit']."'";
$query = mysql_query($sql) OR die(mysql_error());
$ds = mysql_fetch_object($query);
?>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post" >
<table class="form" width="500" >
<tr>
<td colspan="2" align="center"><b>User
Bearbeiten </b></td>
</tr>
<tr>
<td width="287">Sein Name:</td>
<td width="198">
<input name="name" type="text" class="feld" value="<?echo($ds->UserName);?>" size="33" />
</td>
</tr>
<tr>
<td>Seine E-Mail:</font></td>
<td>
<input name="email" type="text" class="feld" value="<?echo($ds->UserMail);?>" size="33" />
</td>
</tr>
<tr>
<td>Sein Password (md5)</td>
<td>
<input name="icq" type="text" class="feld" value="<?echo($ds->UserPass);?>" size="33" />
</td>
</tr>
<tr>
<td colspan="2" valign="top">
<center><input type="submit" value="Speichern" class="button" name="speichern"></center>
<input type="hidden" name="id" value="<? echo $ds->id; ?>">
</form>
</td>
</tr>
</table>
<?
}
if (isset($_POST['speichern'])){
$sql = "UPDATE `login` SET `UserName` = '".addslashes($_POST['name'])."',
`UserPass` = '".addslashes($_POST['passwort'])."',
`UserSession` = 'NULL',
`UserMail` = '".addslashes($_POST['email'])."'
WHERE UserID = '".$_POST['id']."'
";
$query = mysql_query($sql) OR die(mysql_error());
echo 'Ihr Datensatz wurde erfolgreich gespeichert.';
exit;
}
?>
<?php
}
elseif($_GET['user'] == 'add')
{
?>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post" name="eintragen">

<table width="500" class="form">
<tr>
<td colspan="2" align="center"><b>User anlegen</b></td>
</tr>
<tr>
<td width="287">Sein Name:</td>
<td width="198"> <input type="text" size="33" name="name" class="feld" />
</td>
</tr>
<tr>
<td>Sein Passwort:</td>
<td> <input type="text" size="33" name="passwort" class="feld" /> </td>
</tr>
<tr>
<td>Seine E-Mail:</td>
<td><input type="text" size="33" name="email" class="feld" /></td>
</tr>
<tr>
<td>Sein Rang:</td>
<td>
<select name="select" size="1" id="rang" class"feld">
<option value="Admin">Admin</option>
<option value="User" selected>User</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"> <input name="submit" type="submit" class="button" value="User anlegen!" />
<input type="hidden" name="submited" value="save" /> </td>
</tr>
</table>
</form>

<?php

print_r($_POST);
print $sql;
exit;

if($_POST['submited'])
{
#if(!$_POST['name']){
#die('Du musst noch deinen Namen eingeben!');
#}
#if(!$_POST['passwort']){
# die('Du hast kein Passwort eingetragen!');
#}
#if(!$_POST['email']){
# die('Du hast keine Email des Users eingetragen!');
#}

$_POST['name'] = htmlspecialchars($_POST['name']);
$_POST['passwort'] = htmlspecialchars($_POST['passwort']);
$_POST['email'] = htmlspecialchars($_POST['email']);
$pass_md5 = md5($passwort);

$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('projects', $mysql) or die(mysql_error());

$sql = "INSERT INTO 'login' SET
`UserName` = '".addslashes($_POST['name'])."',
`UserPass` = '$pass_md5',
`UserSession` = 'NULL',
`Status` = '".$_POST['select']."',
`UserMail` = '".$_POST['email']."'
";
mysql_query($sql, $mysql);
echo 'User erfolgreich eingetragen!<br />';
}
}else{
?>
<table width="82%" class="form">
<tr>
<td><strong>ID</strong></td>
<td><strong>Name</strong></td>
<td><strong>Email</strong></td>
<td><strong>Passwort</strong></td>
<td><strong>Bearbeiten</strong></td>
<td><strong>Löschen</strong></td>
</tr>
<?php
$sql = 'SELECT * FROM login ORDER BY `UserID`';
$query = mysql_query($sql) OR die(mysql_error());

if (!mysql_num_rows($query) > 0){
echo 'Keine Eintr&auml;ge vorhanden.';
exit;
} else {
while ($ds = mysql_fetch_object($query)){
?>

<tr>
<td width="18%"><?php echo($ds->UserID)?></td>
<td width="18%"><?php echo($ds->UserName)?></td>
<td width="21%"><?php echo($ds->UserMail)?></td>
<td><?php echo($ds->UserPass)?></td>
<td width="11%"><center><a href="?page=user&user=edit&edit=<? echo $ds->UserID; ?>">X</a></center> </td>
<td width="11%"><center><a href="?page=user&user=edit&delete=<? echo $ds->UserID; ?>">X</a></center></td>
</tr>
<?
}
echo '</table>';

}
}
?>

netcup.de Warum gibt es hier Werbung?
Sven Sven am 23.04.06 18:12

$sql = "INSERT INTO `login` SET
`UserName` = '".addslashes($_POST['name'])."',
`UserPass` = '$pass_md5',
`UserSession` = 'NULL',
`Status` = '".$_POST['select']."',
`UserMail` = '".$_POST['email']."'
";


Ansonsten auch mal nen mysql_error nach dem Query rauslassen.

Bonze am 23.04.06 18:57

mhh der lässt nix raus,.
also nen fehler gibts nich , es wird einfach nix gemacht wenn ich auf senden klicke,. normalerweise müsste ichz auch ne meldung kommen , wie erfolgreih eingetragen oder sowas ..

Wasili am 23.04.06 19:03

Es liegt wahrscheinlich am exit; in Zeile 118 ;)

Bonze am 23.04.06 19:44

also nachdem ich das exit weggemacht hab , bekommeich wenigstens mal die ausgabe User erfolgreich eingetragen!

jedoch wird immernochnix in die db geschrieben ,


Array ( [name] => dffdfsdfdf [passwort] => dfdsfsdfd [email] => fdsfsdfdsfds [select] => User [submit] => User anlegen! [submited] => save ) User erfolgreich eingetragen!

Bonze am 25.04.06 19:52

mhh hab nochma rumprobiert wenn ichs editiert hab speicherts jetzt , jedoch nicht wenn ich neu anlegen will ?!
<form action="<?php $_SERVER['PHP_SELF']?>" method="post">

<table width="500" class="form">
<tr>
<td colspan="2" align="center"><b>User anlegen</b></td>
</tr>
<tr>
<td width="287">Sein Name:</td>
<td width="198"> <input type="text" size="33" name="name" class="feld" />
</td>
</tr>
<tr>
<td>Sein Passwort:</td>
<td> <input type="text" size="33" name="passwort" class="feld" /> </td>
</tr>
<tr>
<td>Seine E-Mail:</td>
<td><input type="text" size="33" name="email" class="feld" /></td>
</tr>
<tr>
<td>Sein Rang:</td>
<td>
<select name="select" size="1" id="rang" class"feld">
<option value="Admin">Admin</option>
<option value="User" selected>User</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"> <input name="submit" type="submit" class="button" value="User anlegen!" />
<input type="hidden" name="submited" value="save" /> </td>
</tr>
</table>
</form>

<?php

print_r($_POST);


if($_POST['submit'])
{
if(!$_POST['name']){
die('Du musst noch deinen Namen eingeben!');
}
if(!$_POST['passwort']){
die('Du hast kein Passwort eingetragen!');
}
if(!$_POST['email']){
die('Du hast keine Email des Users eingetragen!');
} else {
function check_mail($mail){
if(!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$", $mail)) {
echo "Fehler ! E-Mail Adresse ist ungültig";
}
}
check_mail($_POST['email']);
}

$_POST['name'] = htmlspecialchars($_POST['name']);
$_POST['passwort'] = htmlspecialchars($_POST['passwort']);
$_POST['email'] = htmlspecialchars($_POST['email']);
$pass_md5 = md5($_POST['passwort']);

$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('projects', $mysql) or die(mysql_error());

$sql = "INSERT INTO 'login' SET
`UserName` = '".addslashes($_POST['name'])."',
`UserPass` = '$pass_md5',
`UserSession` = 'NULL',
`UserStatus` = '".$_POST['select']."',
`UserMail` = '".$_POST['email']."'
";
mysql_query($sql, $mysql);
echo 'User erfolgreich eingetragen!<br />';
print $sql;

}



ist komisch als ausgabe von Post bekomme ich das eingegebene zurück ,

mit der ausgabe von $sql bekomme ich auch das eingegebene zurück, es wird aber NICHTS in die Db geschrieben ?!
versteh die welt ned mehr ,. komisch komisch

EDIT: hat sich erledigt habs jetzt anders gemacht und siehe da es funzt ,.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt