php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.03.2006, 13:08  
Neuer Benutzer
 
Registriert seit: 28.03.2006
Beiträge: 28
it´s only me
Standard Delete Funktion mit checkbox fuktioniert nicht

hi@all.
ich bin neu in php und habe noch nicht soviel ahnung davon.
nun habe ich ein bissel was in php geschrieben.
mein problem ist das wenn ich in der checkbox datensätze makiere und dann den löschbutton drücke er die seite wieder aufbaut, aber ohne den datensatz zu löschen, weder in dem dokument noch in der db.

wäre über hilfe sehr dankbar, wenns geht möglich einfach erklären, habe ja nicht so ne ahnung.
hier der quelltext:

<html>
<head>
<title>Event Abfrage</title>

<h3 align="center"></h3>

<body>


<form action="loeschboxversuch.php" method="POST">

<table border="4" align="center">
<tr>
<td>Event-Nr.</td>
<td align="center">Zeit</td>
<td align="center">Kommentar</td>
</tr>
<?PHP
$db_server = 'meinserver';
$db_name = 'schichtplan';
$db_user = 'ich';

$db = @mysql_connect($db_server, $db_user);

mysql_select_db('schichtplan', $db);

$sql = 'SELECT
event_nr,
zeit,
kommentar
FROM
events ORDER BY zeit';

$result = mysql_query($sql);


if(isset($_POST["loeschen"]))
{
foreach($loeschen as $wert)
{

mysql_query("DELETE FROM tabellename WHERE event_nr = $wert");
}
}



while ($datensatz = mysql_fetch_object($result)){
echo "<td>".$datensatz->event_nr." </td>";
echo "<td>".date("d.m.Y - h:m:s",$datensatz->zeit)."</td>";
echo "<td>".$datensatz->kommentar."</td>";
?>
<td><input type="checkbox" name="loeschen" value="<?php echo
$datensatz->event_nr; ?>"
<?php
//Hier kommt die Funktion wegen automatisch anklicken wenn älter als 30Tage

$differenz = time() - $datensatz->zeit;
if($differenz > 2592000)
{
echo "checked";
}


?>

>
<?php
echo "</td></tr>";
}
?>





<input type="submit" value="Makierte Datensätze löschen" >


</table>
</form>
</body>
</html>
it´s only me ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.03.2006, 13:10  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
foreach($loeschen as $wert)
{

mysql_query("DELETE FROM tabellename WHERE event_nr = $wert");
}
Vermutung: register_globals. (Forenssuche gibt Auskunft darüber).

Zweite Suche danach mit Schlüsselwort: SQL-Injection
mepeisen ist offline  
Alt 28.03.2006, 13:26  
Neuer Benutzer
 
Registriert seit: 28.03.2006
Beiträge: 28
it´s only me
Standard

ähh habe da jetzt nach geguckt,was die begriffe bedeuten, aber da ich ein blutiger anfänger bin kann ich damit nicht viel anfangen. kann mir nicht jemand sagen was ich an meinem quellcode verändern muss, damit es klappt?????
it´s only me ist offline  
Alt 28.03.2006, 13:32  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du musst Variablen die du per index.php?bla=blub oder per Formular und POST an ein PHP-Skript schickst mit $_GET['bla'] bzw. $_POST['bla'] abgreifen und NICHT mit $bla!
Zergling-new ist offline  
Alt 28.03.2006, 13:35  
Neuer Benutzer
 
Registriert seit: 28.03.2006
Beiträge: 28
it´s only me
Standard

sorry das ich nochmal frage aber ich verstehe das nicht,was du mir erklären willst, kannst du das bitet mal an meinem beispiel zeigen???
wäre super lieb von dir, weil ich verzeifel gerade hier, versuche das schon den ganzen vormittag zu lösen das problem.
it´s only me ist offline  
Alt 28.03.2006, 13:36  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
if(isset($_POST["loeschen"]))  // $_POST["loeschen"] richtig!!
{
foreach(
$loeschen as $wert// $loeschen falsch!!
{
   
mysql_query("DELETE FROM tabellename WHERE event_nr = $wert");

Außerdem würde ich das Löschen vor dem Select machen, sonst siehst du auch die gelöschten Zeilen nochmal. Außerdem solltest du dir mal mysql_error ansehen.

Gruß
phpfan
 
Alt 28.03.2006, 13:43  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Es wundert mich, dass foreach keinen Fehler schmeißt, denn $loeschen ist kein Array wenn register_globals auf Off steht.

Aber mit register_globals schlag ich mich nicht mehr rum:

http://www.google.de
Zitat:
Ergebnisse 1 - 10 von ungefähr 2.960.000 für php register_globals. (0,49 Sekunden)
Zergling-new ist offline  
Alt 28.03.2006, 13:46  
Neuer Benutzer
 
Registriert seit: 28.03.2006
Beiträge: 28
it´s only me
Standard

hey phpfan habe deine idee durchgeführt, aber leider bekomme ich dann diese warnung, wenn ich den löschbutton drücke:

Warning: Invalid argument supplied for foreach() in E:\xampp\htdocs\eventabfrage\versuchsbox.php on line 40

und das war das was ich geändert habe auf euren rat, is doch richtig oder?

if(isset($_POST["loeschen"]))
{
foreach(["loeschen"] as $wert)
{

mysql_query("DELETE FROM tabellename WHERE event_nr = $wert");
echo $wert."
";
}
}
it´s only me ist offline  
Alt 28.03.2006, 13:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Les mein Posting und lern PHP-Grundlagen: Was soll ["loeschen"] sein?
$_POST["loeschen"]!
Zergling-new ist offline  
Alt 28.03.2006, 13:50  
Gast
 
Beiträge: n/a
Standard

foreach(["loeschen"] as $wert)

Gruß
phpfan
 
 


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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
Checkbox jacos PHP Tipps 2006 5 01.04.2006 10:19
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
[Erledigt] Formularelement Checkbox in Interaktion mit MYSQL Datenbanken 4 13.07.2004 12:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php checkbox funktion, php \checkbox datensatz\, $row löschen checkbox tutorial if(isset($_get[\loeschen\])){ delete, delete(); funktion, funktion checkbox, php checkbox datensatz löschen

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