Login Probleme mit $_GET

Don-Vito

Grünschnabel
Hallo Leute
Also ich bin wirklich ein Neuling in Sachen php Programmierung und habe versucht ein Loginscript mit adminbereich, news Gästebuch member und clarn und poll zuschreiben
Aber wenn ich die index.php starte zeigt er immer diese Fehler Meldung
Fatal error: Call to undefined function: array_stripslashes() in /home/www/htdocs/fbicdh.de/login/index.php on line 25.
Ja nun habe ich mir das ganze mit diesen Sessions. Durch gelesen Sessions starten
Dennoch bin ich nicht weiter gekommen den in der 25 steht dieses array_stripslashes($_GET); und die ganze index.php sieht so aus

<?php
error_reporting(E_ALL);
include "inc/config.php";

@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

// 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>\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); // zeile 25
array_stripslashes($_POST);
array_stripslashes($_COOKIE);
}

echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
echo "<html>\n";
echo " <head>\n";
echo " <title>Meine Seite</title>\n";
echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
echo " <link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
echo " </head>\n";
echo " <body>\n";
echo " <table style=\"width: 100%\">\n";
echo " <tr>\n";
echo " <td colspan=\"2\">\n";
include "logo.php";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td style=\"width: 200px\">\n";
include "menu.php";
echo " </td>\n";
echo " <td>\n";
include "inhalt.php";
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo " </body>\n";
echo "</html>\n";
?>
Kann mir da jemand helfen
mfg Don-Vito
 
Die Funktion array_stripslashes() gibt es nicht, aber auf php.net gibt es ein Beispiel, wie man [phpf]stripslashes[/phpf] auf ein Array anwenden kann:

PHP:
<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

// Example
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Output
print_r($array);
?>
 
http://tut.php-q.net/sessions.html (Kapitel 48)

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.

http://tut.php-q.net/guestbook.html (Kapitel 40)

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]);
                }
            }
        }
    }

Schönen Tag noch
Master of Chess
 
ich lege mal die dateien rein dann kann man sich ein bild machen
PHP:
// index.php
<?php
   error_reporting(E_ALL);
   include "inc/config.php";
   
   @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
   mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

   // 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>\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 "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
   echo "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
   echo "<html>\n";
   echo "    <head>\n";
   echo "        <title>Meine Seite</title>\n";
   echo "        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
   echo "        <link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
   echo "    </head>\n";
   echo "    <body>\n";
   echo "        <table style=\"width: 100%\">\n";
   echo "            <tr>\n";
   echo "                <td colspan=\"2\">\n";
   include "banner.php";
   echo "                </td>\n";
   echo "            </tr>\n";
   echo "            <tr>\n";
   echo "                <td style=\"width: 200px\">\n";
   include "menu.php";
   echo "                </td>\n";
   echo "                <td>\n";
   include "inhalt.php";
   echo "                </td>\n";
   echo "            </tr>\n";
   echo "        </table>\n";
   echo "    </body>\n";
   echo "</html>\n";
?>
PHP:
// admin.php
<?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";
                echo "    <a href=\"index.php?section=admin&amp;".SID."\">Repeat</a>\n";
                echo "    <a href=\"index.php?section=admin&amp;action=logout&amp;".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 class=\"error\">\n";
                     echo "    Ungültiges Password.\n";
                     echo "</p>\n";
                }
                echo "<form action=\"index.php?section=admin\" method=\"post\" class=\"admin_form\">\n";
                echo "    <table>\n";
                echo "        <tr>\n";
                echo "            <th colspan=\"2\">\n";
                echo "                <h2>Adminbereich</h2>\n";
                echo "            </th>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td>\n";
                echo "                <label for=\"name\">Name:</label>\n";
                echo "            </td>\n";
                echo "            <td>\n";
                $sql = "SELECT
                            `ID`,
                            `Name`
                        FROM
                            `users2`
                        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 "            </td>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td>\n";
                echo "                <label for=\"password\">Password:</label>\n";
                echo "            </td>\n";
                echo "            <td>\n";
                echo "                <input type=\"password\" name=\"Password\" id=\"password\"/>\n";
                echo "            </td>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td colspan=\"2\">\n";
                echo "                <input type=\"submit\" name=\"submit\" value=\"Abschicken\" />\n";
                echo "                <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                echo "            </td>\n";
                echo "        </tr>\n";
                echo "    </table>\n";
                echo "</form>\n";
            }
        }
    }
?>
PHP:
//config.php
<?php
error_reporting(E_ALL);
define('MYSQL_HOST',      'localhost');
define('MYSQL_USER',      'xxxxxxxxx');
define('MYSQL_PASS',      'xxxxxxxxx');
define('MYSQL_DATABASE',  'xxxxxxxxx');

$dateien = array(); //eine leere Array erzeugen 
$dateien ['news'] = "news.php";
$dateien ['Clanwars'] = "clanwars.php";
$dateien ['admin'] = "admin/admin.php";
$dateien['vote'] = "poll.php"; //....
?>
PHP:
//function.php
<?php
function login_right ($id, $pass)
{
$sql ="select
            count(*) as anzahl
            Form
            users2
            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'];
            }
 
 
?>
das sind die php dateien
Gruß Don-Vito
 
ließ dir bitte das tutorial komplett durch wie es dir Master of Chess schon angedeutet hat.

und wenn du schon was postet musst du auch die fehlermeldung zeigen weil so schau ich mir bestimmt nicht den ganzen code durch.

Gruß suf*****
 
ja ich habe mir das mit den Session schon durch gelesen, und die fehlermeldung steht im ersten beitrag
ich habe ein anderen login auch mit Session gemacht und der läuft, beiden login aber da kann ich das nicht so umsetzen wie ich es gerne hätte, da ich noch php neuling bin.
ja sagen wohl viele dann muste nachlesen richtig mache ich auch Bücherweise bei googel in php boards und ich glaube nicht das einer php in einer woche kann.
 
verlangt ja auch keiner aber laut deine fehlermeldung kennt er die funktion array_stripslashes nicht, was bedeutet, dass dir diese fehlt. Master of Chess hat dir die funktion gegeben. Das heißt für mich, wenn der fehler immernoch kommt, dass du einfach die funktion noch nicht im script eingesetzt hast. Dies bedeutet für mich du ließt die antworten nicht richtig
 
Zurück