php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.04.2011, 12:38  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
pechochina befindet sich auf einem aufstrebenden Ast
Standard Datenbank: Daten lassen sich nicht löschen

Bin neu in der Materie und finde den Fehler hier nicht. Ich habe Daten in einer Tabelle in die Datenbank eingetragen. Ich kann sie wieder auslesen, aber nicht löschen. Kann bitte ein erfahrener User einen Blick auf den Code werfen? Danke im Voraus!

PHP-Code:
<html><body><div align="center">

<?
//aufbau der datenbankverbindung
$host 'localhost';
$user 'secret';
$password 'secret';
$db_name 'tbl_4';

//verbindung zur db herstellen
$db mysql_connect($host$user$password);
mysql_select_db($db_name$db);

//Daten löschen
if (isset($_POST['clear'])) {
    
mysql_query("DELETE FROM spieler WHERE id='.$clear.'");
    }

//Daten auslesen
$result mysql_query("SELECT * FROM spieler",$db);
?>
<table border="1" cellspacing="0" cellpadding="3" align="center">
<tr>
<td><b>ID</b></td>
<td><b>Vorname</b></td>
<td><b>Nachname</b></td>
<td><b>e-mail</b></td>
<td>&nbsp;</td>
</tr>
<? 
while ($daten mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[id]; ?></td>
<td><? echo $daten[vorname]; ?></td>
<td><? echo $daten[name]; ?></td>
<td><? echo '<a href="mailto:'.$daten[email].'">'.$daten[email].'</a>'?></td>
<td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[id].'' ?>">l&ouml;schen</a></td>
</tr>
<? ?>
</table>

<? 
mysql_close
();
?>

</div></body></html>
pechochina ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.04.2011, 12:43  
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

$clear setzt sich nicht von alleine
cycap ist offline   Mit Zitat antworten
Alt 19.04.2011, 12:53  
Neuer Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
JohnWart befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Zitat:
Zitat von cycap Beitrag anzeigen
$clear setzt sich nicht von alleine
Doch, wenn register_globals an ist. Was hier aber wahrscheinlich nicht der Fall ist.

Wobei er dann immer noch POST abfragt:
PHP-Code:
if (isset($_POST['clear'])) { 
Obwohl er GET übergibt:

PHP-Code:
<td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[id].'' ?>">l&ouml;schen</a></td>
Viele Grüße,
John Wart
__________________
John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf Facebook, Twitter oder meinem Blog.
JohnWart ist offline   Mit Zitat antworten
Alt 19.04.2011, 12:57  
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

Zitat:
Doch, wenn register_globals an ist. Was hier aber wahrscheinlich nicht der Fall ist.
Welch grandiose Bemerkung!
cycap ist offline   Mit Zitat antworten
Alt 19.04.2011, 13:00  
Neuer Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
JohnWart befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Zitat:
Zitat von cycap Beitrag anzeigen
Welch grandiose Bemerkung!
Nach seinem Quellcode muss man zumindest davon ausgehen, dass er annimmt register_globals wären an.

Deshalb die Bemerkung. Als Zusatz: In einer Standard php5-Installation sind die register_globals per Default ausgeschaltet.

Viele Grüße,
John Wart
__________________
John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf Facebook, Twitter oder meinem Blog.
JohnWart ist offline   Mit Zitat antworten
Alt 19.04.2011, 13:01  
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

Im übrigen, pechochina, solltest du dich dringend mit SQL Injection befassen. Wenn ich deinem Script (wenn es funktionieren würde) den String

Code:
' OR '' = '
übergeben würde, dann wär deine Tabelle leer.
cycap ist offline   Mit Zitat antworten
Alt 19.04.2011, 13: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

Zitat:
Nach seinem Quellcode muss man zumindest davon ausgehen, dass er annimmt register_globals wären an.
Also aus Forenerfahrung kann ich dir sagen, dass die meisten die $_POST oder $_GET im Code stehen haben, nicht mit register_globals arbeiten.
cycap ist offline   Mit Zitat antworten
Alt 19.04.2011, 13:07  
Neuer Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
JohnWart befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Zitat:
Zitat von cycap Beitrag anzeigen
Also aus Forenerfahrung kann ich dir sagen, dass die meisten die $_POST oder $_GET im Code stehen haben, nicht mit register_globals arbeiten.
Vielen Dank für den Hinweis.

Zu deiner SQL-Injection sei noch folgendes gesagt: Bei php5 sind die magic_quotes_gpc standardmäßig auf an. Damit würde dein String escaped und der SQL-Inject schon verhindert. Es käme folgendes an:
Code:
\' OR \'\' = \'
Allerdings empfehle ich natürlich dennoch den String dringend vor der Abfrage mit mysql_real_escape_string zu barbeiten.

Viele Grüße,
John Wart
__________________
John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf Facebook, Twitter oder meinem Blog.
JohnWart ist offline   Mit Zitat antworten
Alt 19.04.2011, 13:07  
Neuer Benutzer
 
Registriert seit: 15.04.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
pechochina befindet sich auf einem aufstrebenden Ast
Standard

Register Globals ist an:

safe_mode off
register_globals on
magic_quotes_gpc off
display_errors off
post_max_size 8M
upload_max_filesize 8M
memory_limit 35M




Zitat:
Zitat von cycap Beitrag anzeigen
Im übrigen, pechochina, solltest du dich dringend mit SQL Injection befassen. Wenn ich deinem Script (wenn es funktionieren würde) den String

Code:
' OR '' = '
übergeben würde, dann wär deine Tabelle leer.
Ich arbeite daran
pechochina ist offline   Mit Zitat antworten
Alt 19.04.2011, 13:09  
Neuer Benutzer
 
Registriert seit: 11.04.2011
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
JohnWart befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Zitat:
Zitat von pechochina Beitrag anzeigen
register_globals on
Damit bleibt noch dein _GET _POST Problem.

Zitat:
Zitat von pechochina Beitrag anzeigen
magic_quotes_gpc off
Dann solltest du den String in PHP auf jeden Fall escapen.

Viele Grüße,
John Wart
__________________
John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf Facebook, Twitter oder meinem Blog.
JohnWart ist offline   Mit Zitat antworten
Antwort


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
Scriptsuche Daten aus MySQl Datenbank und CSV Datei vergleichen u. ggf übertragen oder löschen headbannger83 Scriptbörse 0 07.01.2011 01:00
Daten aus DB löschen bk200 PHP Einsteiger 11 10.12.2010 22:59
Komplette Daten aus Datenbank in editierbarer Form ausgeben zzzboard PHP Tipps 2010 1 21.08.2010 13:29
Daten aus Datenbank in Dateivorlage schreiben freakymiky PHP Tipps 2008 6 07.08.2008 16:22
Daten in Datenbank übergeben Bebre PHP Tipps 2008 2 11.02.2008 11:41
[Erledigt] Variable Links mit daten aus SQL Datenbank PHP Tipps 2005-2 8 05.08.2005 13:10
XML Daten in eine MySQL Datenbank Datenbanken 8 24.07.2005 16:03
Daten von einem Datenbank in eine anderes überspielen... PHP Tipps 2005-2 2 17.06.2005 11:49
Daten aus Tabelle Löschen PHP Tipps 2005 6 07.01.2005 23:23
[Erledigt] Daten in Datenbank schreiben Datenbanken 2 09.12.2004 13:12
Daten aus Datenbank auslesen Datenbanken 2 01.09.2004 01:58
[Erledigt] Daten in Datenbank einlesen Datenbanken 2 08.08.2004 13:31
Bestimmte einträge aus Datenbank löschen PHP Tipps 2004 2 05.08.2004 00:17
Daten löschen durch IP-Bestätigung PHP Tipps 2004 10 04.08.2004 18:22
daten in datenbank übertragen PHP Tipps 2004 17 23.06.2004 15:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
<a href=\<? echo \'\'.$php_self.\'?clear=\'.$daten[id].\'\' ?>\>, wie kann man datensätze in datenbank für immer löschen, <td><a href=\<? echo \'\'.$php_self.\'?clear=\'.$daten[id].\'\' ?>\>l&ouml;schen</a></td>;, php datenbank datensatz lässt sich nicht löschen, datenbank daten löschen, mysql datensätze löschen

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