Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Sicherheitsabfrage vor dem Löschen eines Datensatzes

Mitglied: Chribu

Chribu (Level 1) - Jetzt verbinden

15.09.2006, aktualisiert 19.09.2006, 12729 Aufrufe, 11 Kommentare

Hallo Leute,

ich habe ein kleines Problem mit meinem Formular(HTML/PHP mit MySQL-DB anbindung)!

Wie bekomme ich es hin, dass ich, wenn ich den Löschenbutton drücke, erst eine Sicherheitsabfrage bekomme z.B. "Sind sie sicher, dass sie diesen Datensatz löschen mächten?" und wenn ich diese mit ja bestätige, soll der weiter Löschenverlauf folgen (DELETE FROM...blablabla sql abfrage)!

Wenn ich auf nein drücke soll er nichts machen, also zu dem geöffneten Fenster zurückspringen!

GIbt es da eine Lösung für?

Danke schon im vorraus

Chribu
[EDIT masterG 20.09.2007 14:51]:
Nach dem dieser Thread schon eine weile gelöst ist werde ich ihn schließen.
Mitglied: Dani
15.09.2006 um 12:11 Uhr
Hi,
ich habe sowas mit Javascript realisiert.

01.
<script language="JavaScript" type="text/JavaScript"> 
02.
<!-- 
03.
function confirmSubmit() 
04.
05.
    var agree=confirm("Sind Sie sich sicher?"); 
06.
    if (agree) 
07.
    return true ; 
08.
    else 
09.
    return false ; 
10.
11.
</script>
<a onclick="return confirmSubmit()" href="VERWEISE AUF DATEI" class=link1>l&ouml;schen</a>
01.
 
02.
Wenn du Ja klickst wird der Datensatz gelöscht. 
03.
 
04.
 
05.
Gruß 
06.
Dani 
07.
 
Bitte warten ..
Mitglied: Chribu
15.09.2006 um 12:42 Uhr
Hi Dani,

also bei mir sieht das ja so aus:

01.
 
02.
/*Löschen Button*
03.
if (isset($_POST['loeschen'])) 
04.
05.
$sql = "DELETE FROM infotain_neu WHERE 
06.
Servername = '".$_POST['dd']."'"
07.
mysql_query($sql); 
08.
echo "Der Datensatz wurde gelöscht<p>"
09.
10.
 
11.
/*Wenn "Submit"-Button gedrückt wurde, dann zeige Formular mit allen Details*/         
12.
if (isset($_POST['dd'])) 
13.
14.
.......... 
15.
 
Ähm nur wie soll ich das mit dem <a onklick.. > machen?

Danke nochmal!

Gibt es auch andere Lösungsmöglichkeiten? (da ja nicht jeder Browser java aktiv hat!)

Cya

Chribu
Bitte warten ..
Mitglied: Dani
15.09.2006 um 13:59 Uhr
Hi,
der Quellcode von deiner Löscheseite muss dann so aussehen:
01.
$sql = "DELETE FROM infotain_neu WHERE Servername = '".$_POST['dd']."'"; 
02.
mysql_query($sql);
Diese Seite bindest bei meinem Link oben ein! Geht eigentlich immer! Ist übrigends die gleieche Funktion, wenn du hier eine Nachricht löschst.!


Gruß
Dani
Bitte warten ..
Mitglied: EvilMoe
17.09.2006 um 10:26 Uhr
Hi

bei mir funktionierts wunderbar danke !
Bitte warten ..
Mitglied: Guenni
17.09.2006 um 20:25 Uhr
@Chribu

Hi,

Lösungsbeispiel ohne JavaScript.

Auf der Ergebnisseite deiner Auswahl kannst du ohne weiteres einen
Button in ein eigenes Formular verpacken, das ein Script aufruft,
dass dir den zum Löschen ausgewählten Datensatz nochmals
anzeigt, wo dann entweder die Bestätigung zum Löschen erfolgt,
oder der Löschvorgang abgebrochen wird.

Das Form:
01.
<form action="drop.php?server=<?echo $server;?>" method="post"> 
02.
<input type="submit" name="cmd" value="Loeschen"/> 
03.
</form>
Die Seite drop.php baut sich dann wie folgt auf:

01.
// Folg. Code wird ausgeführt, wenn zur Löschbestätigung der Button "Ja" 
02.
// angeklickt wurde. 
03.
//  
04.
if($cmd=="Ja"){ 
05.
 $conn=mysql_connect("localhost","guenni","guenni") or die(mysql_error()); 
06.
 $db=mysql_select_db("test") or die("Konnte die Datenbank nicht waehlen."); 
07.
 $sql="delete from computer where id=$server"
08.
 mysql_query($sql,$conn); 
09.
 header("location:index.php"); // Nach dem Löschen zurück zur Startseite, Erklärung 
10.
// weiter unten 
11.
12.
 
13.
// Wurde der Button "Nein" angeklickt, wird die Seite drop.php verlassen 
14.
if($cmd=="Nein"){ 
15.
 header("location:edit.php?server=$server"); // Zurück zur Editierseite, 
16.
// Erklärung weiter unten 
17.
18.
 
19.
// Der zum Löschen vorgesehene Datensatz wird angezeigt 
20.
//alle Fehler im Browser anzeigen 
21.
ini_set("diplay_errors",1); 
22.
error_reporting(E_ALL); 
23.
$conn=mysql_connect("localhost","guenni","guenni") or die(mysql_error()); 
24.
$db=mysql_select_db("test") or die("Konnte die Datenbank nicht waehlen."); 
25.
$sql="SELECT * FROM computer WHERE id = $server"
26.
$result = mysql_query($sql,$conn); 
27.
$row=mysql_fetch_array($result,MYSQL_ASSOC); 
28.
$server=$row[id];
Soll dieser Datensatz wirklich gelöscht werden ?
01.
echo "<table border=1>"
02.
echo "<tr>"
03.
while($field=key($row)){ 
04.
 echo "<th>"
05.
 echo $field
06.
 next($row); 
07.
08.
echo "</tr>"
09.
$result = mysql_query($sql,$conn); 
10.
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
11.
 echo "<tr><td>"
12.
 echo implode("<td>",$row); 
13.
14.
echo "</table>";
01.
<form action="drop.php?server=<? echo $server;?>" method="post"> 
02.
<input type="submit" name="cmd" value="Ja" /> 
03.
<input type="submit" name="cmd" value="Nein" /> 
04.
</form>
Erklärung:

Im Tread --> https://www.administrator.de/MySQL_Datens%E4tze_mit_php-Formular_%E4nder ...

hatte ich Franzmann geschrieben, dass ich versch. Vorgänge wie Einfügen,
Löschen, Editieren von Datensätzen immer auf entsprechende Seiten verteile.

Daher die Weiterleitung via header("location:...... .

Ich finde das wesentlich übersichtlicher, als wenn man den kompletten
Code in eine einzige Seite packt.

Gruß
Günni
Bitte warten ..
Mitglied: Chribu
18.09.2006 um 09:23 Uhr
Hallo!!

Danke für eure Antworten!

Ich habe mich jetzt mal mit dem JavaScript Code auseinandergesetzt!

Hier meine delete.php:

01.
 
02.
<?php 
03.
 
04.
//alle Fehler im Browser anzeigen 
05.
ini_set("diplay_errors",1); 
06.
error_reporting(E_ALL); 
07.
 
08.
/*Datenbankverbindung aufbauen*
09.
$db = mysql_connect("localhost","root","") or die(mysql_error()); 
10.
mysql_select_db("test", $db) or die("Konnte die Datenbank nicht waehlen."); 
11.
 
12.
$sql = "DELETE FROM infotain_neu WHERE Servername = '".$_POST['dd']."'"
13.
mysql_query($sql); 
14.
 
15.
mysql_close($db); 
16.
?> 
17.
 
So und hier meine Ergebnisseite:

01.
 
02.
<html> 
03.
<head> 
04.
<title>Unbenanntes Dokument</title> 
05.
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
06.
</head> 
07.
<body> 
08.
<p><strong><u>Servermanager >>> Server ändern oder löschen</u></strong></p> 
09.
<p> 
10.
<script language="JavaScript" type="text/JavaScript"
11.
<!-- 
12.
function confirmSubmit() 
13.
14.
    var agree=confirm("Sind Sie sich sicher, dass Sie diesen Server löschen wollen?"); 
15.
    if (agree) 
16.
    return true ; 
17.
    else 
18.
    return false ; 
19.
20.
</script> 
21.
 
22.
  <?php 
23.
//alle Fehler im Browser anzeigen 
24.
 
25.
usw......... 
26.
 
Hier mein Link:

01.
 
02.
echo "<a onclick='return confirmSubmit()' href='delete.php' class='link1'>Löschen</a>"
03.
 
So wenn ich nun auf den Link klicke bekomme ich zwar die gewünschte Sicherheitsabfrage, doch löscht er keinen Datensatz aus der MySQL-DB!

Hab ich was vergessen?

Danke

Chribu
Bitte warten ..
Mitglied: EvilMoe
18.09.2006 um 10:09 Uhr
wurdest du richtig an die delete.php weitergeleitet?
Bitte warten ..
Mitglied: Chribu
18.09.2006 um 10:35 Uhr
Jop wurde ich!

Nachdem ich das error_reporting auch eingefügt hatte bekam ich folgende Fehlermeldung!

Notice: Undefined index: dd in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 11

Das ist doch ein Indiz dafür, dass die Variable "'$_Post['dd']'" nicht gesetzt worden ist, sprich nicht weis welchen Server er löschen soll!

Dann muss doch am QUellcode was schief gelaufen sein!

Muss ich die irgendwie includen oder so?

Cya

Chribu
Bitte warten ..
Mitglied: Guenni
18.09.2006 um 21:13 Uhr
@Chribu

Hi,

wenn du die Seite delete.php via Link aufrufst, und erwartest, dass da was
passiert, so mußt du dem Link auch einen Parameter mitgeben.

01.
echo "<a onclick='return confirmSubmit()' href='delete.php?para=$dd' class='link1'>Löschen</a>";
Eine Auswertung mit $_POST[……

01.
$sql = "DELETE FROM infotain_neu WHERE Servername = '".$_POST['dd']."'";
...... bringt ebenfalls nichts, weil Variablen bzw. Parameter, die via Link übertragen
werden, mit der Methode GET ausgewertet werden. Also...

01.
$sql = "DELETE FROM infotain_neu WHERE Servername = '".$_GET['para']."'";
oder einfach

01.
$sql = "DELETE FROM infotain_neu WHERE Servername = $para";
Der Parameter para (…'delete.php?para=<?echo $dd;?>…) enthält dann den
Wert von $dd, und kann ganz normal als Variable $para weiterverarbeitet werden.

Tipp:

Wenn du Variablen an andere Seiten weiterleitest, ob mit Form oder Link,
so lass' dir auf den Seiten als erstes mal mittels echo $Variable; anzeigen,
ob die Daten überhaupt korrekt übermittelt wurden.

Wenn ja, dann Aktionen mit den Werten programmieren .

Grüße
Günni
Bitte warten ..
Mitglied: Chribu
19.09.2006 um 09:18 Uhr
Hallo Günni,

ich habe das jetzt nach deinen Anweisungen versucht:

Hier mein Link: (ZEILE 85)

01.
 
02.
echo "<a onclick='return confirmSubmit()' href='delete.php?para=$dd' class='link1'>Löschen</a>"
03.
 
Und dann rufe ich das Formular auf und bekomme schon in der Ergebnisseite folgende Fehlermeldung:

Notice: Undefined variable: dd in E:\TYPO3\htdocs\prokom srv manager\form3t.php on line 85

Also konnte er mit der Variable nichts anfangen! Habe die auch mal mit $_Post ausgetauscht aber hat auch nicht hingehauen.

So hier meine delete.php:
01.
 
02.
echo "$para"; //Zeile 11 
03.
 
04.
$sql = "DELETE FROM infotain_neu WHERE Servername = $para"; //Zeile 13 
05.
mysql_query($sql) or die ("Es ist ein Fehler aufgetreten"); 
06.
 
07.
 
Und folgender Fehler tritt auf der delete.php auf:

Notice: Undefined variable: para in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 11

Notice: Undefined variable: para in E:\TYPO3\htdocs\prokom srv manager\delete.php on line 13
Es ist ein Fehler aufgetreten


So och habe doch deinen Rat befolgt, oder bin ich grade zu blind dafür das hinzubekommen?

Danke nochmal!

Chribu
Bitte warten ..
Mitglied: Chribu
19.09.2006 um 10:59 Uhr
Alles okay es läuft jetzt!

Ich habe es hinbekommen, indem ich die Variablen davor nochmal gesetzt habe!

Genau so:

(delete.php)

01.
 
02.
$para=$_GET['para']; 
03.
echo "<font color='red'>Der Server '".$_GET['para']."' wurde gelöscht!</color>
04.
"; 
05.
echo "<a href='form3t.php' class='link1'>Zurück zum Formular</a>"
06.
$sql = "DELETE FROM infotain_neu WHERE Servername = '".$_GET['para']."'"
07.
 
Und hier meine Ergebnisseite:
01.
 
02.
  $dd=$_POST['dd']; 
03.
   echo "<a onclick='return confirmSubmit()' href='delete.php?para=$dd' class='link1'>Löschen</a>"
04.
 
Danke nochmal an ALLE!

Cya

Chribu
Bitte warten ..
Ähnliche Inhalte
Datenbanken

ODBC Timeout bei Datensatz löschen bzw. SQL MStudio läuft sich tot

Frage von greatmgmDatenbanken2 Kommentare

Hallo zusammen, stehe vor einem Rätsel Access greift via ODBC auf eine SQL 2008 R2 Datenbank zu. In einer ...

Datenbanken

SQL: Anzahl von Datensätzen bei JOIN

Frage von BirdyBDatenbanken2 Kommentare

Hallo zusammen, ich stehe gerade etwas auf dem Schlauch und hoffe auf eure Hilfe. Gegeben sind in unserer SQL ...

Microsoft Office

Serienbrief Nächster Datensatz Wenn

Frage von Druide83Microsoft Office2 Kommentare

Hallo, ist das erste mal dass ich mit Serienbriefen in Word zu tun habe und mir fehlt auch nur ...

Datenbanken

Datensatz hinzufügen, nicht überschreiben Access

gelöst Frage von Dr.CornwallisDatenbanken19 Kommentare

Liebe Gemeinde, ich habe folgenden Code (bei Button klick): Wähle ich mit diesem Code einen anderen Wert im Kombifeld ...

Neue Wissensbeiträge
Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 10 StundenServer-Hardware1 Kommentar

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 15 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 16 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Windows Tools

Windows 10 BitLocker Laufwerkverschlüsselung ohne TPM-Chip

Anleitung von Frank vor 16 StundenWindows Tools4 Kommentare

Diese Anleitung zeigt, wie man die Windows BitLocker Laufwerkverschlüsselung ohne TPM-Chip Schritt für Schritt aktiviert. Zwar haben viele Laptops ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V33 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Voice over IP
Umstellung Anlagenanschluss ISDN auf IP - Welcher Router?
Frage von ToniSchmidtVoice over IP12 Kommentare

Hallo zusammen, zum Ende des Jahres werden unsere geliebten ISDN Anlagenanschlüsse zwangsweise auf IP Anschlüsse umgestellt. Wir betreiben die ...

Firewall
Externer Zugriff auf Webserver
Frage von KingLouieFirewall12 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ein Kollege muss gelegentlich auf einen Webserver zugreiffen, sowohl von intern als auch ...