• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Admin Skript

P

Prasedonym

Guest
Hallo,
Ich habe ein Skript programmiert der die aktuellen User di e angemeldet sind aufgelistet danach wollte ich ein admin Bereich erstellen bei dem man die User AUF der Website online ändern kann. dies Funktioniert nicht richtig kann mir da einer helfen?

hier der Code
PHP:
<?php session_start (); ?>
<?php
include("includes/doctype.html");
?>
<?php
include("includes/menu.html");
?>
<div id="mainlistuser">
<?php
include("includes/mysql_verbindung.php");
?>
<?php 

// For POST
if (!empty($_POST['action'])) {
    echo "<pre>" . $_POST['action'] . "</pre>";
    switch($_POST['action'])
    {
        case "save":
            $sql = "UPDATE ". 
             "benutzerdaten " .
            "SET Nickname='" . $_POST['Nickname'] . "'," .
            "Nachname='" . $_POST['Nachname'] . "'," .
            "Vorname='" . $_POST['Vorname'] . "'," .
            "email='" . $_POST['email'] . "' " .
              "WHERE Id=" . $_POST['id'];
            $result = mysql_query ($sql); 
    }
}
// For GET
else if(!empty($_GET['action'])) {
    switch($_GET['action'])
    {
        case "update":
            $sql = "SELECT ". 
                "Id, Nickname, Nachname, Vorname, date, email ". 
              "FROM ". 
                "benutzerdaten " .
              "WHERE Id=" . $_GET['id'];
            //echo "<pre>" . $sql . "</pre>";

            $result = mysql_query ($sql); 
            
            if (mysql_num_rows ($result) > 0) 
            {
                $row = mysql_fetch_array($result);
                echo "<form method='post' action=" . htmlspecialchars("'user.php?action=save&id=" . $row['Id']) . ">";
                echo '<label>Nickname: </label> <input name="Nickname" type="text" class="input" value="' . $row['Nickname'] . '"/><br/>';
                echo '<label>Nachname: </label> <input name="Nachname" type="text" class="input" value="' . $row['Nachname'] . '"/><br/>';
                echo '<label>Vorname: </label> <input name="Vorname" type="text" class="input" value="' . $row['Vorname'] . '"/><br/>';
                echo '<label>EMail: </label> <input name="email" type="text" class="input" value="' . $row['email'] . '"/><br/>';
                echo '<input type="submit" name="save" value="Save"/>'    ;
                echo "</form>";
            }
            break;

        case "delete":
            /*
            $sql = "DELETE ".             
              "FROM ". 
                "benutzerdaten " .
              "WHERE Id=" . $_GET['id'];

            $result = mysql_query ($sql); 
            
            if (mysql_num_rows ($result) > 0) 
            {
                $row = mysql_fetch_array($result);
            }
            */
            break;
    };
}

?> 
</div>
</center>
</body>
</html>
 
Hab mir das Script noch nicht angeschaut, würde gern wissen ob eine Fehlermeldung ausgegeben wird, ob einfach gar nix passiert oder was auch immer.

MfG Icy
 
Also erstmal warum öffnest und schliest du immer wieder PHP?
Naja wie mein Vordermann schon sagte wäre eine Fehlermeldung nicht schlecht ;-)
 
Wie genau rufst du das Script auf? Wenn keine POST bzw. GET daten übermittelt werden, wird nur ein weißes Bildschirm angezeigt^^ ( laut deinem code )

Und Fehlermeldungen falls vorhanden wäre gut, bzw. was genau nicht funktioniert.

*EDIT*

achja, daten die du ausließt, die man von außen ändern kann (also POST und GET ) solltest du, wenn du sie für Datenbanken benutzt, mit mysql_real_escape_string() versehen!

z.B. : mysql_real_escape_string($_POST['username'])
 
Also,

Es gibt keine Fehlermeldung es erscheint einfach eine weisse Website.
Ich habe aber POST bzw. GET daten übermittelt!

achja, daten die du ausließt, die man von außen ändern kann (also POST und GET ) solltest du, wenn du sie für Datenbanken benutzt, mit mysql_real_escape_string() versehen!

z.B. : mysql_real_escape_string($_POST['username'])

Ja warum braucht man das?
 
weils gegen SQL injectionen ist ;-)

schreib halt mal echo $_POST.. und $_GET..
was dann da steht vlt oder mysql num rows ob er überhaupt was findet etc..
 
ACH!

ich habe es selber rausgefunden ich es funktioniert nur mit $_GET ich aber $_POST genommen aber trotzdem.. DANKE


mfg
Prasedonym
 
ACH!

ich habe es selber rausgefunden ich es funktioniert nur mit $_GET ich aber $_POST genommen aber trotzdem.. DANKE
GET und POST
Zum lesen für dich, um den Unterschied und beziehungen von POST und GET zu wissen.

achja, daten die du ausließt, die man von außen ändern kann (also POST und GET ) solltest du, wenn du sie für Datenbanken benutzt, mit mysql_real_escape_string() versehen!

z.B. : mysql_real_escape_string($_POST['username'])
Ja warum braucht man das?
weils gegen SQL injectionen ist
Diesen Aspekt wollte ich mit meiner Frage bewirken. So wie du dein SQL Befehl inmoment zusammen setzt, kann jeder nahezu komplett auf deine Datenbank zugreifen. Darum solltest du dich mit dem Thema SQL Inject auseinander setzen und dich dementsprechend schützen.

Mfg
 
Zurück
Oben