php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.05.2005, 10:48  
Benutzer
 
Registriert seit: 31.12.2004
Beiträge: 62
Adrenochrom
Standard Aktualität von Daten

Tacho,
und zwar hab ich ein Problem mit der Aktualität von Daten. Keine Ahnung wie ich des anders formulieren soll. Ich versuch ma zu erklären:
Ich hab mir ein schönes PN - System gebastelt, klappt auch alles wunderbar. Jetz hab ich eine Seite, wo alle Nachrichten (die man erhalten hat) aufgelistet werden. Wenn ich aber jetzt eine Nachricht löschen möchte, löscht sie die zwar, aber ich muss dann die Aktualität von Daten, damit diese Nachricht nicht mehr angezeigt wird. Ich hoffe ihr versteht was ich meine.

Man könnte natürlich das Problem mit einer Bestätigungsnachricht lösen, die dann ungefähr so ausschaut
Zitat:
Deine Nachricht(en) wurde(n) gelöscht. Weiter
und dann das ganze in eine if-Anweisung hauen.
Wollte mich aber erstma erkundigen, ob es da nicht elegantere, schnellere und/oder schönere Lösungen / Ideen gibt.
Adrenochrom ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.05.2005, 10:54  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Einfach die Daten löschen, bevor du sie alle ausliest....

oder beim auslesen, ich vermute, dass du das in einer while-schleife machst, immer fragen if($row["ID"] != $_GET["ID"]) oder so.
Buhmann ist offline  
Alt 15.05.2005, 11:42  
Benutzer
 
Registriert seit: 31.12.2004
Beiträge: 62
Adrenochrom
Standard

Also meine Dateien schauen zur Zeit so aus:
mm.php
PHP-Code:
<?php
session_start
();

// Header und Template uncluden
include ("includes/header.php");
include_once 
"includes/class_ktemplate.inc.php";

// Instanz für das Template erstellen
$t = new KTemplate("templates/mm.html");

// Daten für MMs holen
$mm_sql mysql_query("SELECT id, von_name, zu_name, timestamp, nachricht, betreff, gelesen, geloescht
                       FROM mm
                       WHERE geloescht = '0' AND zu_name = '$username'
                       ORDER BY timestamp DESC"
)
                       or die (
mysql_error());


$t_mms $t -> fetchBlock("mms");
while (
$mms mysql_fetch_array($mm_sql))
    {
        
$t_mms -> assign("von_name",$mms['von_name']);
        
$mmsid $mms['id'];
        
$mmsbetreff $mms['betreff'];
        
$betreff "<a href=\"mmread.php?id=$mmsid\">$mmsbetreff</a>";
        
$t_mms -> assign("betreff",$betreff);
        
$t_mms -> assign("zeit",$mms['timestamp']);
        if(
$mms['gelesen'] == 0)
            {
                
$gelesen 'Nein';
            }
        else
            {
                
$gelesen 'Ja';
            }
        
$t_mms -> assign("gelesen",$gelesen);
        
$t_mms -> assign("checkid",$mms['id']);
        
$t -> assign("mms",$t_mms);
        
$t_mms -> reset();
    }

// Nachricht löschen
if(isset($_POST['loeschen']))
    {
        
mysql_query("UPDATE mm
                     SET geloescht = '1'
                     WHERE id = '$mmsid'"
)
                     or die (
mysql_error());
    }

// Template ausgeben
$t -> out();

// Footer includen
include ("includes/footer.php");
?>
und mein Template mm.html
Code:
<html>
<head>
</head>
</body>
<table width="100%" align="left">
  <tr>
    <td width="84%" align="left" valign="top" bgcolor="#C4C4FF"><span class="style11"></span>
      

      <table width="80%" border="0" align="center" cellpadding="0">
        <tr bgcolor="#9797FF" class="style2">
          <td width="294" class="style2"><div align="center">MobileMessaging - System </div></td>
        </tr>
        <tr bgcolor="#B7B7FF" class="style1">
          <td class="style2"><div align="center">

		      Neue Nachricht schreiben</div>
            

			<center>
      <form name="delete_mm" method="post" action="mm.php">
