externes löschen von Daten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
betreff
code
dank
date
datenbank
datum
eintrag
eintragen
email
ergebnis
feld
frage
funktion
inhalt
mache
menge
person
speichern
start
text
-
Hallo!
Ich würde gerne soetwas wie ein Admin bereich für meine seite machen,doch hierzu hab ich noch fragen:
1.Wie lösche ich gezielt einen Beitrag,auf den vorher eine Person geklickt hat (Person = Admin)
2.Wie mache icheinen guten Passwortschutz (also nicht mit if(Name........ AND Passwort....) sondern so das ein hacker garnicht erst das Passwort herausfindet! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
zu 1.) Einfach:
<a href="?delete=<ID DES BEITRAGS>">Löschen!</a>
und
if (isset($_GET['delete'])) { //SQL-Query, die den Beitrag löscht, z.B.: mysql_query("DELETE FROM ´beitraege´ WHERE id = '".mysql_real_escape_string($_GET['delete'])."'"); }
zu 2.)
mit htaccess (Google fragen!)
LG cookies
Beitrag zuletzt geändert: 30.11.2009 16:28:10 von cookies -
Ihrgenwie funktioniert das nicht so wie ich es will .....
-
gaestefun schrieb:
Ihrgenwie funktioniert das nicht so wie ich es will .....
was funktioniert nicht wie du willst?
das löschen oder der password schutz? -
Anzeigen der Beiträge
<?php $seite = $_GET["seite"]; if(!isset($seite)) { $seite = 1; } function Text( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[size= big\](.*?)\[\/size\]/', '<h1>$1</h1>', $bb); $bb = preg_replace('/\[size= large\](.*?)\[\/size\]/', '<h2>$1</h2>', $bb); $bb = preg_replace('/\[size= small\](.*?)\[\/size\]/', '<h6>$1</h6>', $bb); $bb = preg_replace('/\[li\](.*?)\[\/li\]/', '<li>$1</li>', $bb); $bb = preg_replace('/\[line\](.*?)\[\/line\]/', '<hr />$1', $bb); $bb = preg_replace('/\[quote\](.*?)\[\/quote\]/', '<pre style="background-color: #C0C0C0;border-left: solid;border-left-color: #000000">$1</pre>', $bb); $bb = preg_replace('/\[happy\](.*?)\[\/happy\]/', ' <img src="supersmile.gif" border="0" height="30" width="40" alt="happy" />$1', $bb); $bb = preg_replace('/\[sad\](.*?)\[\/sad\]/', '<img src="angry.gif" border="0" height="30" width="40" alt="Böse" /> $1', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb); $bb = preg_replace('/\[img=([^ ]+).*\](.*)\[\/img\]/', '<img src="$1" height="50" width="50"/>$2', $bb); $bb = preg_replace('/\n/', "<br/>\n", $bb); return $bb; } $link = mysql_connect("Datenbank","User","Passwort") or die ("Server möglicherweiße offline!"); mysql_select_db("Meine DB") or die ("Die Datenbank existiert nicht"); $eintraege_pro_seite = 30; $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; $abfrage = "SELECT * FROM gaestebuch WHERE aktiv = '1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel; if($row->email == "") { $name = "<b>$row->name</b>"; $mail = ""; } else { $name = "<a href=\"mailto:$row->email\">$row->name</a>"; } $formatiert = Text( $text ); echo " <div id=\"Fusszeile\" > <div id=\"Test\"> <table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"6\" bgcolor=\"#000000\" width=\"100%\"> <td bgcolor=\"#000000\" style=\"background-image:url(ueber.jpg);color: #000000 ;\" name=\"Titel\" > <b>$Titel</b><pre><a href=\"eingang.php\">Zitieren<a> <a href=\"eingang.php\">Löschen<a></pre> </td> <tr> <td style=\"background-image:url(Pape.jpg);\"> $formatiert <br /> <br /> <br /> </td> </div> </td> <tr bgcolor=\"#666666\"> <td> Von <b>$name</b> $mail am <b>$datum</b> </td> </tr> </div> </tr> </table> </div> </div> <br /> "; } $result = mysql_query("SELECT id FROM gaestebuch WHERE aktiv = '1'"); $menge = mysql_num_rows($result); $wieviel_seiten = $menge / $eintraege_pro_seite; echo "<div align=\"center\">"; echo "<b>Seite:</b> "; for($a=0; $a < $wieviel_seiten; $a++) { $b = $a + 1; if($seite == $b) { echo " <b>$b</b> "; } else { echo " <a href=\"?seite=$b\">$b</a> "; } } echo "</div>"; $nam = $_POST["name_u"] ; $tit = $_POST["titel_u"] ; echo" <h2>Um beiträge zu schreiben muss man eingelogt sein !</h2> <form action=\"login.php\" method=\"post\"> Dein Username:<br> <input type=\"text\" size=\"24\" maxlength=\"50\" name=\"username\"><br><br> Dein Passwort:<br> <input type=\"password\" size=\"24\" maxlength=\"50\" name=\"password\"><br> <input type=\"submit\" value=\"Login\"><br /><br /> </form> Noch kein Account ?<br /> <a href=\"eintragen.html\">Dann schnell registrieren!</a> </form> " ?>
Das eintragen
<?php //Beitrag speichern $link = mysql_connect("Server","Passwort") or die ("ERROR #1:<br />Keine Verbindung moeglich"); mysql_select_db("DB") or die ("ERROR #2: <br /> Die Datenbank existiert nicht "); $name = $_POST["name"]; $alter = $_POST["alter"]; $inhalt = $_POST["inhalt"]; $titel = $_POST["titel"]; $email = $_POST["email"]; $ueber = $_POST["ueber"]; echo"Ich weiß wo deine E-mail wohnt:<br />$email<br /><br />"; $datum = time(); $aktiv = 1; //1: Einträge werden aktiviert gespeichert, 2: Einträge werden deaktiviert gespeichert //Wurden die benötigten Felder ausgefüllt? if($name == "" OR $inhalt == "" OR $titel == "") { echo "ERROR #3:<br />Bitte die Felder \"Name\" , \"Titel\" und \"Inhalt\" ausfüllen <br> <a href=\"Test.php\">Zurück</a>"; exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert } $empfaenger = "$email"; $betreff = "Eintrag auf gaesefun-limacity.de"; $text = "Danke für deinen Eintrag bei uns wenn du fragen hast schick einfach eine e-mail an: $sendermail."; mail($empfaenger, $betreff, $text, "From: Hermes <Dein Gaestefun Postbote>"); $eintrag = "INSERT INTO gaestebuch (datum, name, email, inhalt, aktiv, Titel,u_Titel) VALUES ('$datum', '$name', '$email', '$inhalt', '$aktiv', '$titel', '$ueber')"; $eintragen = mysql_query($eintrag); //Wurde der Eintrag erfolgreich gespeichert? if($eintragen == true) { echo "<img src=\"progress.gif\"></img>Beitrag erfolgreich gespeichert. "; } else { echo "Error #4: <br /> Fehler beim Speichern"; } echo "<br> <a href=\"Test.php\">Beitrag Ansehen</a> <br> <a href=\"fb.php\">Zurück zur Übersicht</a>"; ?>
Ich hoffe es Hilft euch etwas^^
PS:Ich hab mind 1h gegooglet aber nichts wirklich hilfreiches Gefunden -
ich hab mal einen teil deines code genommen und überarbeitet.
ich hoffe du hast eine ID in der Tabelle ansonsten wird es bisschen umständlicher
while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel; // ID zum löschen holen $id = $row->ID ... ... // ID zum löschen übergeben <a href=\"eingang.php?delete=".$id."\">Löschen<a>
und in der eingang.php muss du dann folgendes abfragen:
if (isset($_GET['delete'])) { //SQL-Query, die den Beitrag löscht, z.B.: if (mysql_query("DELETE FROM gaestebuch WHERE id = '".$_GET['delete']."'")) { echo "Löschen erfolgreich"; } }
du musst jetzt halt jetzt noch prüfen welcher user auf löschen geklickt hat.
ich würde es aber so machen, das der link "Löschen" nur angezeigt wird, wenn der berechtigte User angemeldet ist.
hoffe das hilft dir... -
DANKE
hat funktioniert,im moment ist der Passwortschutz zwar noch leich improvisiert,aber geht^^
Aber ich hab jetzt noch ne frage:
Wie mache ich so etwas wie eine Zitieren-Funktion,ich hab e schon versucht genau so wie die löschen funktion zu machen,aber das funktioniert nicht so ganz........
Gibt es noch andere möglichkeiten?
Beitrag zuletzt geändert: 1.12.2009 14:59:39 von gaestefun -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage