php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.11.2008, 15:59  
Neuer Benutzer
 
Registriert seit: 27.11.2008
Beiträge: 3
MistaJ befindet sich auf einem aufstrebenden Ast
Standard User mit PHP aus DB löschen

Hallo Zusammen

Habe da ein kleines Problem.^^

Also folgendes:
Ich möchte die User durch ein mit PHP realisiertes GUI aus der Datenbank löschen können.

Das habe ich gemacht:
-User ausgelesen und in Tabelle dargestellt
-Funktion (delete_user) geschrieben, die User löschen kann (dazu später mehr)

Das funzt:
-User löschen, indem ich den usernamen direkt als Parameter bei Funktionsaufruf übergebe

Das funzt nicht:
User löschen, indem ich den usernamen als Parameter IN FORM EINER VARIABLE bei Funktionsaufruf übergebe

Zur Funktion:
Die Funktion wird aufgerufen, sobald ich das Formular absende, indem ich auf den Submit-Button in Form einer Grafik klicke. Die Funktion sucht den beim Aufruf als Parameter übergebenen User und löscht ihn.
Leider funktioniert das aber nur, wenn ich den Parameter direkt angebe, statt der Variable "$data [$y][user_name]" gebe ich also beispielsweise "urs" ein.

Hier der Code dazu:
PHP-Code:
<?php
    
include ("mysql_func.php");                //mysql_func.php wird für diverse Datenbank-Funktionen gebraucht (SELECTS, UPDATES usw.)
    
conn();                                    //Verbindung zum SQL-Server aufbauen

    
$rows give_me_rows();                    //Anzahl rows in der DB auslesen
    
$data give_me_data();                    //Datenfelder mit SELECT auslesen und in Array speichern

    
function delete_user($user_name)
    {
        
//SQL-Statement absetzen
        
$db "spmf";
        
$sql "delete from spieler where user_name = '$user_name';";
        
$result send_sql ($db$sql);                                    //SQL-Befehl ausführen
    
        
$rows get_rows($result); //Anzahl Zeilen.$count = 0;
        
$data get_fetch_array($result);
        return 
$data;
    }
?>
<html>
    <head>
        <script language="JavaScript" type="text/javascript">
            function request_delete_user() 
            {   
                return confirm("Ausgewählte User löschen?")
            }
        </script>
    </head>
    <body>
        <?php
            
for ($y=0$y<$rows$y++)
                { 
                    if(
$data [$y][user_name]!='admin')
                    {
                        echo 
"<tbody>";
                            echo 
"<tr>";
                                echo 
"<td nowrap class='data'>".$data [$y][user_name]."&nbsp;</td>";
                                echo 
"<td nowrap class='data'>"?>
                                <form method="POST" action="<?php delete_user($data [$y][user_name]);?>" onSubmit="return request_delete_user()">
                                    <input type="image" src="images/papierkorb.gif" alt="abschicken"  border="0">
                                </form>
                                <?php "&nbsp</td>";
                            echo 
"</tr>";
                        echo 
"</tbody>";
                    }
                }
        
?>
    </body>
</html>
<?php
    mysql_close
();                            //Verbindung zum SQL-Server trennen
?>
Könnt Ihr mir vielleicht helfen?
Krieg das nich gebacken
Ich sitze nun schon fast den ganzen Morgen und den ganzen Nachmittag daran, aber komme einfach nicht weiter

Danke schon mal

Schöne Grüsse
MistaJ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.11.2008, 16:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

das hier

Code:
<form method="POST" action="<?php delete_user($data [$y][user_name]);?>" o
ist absoluter Blödsinn. In action kann nur eine Datei angegeben werden wohin die Daten geschickt werden sollen.
cycap ist offline  
Alt 27.11.2008, 16:07  
Neuer Benutzer
 
Registriert seit: 27.11.2008
Beiträge: 3
MistaJ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
das hier

Code:
<form method="POST" action="<?php delete_user($data [$y][user_name]);?>" o
ist absoluter Blödsinn. In action kann nur eine Datei angegeben werden wohin die Daten geschickt werden sollen.
Warum gehts dann, wenn ich $data [$y][user_name] durch den tatsächlichen Username ersetze?

