Antworten auf deine Fragen:
Neues Thema erstellen

Admin Bereich für kleines Forum?

A

aydesign

Guest

Hi

hab hier das Tutorial benutzt: http://net.tutsplus.com/tutorials/php/how-to-create-a-phpmysql-powered-forum-from-scratch/

Jetzt würd ich gerne einen kleinen Admin Bereich machen, in dem ich Beiträge löschen kann, wenn diese gegen die Forenregeln verstoßen.

Aber wie könn ich das am besten anfangen? Ich hab hier die Tabele die ich auslesen möchte:

Code:
    CREATE TABLE topics (  
    topic_id        INT(8) NOT NULL AUTO_INCREMENT,  
    topic_subject       VARCHAR(255) NOT NULL,  
    topic_date      DATETIME NOT NULL,  
    topic_cat       INT(8) NOT NULL,  
    topic_by        INT(8) NOT NULL,  
    PRIMARY KEY (topic_id)  
    ) TYPE=INNODB;

Vielleicht könnte mir jemand zeigen wie man das macht, dass man praktisch alle Topics Einträge in z.B. einer Tabelle anzeigen lassen kann und dann gegebenenfalls auch löschen.

Danke im Voraus ;)
 

Lizzard

Aufmerksamer

AW: Admin Bereich für kleines Forum?

Hallo aydesign,
die Tabelle kannst du mit einer SELECT-Anweisung (SELECT * FROM....) auslesen. Mit DELETE FROM löscht du dann Einträge. Deinem Post entnehme ich aber dass du dich noch nicht wirklich mit MySQL auseinandergesetzt hast. Das Auslesen von Tabellen und löschen von Einträgen sind absolute Grundlagen! Hierzu würde ich dir vorschlagen noch ein paar Tutorials zu versuchen, dann wird es schon klappen.

Gruß vom Lizzard
 

fakerer

Aktives Mitglied

AW: Admin Bereich für kleines Forum?

ich würde eher bei jedem Beitrag einen Löschen Button anzeigen wenn man als admin eingelogt ist.
Ich denke alle in einer Liste, da wird das ganze sehr unübersichtlich.
 
A

aydesign

Guest

AW: Admin Bereich für kleines Forum?

Hi,

danke für die Antworten! Ich hab es jetzt schon mal geschaft die Werte auszulesen:

PHP:
$auflisten = 'SELECT
                    topic_id,
                    topic_subject,
                    topic_date,
                    topic_cat,
                    topic_by
                FROM
                    topics';
Und das ganze wird dann so in einer Tabelle angezeigt:

PHP:
$db_erg = mysql_query( $auflisten );
if ( ! $db_erg )
{
  die('Datenbank Fehler: ' . mysql_error());
}

echo '<table width="650" class="designtable" border="0" cellspacing="0" cellpadding="0">';
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
  echo "<tr>";
  echo "<td width='20'><strong>". $zeile['topic_id'] . "</strong></td>";
  echo "<td width='320'>". $zeile['topic_subject'] . "</td>";
  echo "<td width='150'>". $zeile['topic_date'] . "</td>";
  echo "<td width='80'>". $zeile['topic_cat'] . "</td>";
  echo "<td width='80'>". $zeile['topic_by'] . "</td>";
  echo "</tr>";
}
echo "</table>";

mysql_free_result( $db_erg );
Klappt auch, aber wie mach ich das jetzt mit dem löschen? Kann ich da nocht eine weitere Spalte einfügen mit einem Befehl zum Lösches?

Würde mich über eine ausführliche Antwort freuen :D


Danke
 

dlogic

Allrounder

Ja, du könntest eine weitere Spalte einfügen in welcher
a) ein Löschen Button oder
b) eine Check-Box eingefügt wird

Wobei die Löschen Button Variante die einfachere, jedoch auf Dauer nervige, Lösung ist. Hierbei übergibst du dann die jeweilige topic_id an die DELETE SQL Query um so den Datensatz aus der DB zu löschen.

Ach so, hier noch ein Denkanstoss:

PHP:
<input type="button" name="topic_id" value="<? echo $topic_id ; ?>">
und
PHP:
if (isset($_POST['topic_id'])) {
$sql = "delete from xyz where topic_id='".$_POST['topic_id']."'";
echo mysql_error();
}

Wobie es evtl. hier noch eine Validierung der Variablen geben sollte und je nach Wunsch evtl. Fehler mysql Fehler ausgegeben werden sollen oder nicht...
 
Zuletzt bearbeitet von einem Moderator:
A

aydesign

Guest

AW: Admin Bereich für kleines Forum?

Danke für die Antwort.

Hab es mal ausprobiert. Es wird mir zwar keine Fehlermeldung angezeigt aber es funktioniert leider nicht.

Der Löschbutton zeigt auch die richtige ID an. Ich poste mal den Code der Seite:

PHP:
if(!mysql_connect($host, $username, $password))
{
     exit('Keine Verbindung zur Datenbank.');
}
if(!mysql_select_db($database))
{
     exit('Keine Verbindung zur Datenbank / Tabelle.');
}

if (isset($_POST['topic_id'])) {
$sql = "DELETE from topics WHERE topic_id='".$_POST['topic_id']."'";
echo mysql_error();
}  

$auflisten = 'SELECT
                    topic_id,
                    topic_subject,
                    topic_date,
                    topic_cat,
                    topic_by
                FROM
                    topics';

echo '<strong><u>Themen im Forum:</u></strong>';
echo '<br /><br />';
echo '<table width="700" class="designtable" border="0" cellspacing="0" cellpadding="0">
          <tr>
             <td width="20"><strong>ID</strong></td>
             <td width="250"><strong>Betreff</strong></td>
            <td width="150"><strong>Datum</strong></td>
            <td width="80"><strong>Kategorie ID</strong></td>
            <td width="80"><strong>Benutzer ID</strong></td>
          <td width="120"><strong>Löschen</strong></td>
          </tr>
        </table>';

$db_erg = mysql_query( $auflisten );
if ( ! $db_erg )
{
  die('Datenbank Fehler: ' . mysql_error());
}

echo '<table width="700" class="designtable" border="0" cellspacing="0" cellpadding="0">';
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
  echo "<tr>";
  echo "<td width='20'><strong>". $zeile['topic_id'] . "</strong></td>";
  echo "<td width='250'>". $zeile['topic_subject'] . "</td>";
  echo "<td width='150'>". $zeile['topic_date'] . "</td>";
  echo "<td width='80'>". $zeile['topic_cat'] . "</td>";
  echo "<td width='80'>". $zeile['topic_by'] . "</td>";
  echo "<td width='120'><form name='delete' method='post' action='".$_POST['topic_id']."'>
          <label>
          <input type='submit' name='". $zeile['topic_id'] ."' value='". $zeile['topic_id'] ."'>
          </label>
         </form></td>";
  echo "</tr>";
}
echo "</table>";

mysql_free_result( $db_erg );

?>
 

Doitsu

Aktives Mitglied

AW: Admin Bereich für kleines Forum?

[..] name='". $zeile['topic_id'] ."' [..]
Der Name ist in dem Fall 1, 2, 3 .. jenachdem welche ID gerade ausgelesen wurde.. Sprich: du bekommst $_POST['3'] == 3 im PHP-script .. Genau so falsch ist die action (action="PHP-DATEI"), du wirst also auf die Seite '3' weiter geleitet, sobald du den Submitbutton drueckst.

PS: "Funktioniert nicht" ist keine Fehlerbeschreibung.
 
A

aydesign

Guest

AW: Admin Bereich für kleines Forum?

"Funktioniert nicht" triffts aber genau :D Ich meine es wird keine Fehlermeldung ausgegeben, aber wenn ich den Button drücke passiert einfach nichts außer dass anscheinen die Seite neu aufgerufen wird.

Ihr könnt mich ja noch ein bisschen genauer aufklären was ich falsch gemacht habe ;) z.B. was soll ich dann als action=..... eingeben und wie schaf ich es dass er die id übermittelt?
 

Doitsu

Aktives Mitglied

AW: Admin Bereich für kleines Forum?

Wieso? Es stht alles da, was du brauchst:

was soll ich dann als action=..... eingeben
Genau so falsch ist die action (action="PHP-DATEI"),
und wie schaf ich es dass er die id übermittelt?

Der Name ist in dem Fall 1, 2, 3 .. jenachdem welche ID gerade ausgelesen wurde.. Sprich: du bekommst $_POST['3'] == 3 im PHP-script ..
.. also gib einfach mal was anderes als Name an, und gebe dir die Post-Daten im PHP-Script aus.
 
A

aydesign

Guest

AW: Admin Bereich für kleines Forum?

Erstmal danke für die Antworten :D

Ich habs jetzt so gelöst, dass ich nicht einen Button verwende, sondern einen normael Textlink mit .$row['topic_id']. und hab mir noch paar tutorials zum thema durchgelesen und nach ein bissal basteln und werken hab ich es dann endlich geschafft!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.613
Beiträge
1.538.346
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben