Kleines Problemchen vll mit if schleife beheben??? |
MastaG
Mitglied
Dabei seit: 05.02.04
Beiträge: 123
|
|
Hi@all,
also, hab mir was gecodet. Wenn ich nen neues Thema mache, kann ich noch zusätzlich ein paar Sachen angeben. (Seriennummer von amazon). Dies wird dann auch in der thread.php wiedergegeben. Wenn aber jetzt jemand auf das Thema antwortet und editiert anschließend seinen post, kann er die seriennummer editieren (das ist ja nicht Sinn der Sache). Das editieren hab ich extra eingebunden (amazon_edit.php). Hat jemand ne Idee, wie ich das machen kann, dass nur der Threadstarter dieses Seriennummer dann angezeigt? Also per if schleife oda so? Wenn per if schleifen pls sagen wie, danke schonma!!
__________________
? Du liest wohl gerne Signaturen, oder ?
|
|
17.07.05 20:42 |
E-Mail
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
na so kompliziert würde ich es nicht machen, bei der Ausgabe setzte das Feld mit der Seriennummer auf readonly
also <input type="text" name="name" value="$name" readonly="readonly" />
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
18.07.05 11:18 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
Zitat: |
Original von MrMind
Zitat: |
Original von xundy
na so kompliziert würde ich es nicht machen, bei der Ausgabe setzte das Feld mit der Seriennummer auf readonly
also <input type="text" name="name" value="$name" readonly="readonly" />
mfg |
Dann kann aber der Verfasser des Textes, dieses Feld auch net editieren.
Das müsste dann auch wieder so ablaufen:
Ist derjenige der editiert, der verfasser, dann Readonly nicht angeben, wenn nicht, dann angeben.
(Kommt fast auf das selbe hinaus, wie ich es gesagt habe).
PS: dringend vor dem Speichern, dann nochmal überprüfen, ob der Editieruser auch der Verfasser ist.
Mfg
MrMind |
Wieso??
er hat doch gesagt das er zum editieren dieses Feldes eine eigene php-Datei verwendet, somit sollte der von mir gemachte Vorschlag völlig ausreichend sein
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
18.07.05 12:04 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
MrMind
Sklave des Supportes
Dabei seit: 19.01.04
Beiträge: 3.349
Herkunft: Darmstadt/Odw.
|
|
Zitat: |
Original von xundy
Wieso??
er hat doch gesagt das er zum editieren dieses Feldes eine eigene php-Datei verwendet, somit sollte der von mir gemachte Vorschlag völlig ausreichend sein
mfg |
So damit wir uns richtig verstehen und net aneinander vorbei reden
Um dieses Feld zu editieren wird eine neue Datei geladen (ok, das habe ich auch gerafft
).
Aber das Script muss ja unterscheiden, wer nun diesen Eintrag editieren darf und wer nicht, daher diese Überprüfung (und bei so einer großen Einschränkung auch nochmal kurz vorm Speichern, Wichtig!).
Wenn einer einen solchen Eintrag mal gemacht hat und auch diesen mal bearbeitet hat, kennt er das System von der Datei und kann den Übergebenen String so manipulieren, das er einen anderen Eintrag editieren kann.
Das readonly verhindert jeden (auf den ersten schein) das editieren eines Eintrages, aber irgendwie muss er ja auch editierbar sein (also über die Datei), da muss er ja festlegen, wer diesen eintrag editieren kann und wer nicht.
Gehen wir mal von diesem Szenario aus:
Beitrag bearbeiten, Feld ist readonly neben dran ein Link um dieses Feld zu bearbeiten <= hier muss geprüft sein oder noch werden, ob der User das auch darf.
Mfg
MrMind
__________________
Selbst ist der Coder
Coder under Linux
Ubuntu 5.10 Nutzer.
Meine Hacks
|
|
18.07.05 12:22 |
E-Mail
Finden
Als Freund hinzufügen
|
|
MastaG
Mitglied
Dabei seit: 05.02.04
Beiträge: 123
Themenstarter
|
|
habs jetzt per if schleifen gemacht nur is das problem, dass jezz gar keiner mehr das editieren kann. Obwohl es eigentlich nur der threadersteller dürfte (geht trotzdem nich :-/ )
Hier mal angegeben, was ich angegeben habe:
editpost.php
if ($wbbuserdata[userid] == $threadstarter) {
if($wbbuserdata[can_use_amazon]==1 && $board[can_use_amazon]==1){
//amazon
include("./amazon/amazon_editpost.php");
}
}
editpost.tpl
<if($threadstarter==1)><then>
$amazon_edit
</then></if>
Kann mir mal jemand sagen, was daran falsch is? Danke im voraus!!
__________________
? Du liest wohl gerne Signaturen, oder ?
|
|
18.07.05 14:23 |
E-Mail
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
also ich weiß ja nicht wo du das
code: |
1:
|
if ($wbbuserdata[userid] == $threadstarter) |
|
her hast aber wennsne originale editpost ist dann solltest du wohl eher diese Abfrage verwenden:
code: |
1:
|
if ($wbbuserdata[userid] == $post['userid']) |
|
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
18.07.05 15:20 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
MastaG
Mitglied
Dabei seit: 05.02.04
Beiträge: 123
Themenstarter
|
|
code: |
1:
2:
3:
4:
5:
6:
7:
|
if ($wbbuserdata[userid] == $post['userid']){
if($wbbuserdata[can_use_amazon]==1 && $board[can_use_amazon]==1){
//amazon
include("./amazon/amazon_editpost.php");
}
}
|
|
wenn du das so meinst, tut sich leider auch nix. Will ja nur, dass der User auch das editieren kann, der auch den thread gestartet hat, wenn du verstehst, was ich meine :-/. Aber das in der tpl datei stimmt, oder wie?
__________________
? Du liest wohl gerne Signaturen, oder ?
|
|
18.07.05 15:36 |
E-Mail
Finden
Als Freund hinzufügen
|
|
MastaG
Mitglied
Dabei seit: 05.02.04
Beiträge: 123
Themenstarter
|
|
um nochmal auf das Thema zurückzukommen:
<if($threadstarter==1)><then>
$amazon_edit
</then></if>
Das ist ja richtig. Aber was genau muss ich dann in der .php Datei anpassen???
THX im voraus!
__________________
? Du liest wohl gerne Signaturen, oder ?
|
|
17.08.05 13:37 |
E-Mail
Finden
Als Freund hinzufügen
|
|
KleenMicha
Webentwickler
Dabei seit: 16.01.04
Beiträge: 2.592
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Profi
|
|
Dass kommt doch ins Template: editpost
Und es sollte dann nur der Threadstarter die Möglichkeit haben diese Variable $amazon_edit aufzurufenn.
in der Datei: editpost, solltest du aber noch vor:
php: |
1:
|
eval("\$tpl->output(\"".$tpl->get("editpost")."\");"); |
|
Den Code für die Änderung des Amazoneintrages einbaun, bzw dort die andere datei includen. Damit die Variable: $amazon_edit auch in dem Template: editpost aufgerufen werden kann.
__________________ Gruß Micha
|
|
17.08.05 13:46 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
MastaG
Mitglied
Dabei seit: 05.02.04
Beiträge: 123
Themenstarter
|
|
kann aufgerufen werden. Wenn ich aus dem template das if threadstarter = 1 entferne, kann man das sehen, sobald ich das setze, sieht man nichts mehr. Denke mal, dass es an der php datei liegt....
__________________
? Du liest wohl gerne Signaturen, oder ?
|
|
17.08.05 13:48 |
E-Mail
Finden
Als Freund hinzufügen
|
|
KleenMicha
Webentwickler
Dabei seit: 16.01.04
Beiträge: 2.592
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Profi
|
|
Versuchs mal so einzufügen, in editpost.php:
php: |
1:
|
if ($thread['starterid'] == $wbbuserdata['userid']) eval("\$test = \"".$tpl->get("test")."\";"); |
|
Damit wird nen Template mit namen test ausgegeben welches mit $test in, editpost.tpl eingebunden ist.
Darüber kannst du dieses Feld ja wieder anzeigen lassen, nur für den Threadstarter
__________________ Gruß Micha
|
|
17.08.05 14:04 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|