Was schlägst Du vor, wie ich es anders machen könnte
MistaJ ist offline  
Alt 27.11.2008, 16:15  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Wir ham' da mal was vorbereitet Guckst du hier: Affenformular (Standardverfahren) - PHP.de Wiki
cycap ist offline  
Alt 29.11.2008, 12:57  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mal so ganz nebenbei,
PHP-Code:
$data [$y][user_name
ist onehin falsch, da zwischen $data und [ kein leerzeichen stehen darf (glaub ich zumindest, habs jez nicht getestet ^^). Sprich du übergibst der Funktion gar nichts.

Abgesehen davon stimmt es was hier gesagt wurde: HTML verlangt eine Datei als action-Parameter. Was du machen kannst ist action="delete.php" aufrurufen und im Formular ein Feld
Code:
<input type="hidden" name="userToDelete" value="<?=$data[$y][user_name];?>">
zu machen.
Und dann in delete.php ein
PHP-Code:
delete_user($_POST['userToDelete']); 
mfg
BlackWolf ist offline  
Alt 29.11.2008, 17:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
ist onehin falsch, da zwischen $data und [ kein leerzeichen stehen darf (glaub ich zumindest, habs jez nicht getestet ^^).
Hättest Du aber besser. Ist Blödsinn.
Btw.: welcher Funktion?

Er kann auch
PHP-Code:
action="delete_user.php?user_name=<?php echo $data[$y]['user_name'];?>"
nutzen. Bedenke aber, dass Formulardaten stets manipulierbar sind.

Was ihr nicht tun solltet ist user_name ohne Anführungszeichen als Arrayschlüssel verwenden.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 01.12.2008, 13:41  
Neuer Benutzer
 
Registriert seit: 27.11.2008
Beiträge: 3
MistaJ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BlackWolf Beitrag anzeigen
Mal so ganz nebenbei,

ist onehin falsch, da zwischen $data und [ kein leerzeichen stehen darf (glaub ich zumindest, habs jez nicht getestet ^^). Sprich du übergibst der Funktion gar nichts.
Klar gehts. Ausserdem: Das is keine Funktion, sondern ein Array ^^

Zitat:
Zitat von BlackWolf Beitrag anzeigen
Was du machen kannst ist action="delete.php" aufrurufen und im Formular ein Feld
Code:
<input type="hidden" name="userToDelete" value="<?=$data[$y][user_name];?>">
zu machen.
Und dann in delete.php ein
PHP-Code:
delete_user($_POST['userToDelete']); 
mfg
Habs jetzt so gemacht:
PHP-Code:
<form method="POST" action="delete_user.php" onSubmit="return request_delete_user()">
    <input type='radio' name="user_name" value="<?php echo $data [$y][IDSpieler]; ?>">
</form>
und im "delete_user.php" so:
PHP-Code:
$user_name $_POST['user_name'];
                                    echo 
$user_name;
                                    
delete_user($user_name); 
Damit gehts.^^

Zitat:
Zitat von nikosch Beitrag anzeigen
Er kann auch
PHP-Code:
action="delete_user.php?user_name=<?php echo $data[$y]['user_name'];?>"
nutzen. Bedenke aber, dass Formulardaten stets manipulierbar sind.

Was ihr nicht tun solltet ist user_name ohne Anführungszeichen als Arrayschlüssel verwenden.
Wie bitte? xD
Arrayschlüssel? 0_o
Was das?

Ansonsten Danke für die Hilfe.

Grzz
MistaJ ist offline  
Alt 01.12.2008, 13:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Wie bitte? xD
Arrayschlüssel? 0_o
Was das?
Ein Array besteht aus einer Reihe von Datensätzen, bei denen jeweils ein Wert einem Schlüssel zugeordnet ist. Der Schlüssel kann dabei numerisch (INT) oder assoziativ (String) sein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 01.12.2008, 16:59  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Dingdong! -> Quakenet/#php Tutorial - de - Arrays
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 01.12.2008, 18:22  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Auch, wenn's bissel spät ist, muss ich hier mal klugscheißen.

Zitat:
Zitat von nikosch Beitrag anzeigen
Btw.: welcher Funktion?
delete_user()

Zitat:
Zitat von MistaJ
Ausserdem: Das is keine Funktion, sondern ein Array
Ach?
$data [] soll ja übergeben werden, also kann $data wohl kaum selber die angebliche Funktion sein.

Augen auf Kollegen!

Zitat:
delete_user($data [$y][user_name])
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
User löschen ACiD PHP Tipps 2008 12 29.10.2008 14:09
User soll Aufgaben löschen Bubble PHP Tipps 2007 4 26.03.2007 17:55
Bilder löschen PHP Tipps 2005-2 4 24.10.2005 11:37
Vor dem löschen abfragen ob man wirklich löschen will PHP Tipps 2005-2 1 05.09.2005 11:54
user aus .htpasswd löschen mit php wizzardxx PHP Tipps 2005-2 10 29.07.2005 20:21
User-Account löschen während User surft mit Session PHP Tipps 2005-2 2 20.07.2005 19:06
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
Bin verzweifelt!! -> Array inaktive User und dann löschen c-bass PHP Tipps 2005-2 10 18.07.2005 18:34
Alle user die online sind anzeigen - wann und wie löschen? PHP Tipps 2005 11 24.05.2005 16:01
POP3 - erzeugen, abrufen, löschen & user und pw - frage PHP Tipps 2004-2 2 24.12.2004 17:19
[Erledigt] PHP linux user wechseln PHP-Fortgeschrittene 12 05.12.2004 16:11
Abfrage einer Spalte ob User sich löschen darf PHP Tipps 2004-2 3 12.11.2004 09:15
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php user löschen, php benutzer löschen, benutzer löschen php, user löschen php, php delete user, http://www.php.de/php-tipps-2008/49378-user-mit-php-aus-db-loeschen.html, php user account löschen, user aus db löschen, php user löschen formular, user per javascript löschen, php account aus datenbank löschen, kunden loeschen in php, user löschen php script, php benutzer login löschen, user soll sich selber löschen können php, php db eintrag löschen mit confirm tutorial, user über php löschen, löschen function, php script benutzer löschen, funktion delete_user() in php

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum