php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2004, 13:49  
Erfahrener Benutzer
 
Registriert seit: 19.11.2004
Beiträge: 196
Calli
Standard Benutzerverwaltung

Hallo zusammen, ich bastel jetzt an meinem ersten wirklichen PHP projekt. Also nichts was ich nur zu test zwecken bauen.

Ich möchte ein einfaches Login, mit Registrierung und Benutzerverwaltung. Login und Registrierung funktionieren schon bestens.

Nur bei der Benutzerverwaltung hängt es etwas. Die Benutzerverwaltung soll in etwa so aussehen wir die bei PHPmyAdmin wo man sich alle Einträge in einer Tabelle anzeigen lassen kann. Für den Anfang möchte ich die Einträge nicht bearbeiten sondern nur löschen könen. Das Generieren der Tabelle funktioniert. Aber wie kann ich jetzt ein Grafik einfügen und mit einem Link versehen der dann den jeweiligen Eintrag löscht.

Wenn sich ein Benutzer registriert wird der Pfad der Grafik zusätzlich in eine Spalte der Tabelle geschrieben. Die Grafik wird mir dann auch in der Übersicht der Benutzer angezeigt. Aber mit der Grafik allein ist es ja nicht getan - es muss sich ja jetzt auch was tun wenn ich drauf klicke. Muss ich das Verhalten mit dem Pfad in die Tabelle einfügen?

Kann ich den in eine Variable überhaupt einen eigenen PHP-Code einfügen?

Könnte mir da mal jmd einen Tipp geben?
Calli ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.12.2004, 14:13  
Gast
 
Beiträge: n/a
Standard

Du musst die Grafik mit einem Link belegen, z.B.:
PHP-Code:
[url="index.php?del_id=<?php =$id ?>"][img]delIcon.jpg[/img][/url]
Ich nehme hier an deine Datei, wo die Übersicht angezeigt wird heisst index.php. Jetzt fragst du am Anfang ab, ob ein URL-Parameter "del_id" übergeben wurde (if isset($_GET['del_id'])), wenn ja löscht du diesen Eintrag aus der Datenbank (mit DELETE). Wenn kein URL-Parameter übergeben wurde, passiert halt nix.

Anschliessend gibts du (so oder so) das Table mit den Einträgen aus.

Hm, war das verständlich?
 
Alt 01.12.2004, 16:20  
Erfahrener Benutzer
 
Registriert seit: 19.11.2004
Beiträge: 196
Calli
Standard

funktioniert soweit ganz gut, habe es jetzt mal getestet mit einer festen ID zum löschen und wolla - klappt. Aber ich will ja nicht immer die Selbe ID löschen sondern immer die dazugehörige ID.

Jetzt grad sieht mein code in etwa so aus:
Code:
 
