SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.03.2016, 16:52:02
phyton2706 phyton2706 ist offline
Anfänger
 
Registriert seit: Mar 2016
Alter: 49
Beiträge: 2
Probleme beim Löschen eines Datensatz

Hallo zusammen,

habe ein Problem beim Löschen eines Datensatzes aus einer MySQL-Datenbank.

Hier ist mein PHP-Script:
PHP-Code:
<?php 
require_once ('konfiguration.php');
$db_link mysqli_connect MYSQL_HOST
                     
MYSQL_BENUTZER
                     
MYSQL_KENNWORT
                     
MYSQL_DATENBANK
                    
);
?>

<!DOCTYPE html>
<html lang="de">
<head>
</head>
<body>
<div class="inside">
<h1>Löschen von Lösungen</h1>
<br>
<a href="new.php">Lösungscodes anlegen</a> | <a href="show.php">Lösungscodes zeigen</a> | <span class="active">Lösungscodes löschen</span>
<br><br>
<?php

if (!empty($_POST["artnr"])) {
    
$artnr $_POST["artnr"];
    }
else 
$artnr "";

if (!empty(
$_POST["code"])) {
    
$code $_POST["code"];
    }
else 
$code "";

if (!empty (
$_POST["delete"])){
    
    if (!empty (
$artnr)){
        
$sel ="SELECT * FROM `loesungen` WHERE `artnr` = ".$artnr." LIMIT 1";
        
$ergebnis mysqli_query($db_link$sel) or die(mysql_error());
        
$row mysqli_fetch_array($ergebnis);
        
$anzahl $ergebnis->num_rows;
        if (
$anzahl != "1") {die("<center>Fehler: ARTIKELNUMMER nicht vorhanden! Klick in Deinem Browser auf ZURÜCK um fortzufahren!</center>");}

        
$sql "DELETE FROM `loesungen` WHERE `id` = '$row[id]' LIMIT 1";
        
$del mysqli_query($db_link$sql) or die(mysql_error());
        
unlink ("data/".$artnr.".jpg");
    }
    elseif (!empty (
$code)){

        
$sel "SELECT * FROM `loesungen` WHERE `passwort` = ".$code." LIMIT 1";
        
$result mysqli_query($db_link$sel) or die(mysql_error());
        
$row mysqli_fetch_array($result);
        
$anz $result->num_rows;
        if (
$anz != "1") {die("<center>Fehler: PASSWORT nicht vorhanden! Klick in Deinem Browser auf ZURÜCK um fortzufahren!</center>");}

        
$loe "DELETE FROM `loesungen` WHERE `id` = '$row[id]' LIMIT 1";
        
$del mysqli_query($db_link$loe) or die(mysql_error());
        
        
unlink ("data/".$row[artnr].".jpg");
    }
    else {
        echo 
"<center>Fehler: Keine Eingabe erfolgt!</center>";
    }
}
?>
<form method="post" action="del.php">
<br><b><u>WICHTIG:</u></b> nur <b>EINE ANGABE</b> machen!<br><br>
<table>
   <tr>
     <th>Artikelnummer: </th>
     <th>Code: </th>
   </tr>
   <tr class="even">
     <td><input type="text" name="artnr"></td>
     <td><input type="text" name="code"></td>
   </tr>
</table>
<br>
<input type="submit" name="delete" value="LÖSCHEN!">
<br><br>
</div>
</body>
</html>
Mit dem Script lässt sich ein Daten-Satz löschen, wenn ich über das Formular eine Artikel-Nr. eingebe.
Versuche ich aber einen Daten-Satz zu löschen, indem ich einen Code eingebe, passiert nichts...
Auf der Seite erscheint nur noch das Menü, welches über der ersten PHP-Anweisung steht.

Ich hoffe Ihr könnt mir bei meinem Code etwas auf die Sprünge helfen...

LG
Frank
Mit Zitat antworten
  #2  
Alt 21.03.2016, 17:53:27
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Probleme beim Löschen eines Datensatz

Hallo und willkommen hier im Forum.


Schalte de Anzeige von Fehlermeldungen ein/höher, dann sollte die Seite nicht weiß bleiben wenn noch Fehler vorhanden sind:
PHP-Code:
<?php
error_reporting
(-1);   
ini_set('display_errors'TRUE);   
?>
  • Übernimm keine Usereingaben ungeprüft!
  • Prüfe - trotz Warnung - ob beide Felder gefüllt wurden.
  • Lass Dir den Inhalt von $_POST ausgeben - stimmt der Inhalt?
  • Wenn Du mysqli benutzt, dann aber auch konsequent (siehe mysql_error()).
  • Baue Debug-Punkte in Deinen Code ein, um zu testen inwieweit Dein Script abgearbeitet wird.

Wie sieht es jetzt aus?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 21.03.2016, 20:13:58
phyton2706 phyton2706 ist offline
Anfänger
 
Registriert seit: Mar 2016
Alter: 49
Beiträge: 2
AW: Probleme beim Löschen eines Datensatz

Hallo vt1816,

vielen Dank für Deinen Tipp. Nachdem ich mit nun jeden Schritt einzeln ausgeben lassen habe, konnte ich den Fehler eingrenzen.

Hier mein neuer Code (zumindest der nach dem elseif):
PHP-Code:
elseif (!empty ($code)){

        
$sel "SELECT * FROM `loesung` WHERE `passwort` = \"".$code."\" LIMIT 1";
        
$result mysqli_query($db_link$sel) or die(mysqli_error());
        while (
$row mysqli_fetch_assoc($result)) {
                
$id $row["id"];
                
$art $row["artnr"];
                
$pw $row["passwort"];
        }
        
$anz $result->num_rows;
        if (
$anz != "1") {die("<center>Fehler: PASSWORT nicht vorhanden!</center>");}
        
        
// $sql2 = "DELETE FROM `loesung` WHERE `artnr` = ".$artnr." LIMIT 1";
        
$loe "DELETE FROM `loesung` WHERE `id` = ".$id." LIMIT 1";
        
$del mysqli_query($db_link$loe) or die(mysql_error());
        
unlink ("data/".$art.".jpg");
        
        echo 
"<p>Folgende Daten wurden gelöscht:<br><br>Lösungs-Name: <b>".$art."</b><br>Passwort: <b>".$pw."</b><br>Name der Bild-Datei: <b>".$art.".jpg</b></p>";
    }
    else {
        echo 
"<center>Fehler: Bitte entweder einen Lösungs-Namen oder einen CODE eingeben!</center>";
    } 
Jetzt klappt das Löschen durch die Eingabe einer der beiden Werte korrekt.

Frank
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DB verkleinern: jeden 2. Datensatz löschen lasser MySQLi/PDO/(MySQL) 9 06.10.2010 14:21:12
Datensatz per link löschen Extremefall PHP Grundlagen 4 02.01.2010 16:17:32
Bilder aus Ordner löschen + passenden Datensatz (MySql) Auf der Mauer MySQLi/PDO/(MySQL) 15 25.07.2009 14:21:23
Probleme beim löschen aus der DB Tyraell PHP Grundlagen 7 29.12.2006 12:20:45
MYSQL Datensatz verschieben und löschen Schnoop PHP für Fortgeschrittene und Experten 6 21.01.2004 16:50:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:33:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt