fehler in script.........
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
beitrag
benutzer
benutzername
daten
fehler
insert
not
pa
pawort
result
set
socket
struktur
tabelle
transitional
user
username
vielen dank
zeile
-
ein script scheint ein fehler zu haben .............
hier der script:
<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
header("location:index.php");
die;
}
require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Neuen Benutzer anlegen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Neuen Benutzer anlegen</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"<?php if($_POST['username'] != "") { echo ' value="'.$_POST['username'].'"'; } ?> size="20"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password2" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Benutzer anlegen" class="button">
</td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<a href="sichere_seite.php">Zur?ck zur Admin-Seite</a>
</td>
</tr>
</table>
</form>
<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == ""){
echo '<p align="center">Einen Benutzernamen brauchen wir schon <br><br><a href="neu.php">Zur?ck</a></p>';
}elseif(!isset($_POST['password']) || $_POST['password'] == "") {
echo '<p align="center">Ein Passwort brauchen wir schon <br><br><a href="neu.php">Zur?ck</a></p>';
}elseif($_POST['password'] != $_POST['password2']) {
echo '<form action="neu.php" method="post">';
echo '<p align="center">Die Passw?rter stimmen nicht ?berein!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zur?ck"></p>';
echo '</form>';
}else{
$query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
$result = @mysql_fetch_array($query);
if($_POST['username'] == $result['user']) {
echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br><br><a href="neu.php">Zur?ck</a></p>';
die;
}else{
$username = $_POST['username'];
$pass = md5($_POST['password']);
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>';
}else{
echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br><br><a href="neu.php">Zur?ck</a></p>';
}
}
}
?>
</body>
</html>
ist ein registrierscript.
Doch wenn man sich registriren m?chte sagt der pc fehler beim erstellen eines benutzers........
meine hp ist: http://politica.milten.lima-city.de/index.php
nick= Admin
pass= Fabian
helft mir bitte
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hmm zeig doch mal das script wo man sich registrieren muss, nicht das wo man sich einloggen muss...als link plz#
/EDIT : sry hab was ?bersehen...ich antworte gleich nochmal mit edit :D
//EDIT: hmm das connecten zur db scheint ja zu funktionieren aber bist du sicher das die tabelle USERS exisitiert? und wenn ja ist sie vielleicht klein geschrieben?
dann solltest du im script aus :
INSERT INTO USERS SET user = '$username', pass = '$pass'
->
INSERT INTO users SET user = '$username', pass = '$pass'
machen...
weil der fehler liegt daran , das der nicht in die DB schreiben kann...
Beitrag ge?ndert am 2.11 17:03 von julian182 -
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'"))
nimm mal das @ raus! damit unterdr?ckst du die fehlerausgabe, die man beim troubleshooting aber schon gebrauchen k?nnte. ;)
ansonsten w?r ne struktur der tabelle users nicht schlecht. -
ich habs jetzt so gemacht das man sich auch ohne eingeloggt zu sein muss registrieren kann.
Der reg script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Neuen Benutzer anlegen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Neuen Benutzer anlegen</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"<?php if($_POST['username'] != "") { echo ' value="'.$_POST['username'].'"'; } ?> size="20"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password2" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Benutzer anlegen" class="button">
</td>
</tr>
<tr>
</tr>
</table>
</form>
<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == ""){
echo '<p align="center">Einen Benutzernamen brauchen wir schon <br><br><a href="neu.php">Zur?ck</a></p>';
}elseif(!isset($_POST['password']) || $_POST['password'] == "") {
echo '<p align="center">Ein Passwort brauchen wir schon <br><br><a href="neu.php">Zur?ck</a></p>';
}elseif($_POST['password'] != $_POST['password2']) {
echo '<form action="neu.php" method="post">';
echo '<p align="center">Die Passw?rter stimmen nicht ?berein!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zur?ck"></p>';
echo '</form>';
}else{
$query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
$result = @mysql_fetch_array($query);
if($_POST['username'] == $result['user']) {
echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br><br><a href="neu.php">Zur?ck</a></p>';
die;
}else{
$username = $_POST['username'];
$pass = md5($_POST['password']);
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>';
}else{
echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br><br><a href="neu.php">Zur?ck</a></p>';
}
}
}
?>
</body>
</html>
seite= http://politica.milten.lima-city.de/neu.php
ps: in meiner mySQL Datenbank hab ich die tabelle mit namen users.
in der tabelle gibt es 3 felder:
id, user und pass ..........kannes sein das ich in diesen bereich:
..................................................
die;
}else{
$username = $_POST['username'];
$pass = md5($_POST['password']);
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>';
}else{-
echo '<p align="center">Beim Anlege......................
$username zu $user ?mache muss?
Beitrag ge?ndert am 3.11 18:41 von politica -
ne das ist schon richtig..mach lieber mal das @ for insert into weg und poste den fehler der kommt...
-
meinst du diese zeile:
if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
(ganz unten?)
-
Ja meint er. Wenn du @ davor machst, wird keine Fehlermeldung ausgegeben. Das ist in manchen f?llen nicht ratsam, weil man doch wissen muss ,wo der fehler ist....
Menlow -
Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/webpages/lima-city/politica/html/neu.php on line 58
Warning: mysql_query(): A link to the server could not be established in /home/webpages/lima-city/politica/html/neu.php on line 58
das w?re diese zeile:
if($insert = mysql_query("INSERT INTO users SET user = '$username', pass = '$pass'")) { -
hmm soweit ich das erkennen kann hast du nirgendwo zur db connected!
bau diesen code ganz an den anfang vor die erste zeile:
<?php
$connect = @mysql_connect("mysql.lima-city.de", "username","pw") or die ("Keine Verbindung zur Datenbank m?glich");
$db = @mysql_select_db("db") or die ("Die Datenbank existiert nicht");
?>
dann musst du nur noch deine daten wie username pw und db eintragen...
dann m?sste es gehen! -
stimmt.........man mmu? ja zuerst eine verbindung mit der datenbank errichten.
Jetzt gehts
vielen dank...............
julian kennst du dich auch mit css aus? -
ja es geht aber ich glaub h2o kennt sich da besser aus ;)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage