Jetzt kostenlos Anmelden!


Knuddi Männlich

kennen Einige hier

Beiträge: 344

Geschlecht: Männlich

PHPKIT Version: 1.6.1

11

Dienstag, 24. November 2009, 08:22

Warum denkt ihr immer so kompliziert, obwohl es so einfach ist oO speicher als gast die id 0 rein und als registrierter user die normale id. Das ganze fragt man dann ab, ob dem User diese ID gehört oder nicht, wenn ja, wird der editbutton angezeigt und zu Sicherheitszwecken noch für Admins mit. Ich poste dir nachher mal einen Beispielcode wenn ich auf Arbeit bin, da ich dann mehr Zeit habe. Auf jedenfall muss in die DB-Tabelle eine Spalte mit ID. Du kannst auch noch so machen, das er auch time mit reinspeichert und nen Counter, der zählt wieviel mal editiert wurde. Aber das ist dann dir überlassen. Und wie gesagt nachher kommt der Beispielcode von mir.

edit:

so hier nun der code:

Füge das mit in deine Insert Into zum speichern in die DB

PHP-Quelltext

1
user_id='".$USER['id']."',

das user_id kannst du benennen wie du möchtest in der db.

Zum editieren brauchst du diese Zeilen:

PHP-Quelltext

1
2
3
4
5
6
$editid $_REQUEST['editid'];
 if (!$_REQUEST['id'] && $USER['id']!=0$id=$USER['id'];
 else $id=$_REQUEST['id'];

 $userinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user']." where user_id='".$id."' LIMIT 1"));
$acwwbloginfo1 $DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user_blog_acww']." WHERE acwwblogid='".$editid."' LIMIT 1"));

die letzte Zeile ist nur ein Beispiel damit du weisst wie man das wieder holen soll zum editieren, das kannst du dir selber anpassen.

PHP-Quelltext

1
2
3
4
5
6
7
  if (isset($_POST['action'])) $ACTION=$_POST['action'];
  else $ACTION='non';
 if ($ACTION==$_POST['save']) {
   $blogtitle=addslashes($_POST['blogtitle']);
  $acwwblog=addslashes($_POST['acwwblog']);

  $DB->query("UPDATE ".$db_tab['user_blog_acww']." SET acwwblogid='".$editid."', blogtitle='".$blogtitle."', acwwblog='".addslashes($_POST['content'])."', time='".time()."', edituserid='".$USER['id']."', edittime='".time()."', editcount=editcount+1 WHERE acwwblogid='".$editid."' LIMIT 1");

Bitte auch hier wieder mit eigenen Werten anpassen.

PHP-Quelltext

1
2
3
4
$acwwblog=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user_blog_acww']." WHERE acwwblogid='".$editid."' LIMIT 1"));

      $blogtitle htmlentities(stripslashes($acwwblog['blogtitle']));
      $acwwblog htmlentities(stripslashes($acwwblog['acwwblog']));

für die Ausgabe selbst anpassen. da gibs viele Dinge genauso mit dem Dropdownmenü da muss man selected abfragen, was ich hier erstmal nicht posten kann, aber du willst ja selbst lernen ;)

dann fragst du weiter unten ab wo dann das mit dem editierungsformular kommt:

PHP-Quelltext

1
2
3
4
5
$userinfo $DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_id='".$USER['id']."'"));

$acwwbloginfo $DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user_blog_acww']." WHERE acwwblogid='".$editid."' LIMIT 1"));
if ($acwwbloginfo['user_id']==$USER['id'] || getrights("admin"))eval ("\$blogwriteformacww= \"".templateinclude("blog/editwriteform")."\";");
else eval ("\$blogwriteformacww= \"".templateinclude("blog/error1")."\";");

Hier wird abgefragt ob die eingetragene ID mit der registrierten user_id übereinstimmt, wenn ja, wird das Formular zum editieren ausgespuckt, ansonsten eine Fehlermeldung. Zusätzlich kann der Admin editieren.

Ansonsten viel Glück. Falls jemand Verbesserungen am Code hat, kann sich gern zu Wort melden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Knuddi« (24. November 2009, 09:21)

  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

12

Dienstag, 24. November 2009, 17:23

Hallo Knuddi,

hast du echt auf der Arbeit mehr Zeit als zu Hause? ;)

Vielen Dank für den Code. Leider weiß ich (noch) nicht, wie ich ihn den Erfordernissen an meine DB anpassen kann/soll. Gerade die Stellen mit "acwwblogid" etc. Was sind das für Felder?

Meine Datenbanktabelle in der die Datensätze für die Benutzereingaben gespeichert werden haben folgende Felder:

id
freq
station
itu
relais
lang
date
time
timetill
sonstiges
receiver1
receiver
antenna1
antenna
qth
SINPO
betriebsart
user
wohnort
empfangsland
dienst
timestamp

Im Feld "id" wied die Nummer des Eintrages in der Tabelle hinterlegt
Im Feld "user" wird der Benutzername des angemeldeten phpkit Benutzers eingetragen

Die Tabelle als solche heißt "qrgdb".

Wie kann der USer eine Abfrage über seine bisherigen Einträge oder EIntrag nach Eingabe der Eintrags-ID machen?
  • Zum Seitenanfang
  • Zum Seitenende

Knuddi Männlich

kennen Einige hier

Beiträge: 344

Geschlecht: Männlich

PHPKIT Version: 1.6.1

13

Dienstag, 24. November 2009, 23:53

die acwwblogid das wäre dann bei dir id :) leg doch nach user noch user_id dazu dann wird die user_id des users mit eingetragen, so kannst du besser abfragen das die user ihres selbst editieren können :) ansonsten, wenns dir lieb ist, kann ich dir gern das editierungsformular zusammenschustern. wenn noch nicht viele einträge vorhanden sind, kannst du versuchen per hand die userids einzutragen. :)

ich hab schon genug zeit zuhause aber in der früh nur kurz zeit gehabt.
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

14

Mittwoch, 25. November 2009, 00:25

Hoi,

es sind schon über 50000 Einträge drin, deshalb wird es etwas kompliziert mit der Nachträglichen Zuordnung zu user IDs zu den usern...

Dein freundliches Angebot nehme ich sehr gerne an.

Die User sollen allerdings nicht alle Angaben ändern können. timestamp z. B. nicht.

Das Änderungsformular sollen auch erst user ab Status "member" bzw. "VIP" sehen, dass sind die "alten Hasen", die wissen was sie machen. Das lässt siczh ja im phpkit bei der Linkverwaltung komfortabel einstellen denke ich.

Der ADmin soll natürlich auf alle Einträge Zugriff haben, ohne ins phpmyadmin zu müssen. (Ist bei dem Free Webspace den ich nutze eine echte Qual...) Ideal wäre auch eine Funktion die die Suche nach ID erlaubt.
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

15

Montag, 30. November 2009, 21:02

Moin,

kann mir noch jemand einen Tip geben wie ich das ganze gestalterisch umsetzen kann?
  • Zum Seitenanfang
  • Zum Seitenende

Knuddi Männlich

kennen Einige hier

Beiträge: 344

Geschlecht: Männlich

PHPKIT Version: 1.6.1

16

Dienstag, 1. Dezember 2009, 01:02

moin googlehupf, ich hab schon mal angefangen und brauche noch Informationen zu diesen daten die übers dropdown abgerufen werden. kommen die daten aus der datenbank oder sind die so drin ? desweiteren muss ich noch wissen da du ja sagtest das nur member oder vip das editieren dürfen. :) werd das dann noch so machen das ein Admin alle Daten ändern kann das heißt auch die ID vom User nachträglich mit updaten.
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

17

Dienstag, 1. Dezember 2009, 09:17

Hallo Knuddi,

hoffe du hattest was schönes im Adventskalender :)

Welches dropdown meinst du genau? habe ja einige verbaut. Habe deine Frage diesbezüglich leider nicht ganz verstanden, sorry.

Die Werte in den Dropdowns sind in der Datei selbst hinterlegt. Kann dir z. B. die suche.php zuschicken, dann musst du nichts abschreiben. Gereade bei "itu" wirds spannend, da sind alle Landeskenner weltweit drinnen ;)

Nochmal vielen vielen Dank für die Hilfe.
  • Zum Seitenanfang
  • Zum Seitenende

Knuddi Männlich

kennen Einige hier

Beiträge: 344

Geschlecht: Männlich

PHPKIT Version: 1.6.1

18

Dienstag, 1. Dezember 2009, 10:32

genau die Werte meint ich also sind sie direkt in der Datei selbst. Das Formular wird eh fast so bleiben wies ist, nur das dann beim editieren die Werte schon ausgewählt sind, damit man weiss was ausgewählt war. kannst du mir die tabellenstruktur vielleicht mal zukommen lassen? dann hab ichs leichter mit dem fertig stellen. am besten an webmaster@teilzeitkids.de
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

19

Dienstag, 1. Dezember 2009, 12:31

Ist raus zu dir
  • Zum Seitenanfang
  • Zum Seitenende

Ähnliche Themen