if (isset($_GET['del_id'])) {
$zeile="DELETE FROM user WHERE id =  5 LIMIT 1";
$machschon=mysql_query($zeile);
Jetzt muss ich ja irgendwo immer die jeweilige ID her bekommen die zum Eintrag gehört und die dann in eine $variable speichern und durch die "5" ersetzen. Aber wo bekomme ich die Variable denn jetzt am besten her?

Oder kann ich die jetzt irgendwie aus $GET_['del_id'] auslesen?


Sorry, bin anfänger
Calli ist offline  
Alt 01.12.2004, 19:11  
Gast
 
Beiträge: n/a
Standard

Zitat:
Oder kann ich die jetzt irgendwie aus $GET_['del_id'] auslesen?
Bingo!

PHP-Code:
$zeile "DELETE FROM user WHERE id = $_GET['del_id']"
So sollte es funktionieren!
 
Alt 01.12.2004, 19:16  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

$machschon *ggg*

Zum Thema, kann man nicht auch DROP oder TRUNCATE verwenden? Oder ist das nur für ganze DB-Tabellen gedacht?
Magic ist offline  
Alt 01.12.2004, 19:41  
Gast
 
Beiträge: n/a
Standard

Zusatz:
Bei solchen Abfragen gibt es noch grössere Sicherheitsprobleme, sogenannte SQL-Injections. Hier ist das ganze ein wenig erläutert: http://www.php-faq.de/q/q-sql-injection.html.

DROP ist nur für DBs und Tables, die TRUNCATE-Funktionen werden auch von DELETE übernommen: http://dev.mysql.com/doc/mysql/de/DELETE.html
 
Alt 02.12.2004, 11:26  
Erfahrener Benutzer
 
Registriert seit: 19.11.2004
Beiträge: 196
Calli
Standard

$zeile = "DELETE FROM user WHERE id = $_GET['del_id']";

also ich habe das jetzt mal ausprobiert. aber irgendwie bekommen ich immer einen Parser error

Code:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /pages/20/14/d0003366/htdocs/lampertz/admin/userdb.php on line 65
habe jetzt schon alles mögliche ausprobiert, aber ich find den Fehler nicht. Ich bin mir nur sicher das es irgendwie mit $_GET['del_id'] zu tun haben muss. Denn gebe ich die ID direkt an funktionierts wieder.[/code
Calli ist offline  
Alt 02.12.2004, 12:26  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
 
# [...]
$zeile sprintf("DELETE FROM user WHERE id = '%s'"$_GET['del_id']);
 
# [...]
?>
versuchs mal so.
sprintf()

alternativ kannst du $_GET auch 'richtig' 'verketten'
PHP-Code:
<?php
 
# [...]
$zeile "DELETE FROM user WHERE id ='".$_GET['del_id']."'";
 
# [...]
?>
aber ich finde die sprintf()-variante wesentlich übersichtlicher
 
Alt 02.12.2004, 13:20  
Erfahrener Benutzer
 
Registriert seit: 19.11.2004
Beiträge: 196
Calli
Standard

Ok, hab ich mal probiert. Und siehe da - meine parse error ist weg. Juhuuu! Tabelle baut sich jetzt auf, Buttons zum löschen werden auch eingefügt, alles bestens, aber...

Wenn ich jetzt einen Benutzer (sprich also eine Zeile in der Tabelle) löschen möchte tut sich nix,... wird also nicht gelöscht.

So ein Bockmist, nachdem anfänglich alles so klasse liegt hätte ich nicht gedacht das mit das jetzt noch so nen ärger macht.
Calli ist offline  
Alt 02.12.2004, 13:28  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
 
# [... verbindung zur datenbank herstellen...]
$id = isset($_GET['del_id'])? (int)$_GET['del_id'] : false;

if(!
id)
{
     die(
'DELETE ERROR. NO ID FOUND!');
}

$sql sprintf("DELETE FROM user WHERE id = '%s' LIMIT 1"$id);

$res mysql_query($sql) or die(mysql_error() .'
'
$sql);
printf ("Datensätze gelöscht: %d\n"mysql_affected_rows());

?>
was sagt dieses script dazu?
 
 


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
Benutzerverwaltung, Benutzer <-> Gruppen zuweisen maeck PHP Tipps 2008 6 04.07.2008 15:09
benutzerverwaltung LP Beitragsarchiv 1 11.07.2005 16:36
Benutzerverwaltung boehseronkel PHP Tipps 2005-2 4 11.07.2005 14:04
Menü + Benutzerverwaltung HTML, Usability und Barrierefreiheit 2 26.04.2005 14:29
Suchen PHP Progger .... Beitragsarchiv 1 10.12.2004 11:09
[Erledigt] phpmyadmin benutzerverwaltung Datenbanken 1 27.06.2004 22:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php benutzerverwaltung script, benutzerverwaltung php mysql, php mysql benutzerverwaltung, php script benutzerverwaltung, mysql php benutzerverwaltung, php benutzerverwaltung mysql, mysql benutzerverwaltung, benutzerverwaltung mit php und mysql, benutzerverwaltung php script, benutzerverwaltung script php, benutzerverwaltung mysql php, phpmyadmin benutzerverwaltung, benutzerverwaltung script, phpmyadmin userverwaltung script, login script php benutzerverwaltung, php skript benutzerverwaltung, benutzerverwaltung php skript, benutzerverwaltung script kostenlos, mysql benutzerverwaltung php, php login script benutzerverwaltung

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:11 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.