Hallo,
ich bin PHP Anfänger und bin schon seit ein Paar Tagen dran mir ein Loginsystem in mein HP einzubauen. Das ist als Anfänger aber garnicht so einfach
. Also ich habe wie so viele mir mal das Tutorial auf http://tut.php-q.net/login.html durchgelesen. Zuerst hatte ich das Problem mit dem array_stripslashes fehler den ich dann durch etwas suchen in google so gelöst habe:
dann habe ich mir in die index.php zusätzlich noch ein Anmelde Formular reingebaut. die index.php sieht jetzt so aus.
...so... alles soweit so gut. Doch wenn ich ich jetzt einlogen will kommt die Fehlermeldung:
Fatal error: Call to undefined function login_right() in C:\apachefriends\xampp\htdocs\test\admin.php on line 16
An dieser stelle Poste ich mal die admin.php:
und es gibt auch noch eine Functions.php:
und noch die config.php
Das Problem ist halt das ich das Tutorial absolut nicht richtig als anfänger verstehe. Und auf das Zitat von dem Webmaster :
Achtung: Ich kriege oft Feedback via Email und IRC das PHP die Funktion array_stripslashes nicht findet. Diese Funktion ist keine interne Funktion von PHP. Doch leider öffnen viele User dieses Kapitel direkt, ohne die Kapitel davor zu lesen. Selbst der Hinweis auf jeder Seite das diese Tutorial von anfang an gelesen wird, wird ignoriert. Wenn sie also die Fehlermeldung Undefined function: array_stripslashes oder ähnlich bekommen, haben sie das Tutorial nicht von Anfang an gelesen. Es ist sehr wichtig, dass sie das Tutorial von Anfang an lesen. Siehe dazu den Infotext auf der Index-Seite und die Kopfzeile über jeden Kapitel.
.... habe ich auch die anderen Tutorials durchgemacht was ziemlich Zeitaufwändig war und mir nicht viel mehr gebracht hat. Dann kann ich mir auch garnicht vorstellen wenn der login mal funktionieren soll, wie ich dann die Gesicherte Seiten (Der "LOGIN" Bereich) einbinden kann. Wenn mir da jemand helfen könnte wär ich um einige sorgen leichter
. Ich danke schon mal im Voraus.
ich bin PHP Anfänger und bin schon seit ein Paar Tagen dran mir ein Loginsystem in mein HP einzubauen. Das ist als Anfänger aber garnicht so einfach

PHP:
function array_stripslashes(&$var)
{
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_stripslashes($var[$key]);
}
}
}
}
dann habe ich mir in die index.php zusätzlich noch ein Anmelde Formular reingebaut. die index.php sieht jetzt so aus.
PHP:
<?php
error_reporting(E_ALL);
include "config.php"; // die Konfigurationsdateien lesen.
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
function array_stripslashes(&$var)
{
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value) {
array_stripslashes($var[$key]);
}
}
}
}
// Session starten wenn ?section=admin geöffnet wurde
if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
session_start();
if(!isset($_SESSION['IP'])) {
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
echo "<p class=\"error\">\n";
echo " Sie dürfen nicht die Session von einem\n";
echo " anderen user Benutzten. Bitte benutzen sie\n";
echo " folgenden Link um zur Homepage zu gelangen.\n";
echo " <a href=\"\">Zurück zur Homepage</a>\n";
echo "</p>\n";
die(); // Aus Sicherheitsgründen die Abarbeitung sofort beenden
}
}
if(get_magic_quotes_gpc()) {
array_stripslashes($_GET);
array_stripslashes($_POST);
array_stripslashes($_COOKIE);
}
echo '<br><br>
<table border="0">
<tr>
<td width="250px">
<form method="post" action="admin.php">
<label><font color="#BDBDBD" size="2,5px">Benutzername:</font></label><div align="right"><input name="UserID" type="text"></div>
<label><font color="#BDBDBD" size="2,5px" align="left">Passwort:</font></label><div align="right"><input name="Password" type="password" id="Password"></div>
<br><div align="center"><input name="admin" type="submit" id="login" value="Einloggen"></div>
</form>
</td>
</tr>
</table>
';
?>
...so... alles soweit so gut. Doch wenn ich ich jetzt einlogen will kommt die Fehlermeldung:
Fatal error: Call to undefined function login_right() in C:\apachefriends\xampp\htdocs\test\admin.php on line 16
An dieser stelle Poste ich mal die admin.php:
PHP:
<?php
// die admin.php
if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
session_destroy();
echo "<p>\n";
echo " Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";
echo " zu kommen müssen sie sich wieder Einloggen\n";
echo "</p>\n";
} else {
if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
echo "<p>\n";
echo " Bitte wählen sie einen Benutzernamen aus.\n";
echo "</p>\n";
} else {
if(isset($_POST['UserID'], $_POST['Password']) AND
login_right(addslashes($_POST['UserID']),
addslashes($_POST['Password']))) {
$_SESSION['ID'] = $_POST['UserID'];
}
if(isset($_SESSION['ID'])) {
echo "<p>\n";
echo "Willkommen im Adminbereich <br />\n";
// Die Session-ID nicht vergessen
echo " <a href=\"index.php?section=admin&".SID."\">Repeat</a>\n";
echo " <a href=\"index.php?section=admin&action=logout&".SID."\">Ausloggen</a>\n";
echo "</p>\n";
} else {
if(isset($_POST['submit'])) {
// Der Submit-Button wurde gedrückt
// aber der Login ist falsch. Deshalb
// erstellen wir eine Fehlermeldung
echo "<p>\n";
echo " Ungültiges Password.\n";
echo "</p>\n";
}
echo "<form action=\"index.php?section=admin\" method=\"post\" class=\"formular\">\n";
echo " <p>\n";
echo " Adminbereich\n";
echo " </p>\n";
echo " <ol>\n";
echo " <li>\n";
echo " <label for=\"name\">Name</label>\n";
$sql = "SELECT
ID,
Name
FROM
users
ORDER BY
Name ASC;";
$result = mysql_query($sql) OR die(mysql_error());
echo " <select size=\"1\" name=\"UserID\" id=\"name\">\n";
echo " <option value=\"0\" selected=\"selected\">Bitte wählen</option>\n";
while($row = mysql_fetch_assoc($result)) {
echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
}
echo " </select>\n";
echo " </li>\n";
echo " <li>\n";
echo " <label for=\"password\">Password</label>\n";
echo " <input type=\"password\" name=\"Password\" id=\"password\" />\n";
echo " </li>\n";
echo " <li>\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Speichern\" />\n";
echo " <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
echo " </li>\n";
echo " </ol>\n";
echo "</form>\n";
}
}
}
?>
und es gibt auch noch eine Functions.php:
PHP:
<?php
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
users
WHERE
ID = '".$id."' AND
Password = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}
?>
und noch die config.php
PHP:
<?php
// config.php
error_reporting(E_ALL);
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'xxx');
define('MYSQL_PASS', 'xxx');
define('MYSQL_DATABASE', 'login');
?>
Das Problem ist halt das ich das Tutorial absolut nicht richtig als anfänger verstehe. Und auf das Zitat von dem Webmaster :
Achtung: Ich kriege oft Feedback via Email und IRC das PHP die Funktion array_stripslashes nicht findet. Diese Funktion ist keine interne Funktion von PHP. Doch leider öffnen viele User dieses Kapitel direkt, ohne die Kapitel davor zu lesen. Selbst der Hinweis auf jeder Seite das diese Tutorial von anfang an gelesen wird, wird ignoriert. Wenn sie also die Fehlermeldung Undefined function: array_stripslashes oder ähnlich bekommen, haben sie das Tutorial nicht von Anfang an gelesen. Es ist sehr wichtig, dass sie das Tutorial von Anfang an lesen. Siehe dazu den Infotext auf der Index-Seite und die Kopfzeile über jeden Kapitel.
.... habe ich auch die anderen Tutorials durchgemacht was ziemlich Zeitaufwändig war und mir nicht viel mehr gebracht hat. Dann kann ich mir auch garnicht vorstellen wenn der login mal funktionieren soll, wie ich dann die Gesicherte Seiten (Der "LOGIN" Bereich) einbinden kann. Wenn mir da jemand helfen könnte wär ich um einige sorgen leichter
