User per formular in Usertabelle schreiben

Alles, was PHP betrifft, kann hier besprochen werden.

User per formular in Usertabelle schreiben

Postby dagrato » 04. February 2007 14:12

Ich möchte gerne mit einen Formular, User in die Usertabelle(mysql db) von XAMPP hinzufügen. Wenn ich aber das Formular abschicke passiert nichts. Ich habe mit dem "INSERT"-Befehl gearbeitet.

Code: Select all
<html>
<head>
<title>Anmeldung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body text="#ffffff">
<div align="center">
<table bgcolor="#3366FF" width="300" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="5">&nbsp;</td>
<td width="90" align="center">Anmeldung</td>
<td width="5">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#999999" width="5">&nbsp;</td>
<td bgcolor="#999999" width="90">
Wenn sie bereichts einen Account besitzen klicken sie bitte hier!<br>
<br>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<table bgcolor="#999999" width="100%" border="0">
<tr>
<td>Username:</td>
<td><input name="username" type="text" size="20" maxlength="20"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input name="passwort" type="password" size="20" maxlength="20"></td>
</tr>
<tr>
<td>Passwort<br> wiederh.:</td>
<td><input name="passwort2" type="password" size="20" maxlength="20"></td>
</tr>
<tr>
<td><input name="senden" type="submit" value="Senden"></td>
<td><input name="reset" type="reset" value="Abbruch"></td>
</tr>
</form>
</table>
</td>
<td bgcolor="#999999" width="5">&nbsp;</td>
</tr>
<tr>
<td width="5">&nbsp;</td>
<td width="90" align="center">&nbsp;</td>
<td width="5">&nbsp;</td>
</tr>
</table>
</div>
</body>
</html>

<?php

error_reporting(E_ALL);

//Hostangaben
$host = "localhost";
$user = "root";
$pass = "";
$db   = "mysql";

// Verbinden
$db_link = mysql_connect($host, $user, $pass) or die(mysql_error());
$select = mysql_select_db("$db") or die(mysql_error());

//Textfeld auswertung
$username = $_POST['username'];
$passwort = $_POST['passwort'];
$passwort2 = $_POST['passwort2'];
$senden = $_POST['senden'];

if($passwort != $passwort2 OR $username == "" OR $passwort == "")
    {
    echo "Eingabefehler. Bitte alle Felder korekt ausfüllen.";
    exit;
    }
$passwort = md5($passwort);

$result = mysql_query("SELECT User FROM user WHERE User LIKE '$username'");
$menge = mysql_num_rows($result);

if($menge == 0)
    {
    $eintrag =  "INSERT INTO user ( Host, User, Password, Select_priv, Insert_priv, Update_priv,
Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv,
Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
VALUES
( 'localhost', '$username', '$passwort2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '') ";

$eintragen = mysql_query($eintrag);
    if($eintragen == true)
        {
      echo "Benutzername <b>$username</b> wurde erstellt.";
        }
    else
        {
        echo "Fehler beim Speichern des Benutzernames.";
        }
    }
else
    {
    echo "Benutzername schon vorhanden.";
    }
?>
dagrato
 
Posts: 2
Joined: 24. January 2007 19:19

Postby Wiedmann » 04. February 2007 17:11

$db = "mysql";

Dir ist aber schonklar, dass du hier an der systemdatenbank von MySQL "rumpfuscht"?

Wenn du MySQL-User hinzugügen willst, meint das MySQL-Manual dazu:
http://dev.mysql.com/doc/refman/5.0/en/ ... users.html

(Jedenfalls nimmt man normal GRANT dafür und nicht das alternative INSERT)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 60 guests