<table width="90%"  border="0">
  <tr>
    <td width="18%"><div align="center">Von</div></td>
    <td width="35%"><div align="center">Betreff</div></td>
    <td width="20%"><div align="center">Zeit</div></td>
    <td width="11%"><div align="center">Gelesen</div></td>
    <td width="16%"><div align="center">L&ouml;schen</div></td>
  </tr>
  
  <tr>
    <td><div align="center">{von_name}</div></td>
    <td><div align="center">{betreff}</div></td>
    <td><div align="center">{zeit}</div></td>
    <td><div align="center">{gelesen}</div></td>
    <td><div align="center"><input type="checkbox" name="{checkid}" value="{checkid}"></div></td>
  </tr>
  
  <tr>
    <td></td>
    <td><div align="center"></div></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td><div align="center"></div></td>
    <td></td>
    <td></td>
    <td><div align="center">
      <input name="loeschen" type="submit" id="loeschen" value="L&ouml;schen">
    </div></td>
  </tr>
</table>
      </form>



			</center>
		  </td>
        </tr>
      </table>
      
      </td>
  </tr>
</table>
</body>
</html>
Um dann mehrere Nachrichten zu löschen muss ich dann eine while-Schleife machen, das weiß ich. Wollte es jedoch erstma ausprobieren

Jetz ist mir gerade was wichtigeres aufgefallen Es wird komischerweise immer die darunterliegende Nachricht gelöscht Was ich nicht verstehe, da ja die ID angegeben ist.
Adrenochrom ist offline  
Alt 15.05.2005, 11:48  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

PHP-Code:
<?php 
session_start
(); 

// Header und Template uncluden 
include ("includes/header.php"); 
include_once 
"includes/class_ktemplate.inc.php"

// Instanz für das Template erstellen 
$t = new KTemplate("templates/mm.html"); 


// Nachricht löschen 
if(isset($_POST['loeschen'])) 
    { 
        
mysql_query("UPDATE mm 
                     SET geloescht = '1' 
                     WHERE id = '$mmsid'"

                     or die (
mysql_error()); 
    } 

// Daten für MMs holen 
$mm_sql mysql_query("SELECT id, von_name, zu_name, timestamp, nachricht, betreff, gelesen, geloescht 
                       FROM mm 
                       WHERE geloescht = '0' AND zu_name = '$username' 
                       ORDER BY timestamp DESC"

                       or die (
mysql_error()); 


$t_mms $t -> fetchBlock("mms"); 
while (
$mms mysql_fetch_array($mm_sql)) 
    { 
        
$t_mms -> assign("von_name",$mms['von_name']); 
        
$mmsid $mms['id']; 
        
$mmsbetreff $mms['betreff']; 
        
$betreff "<a href=\"mmread.php?id=$mmsid\">$mmsbetreff</a>"
        
$t_mms -> assign("betreff",$betreff); 
        
$t_mms -> assign("zeit",$mms['timestamp']); 
        if(
$mms['gelesen'] == 0
            { 
                
$gelesen 'Nein'
            } 
        else 
            { 
                
$gelesen 'Ja'
            } 
        
$t_mms -> assign("gelesen",$gelesen); 
        
$t_mms -> assign("checkid",$mms['id']); 
        
$t -> assign("mms",$t_mms); 
        
$t_mms -> reset(); 
    } 


// Template ausgeben 
$t -> out(); 

// Footer includen 
include ("includes/footer.php"); 
?>

aber sicher scheint mir das script nicht zu sein, bei dir kann ja jeder user jede nachricht löschen, wenn er die id kennt
Buhmann ist offline  
Alt 15.05.2005, 11:52  
Benutzer
 
Registriert seit: 31.12.2004
Beiträge: 62
Adrenochrom
Standard

Ich weiß, aber ich wollte erstma schauen, daß das auch alles funktioniert und mich dann später um die Sicherheit kümmern.
Adrenochrom ist offline  
 


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
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
speicherung der daten bei stromausfall? MrCavity Datenbanken 2 19.11.2005 17:39
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
[Erledigt] Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten überschreiben in einer txt datei!? CHRIS PHP Tipps 2005 2 02.03.2005 15:02
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
Daten übergeben kampfnickel PHP Tipps 2005 4 05.01.2005 14:12
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
Übertragung von Daten zwischen Anmeldeschritten PHP Tipps 2004 6 18.06.2004 20:32
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
reset mmsid

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