Hallo liebe Community,
ich habe ein Tutorial von Tion gemacht, aber immer wenn ich meine Daten eingebe steht dort Login falsch
und:
Warning: ftp_get(cache/Uschi.ini.cache) [function.ftp-get]: failed to open stream: No such file or directory in /users/ngrserver/www/UCP.php on line 40
Warning: ftp_get() [function.ftp-get]: Error opening cache/Uschi.ini.cache in /users/ngrserver/www/UCP.php on line 40
Dies ist der Code:
<?php
session_start();
// Eine neue Session-ID bei jedem Aufruf generieren - nur beim Login geht schlecht,
// da vorher Text ausgegeben wird und ich euch nicht mit OutputStream-Bufferring belästigen möchte
// „false“ bedeutet, alle Variablen nicht löschen.
session_regenerate_id(false);
?>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>New Generation Roleplay UCP</title>
</head>
<body background="background.png" text="#990000" link="#0000CC" vlink="#000066" alink="#000000">
<body>
<?php
// Einrücken müsst ihr selber
if(isset($_SESSION['logedin']) && $_SESSION['logedin'] == true)
{
// Hier ist der Benutzer eingeloggt
$player = parse_ini_file('cache/'. $_POST['username'] .'.ini.cache');
echo'Wilkommen im Controlpanel, '. $_SESSION['username'] .'<br />'; // <- erinnert ihr euch ? Die haben wir bei dem Login gesetzt
echo'Du bist Level '. $player['Level'] .'<br />'; // In der Datei steht "Level=5", dann steht hier "Du bist Level 5"
if($player['ALevel'] >= 1) // Wenn das ALevel ( Godfatherisch für AdminLevel ) größer als 1 ist, das auch ausgeben
echo'Du bist Admin Level '. $player['ALevel'] .'<br />';
}
else
{
// Der Benutzer ist nicht eingeloggt
if(isset($_POST['username']) && isset($_POST['password']))
{
// Das Formular ist abgesendet worden -> verarbeiten
// Verbinden zu dem FTP-Server "127.0.0.1" auf Port 21
$ftp = ftp_connect("82.211.30.52", 21);
// Einloggen mit dem Benutzer "bla" und dem Passwort "blub"
ftp_login($ftp, "srv30552", "y97k1f4");
// Wechseln in das Verzeichnis "scriptfiles/Accounts"
ftp_chdir($ftp, "scriptfiles/Accounts");
// Versuche, die Datei "benutzername.ini" zu downloaden.
// Der zweite Parameter gibt den Namen auf dem Webspace an, der dritte auf dem FTP-Server. Mit dem viertem sagen wir, dass wir die Datei in dem ASCII-Modus haben wollen.
ftp_get($ftp, 'cache/'. $_POST['username'] .'.ini.cache', $_POST['username'] .'.ini', FTP_ASCII);
// Prüfen, ob die Datei existiert. Wenn ja, download erfolgreich
if(file_exists('cache/'. $_POST['username'] .'.ini.cache'))
{
// Der Benutzer existiert - wir lesen seine Datei aus ( die wir gedownloaded haben )
// Dazu nutzen wir parse_ini_file - das geht die Datei zeilenweise durch und macht aus einer Zeile "Key=xxx" folgendes: $array['Key'] = "xxx"
$player = parse_ini_file('cache/'. $_POST['username'] .'.ini.cache');
// Jetzt prüfen wir, ob das Passwort stimmt. WICHTIG: Bei einem GF müsst ihr das PW evtl. verschlüsseln !
if($player['Key'] == $_POST['password'])
{
// Der Benutzer hat sich erfolgreich eingeloggt
echo 'Du hast dich erfolgrecih eingeloggt.';
// Jetzt setzen wir die Session-werte:
$_SESSION['logedin'] = true;
$_SESSION['user'] = $_POST['username'];
}
else
{
// Die Passwörter stimme nicht überein
echo 'Das Passwort ist falsch !';
}
}
else
{
// Der Benutzer existiert nicht
echo 'Der Login ist falsch';
}
}
else
{
// Das Formular ist nicht abgesendet
echo <<<FORMULAR
<div style="text-align: center;">
<br>
<br>
<p><img src="logo.png" alt="NGRLogo"></p>
<br>
<p><span style="font-family:'Avantgarde',Times,serif">Wilkommen auf dem User Control Panel von New Generation Roleplay</span><br>
<p><span style="font-family:'Comic Sans MS',Times,serif">Bitte logge dich mit deinem Ingame Account ein</span><br>
<br>
<br>
<form action="UCP.php" method="post">
<p><span style="font-family:'Comic Sans MS',Times,serif">Username:</span><br>
<input type="text" name="username" /><br />
<p><span style="font-family:'Comic Sans MS',Times,serif">Passwort:</span><br>
<input type="password" name="password" /><br />
<input type="submit" value="Einloggen" />
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</form>
FORMULAR;
}
}
?>
</body>
</html>
Der eingebene FTP Zugang funktioniert und kann ausprobiert werden!
Ich hoffe ihr könnt mir helfen