php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-02-2004, 01:19
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard While-Schleife

If-Abfrage unten in der Whileschleife editiert um etwas Verwirrung wegzunehmen

Folgender code:
PHP-Code:
$query $db->query("SELECT pid, userid, text, date, views FROM {$config["tables"]["ugb_ubook"]} WHERE ugbid = '$_GET[ugbid]' ORDER BY pid DESC");
if(
$db->num_rows($query) == 0) { echo $func->no_items("Gästebuch-Einträge","","rlist"); }
else {
    while(
$row $db->fetch_array($query)){
        
$pid $row["pid"];
        
        
$templ['ugb']['ubook']['case']['info']['post']['pid']                 = $pid;    
        
$templ['ugb']['ubook']['case']['info']['post']['text']                 = $func->db2text2html($row["text"]);
        
$templ['ugb']['ubook']['case']['info']['post']['poster']['userid']     = $row["userid"];
        
$templ['ugb']['ubook']['case']['info']['post']['date']                 = $func->unixstamp2date($row["date"],"daydatetime");
        
        
        
$userdata $ugbfunc->getuserinfo($row["userid"]);
            
            
            
            
$templ['ugb']['ubook']['case']['info']['post']['poster']['username']     = $userdata["username"];
            
$templ['ugb']['ubook']['case']['info']['post']['poster']['type']         = $userdata["type"];
            
$templ['ugb']['ubook']['case']['info']['post']['poster']['avatar']        = $userdata["avatar"];
            
$templ['ugb']['ubook']['case']['info']['post']['poster']['signature']     = $func->db2text2html($userdata["signature"]);
        
        if(
$auth["userid"] == $row["userid"])     eval("\$templ['ugb']['ubook']['case']['info']['post']['edit'] = \""$func->gettemplate("ugb_ubook_post_edit")."\";");
        
        eval(
"\$templ['ugb']['ubook']['case']['control']['rows'] .= \""$func->gettemplate("ugb_ubook_row")."\";");
        
                    
    } 
// while

Problem:
PHP-Code:
if($auth['type'] > OR $auth["userid"] == $row["userid"])     eval("\$templ['ugb']['ubook']['case']['info']['post']['edit'] = \""$func->gettemplate("ugb_ubook_post_edit")."\";"); 
ich möchte standard benutzern die Möglichkeit geben einen Eitrag den sie ins GB geschrieben haben zu ändern, jedoch nur jene Einträge die von ihnen stammen.
Ist im GB noch kein Eintrag von solch einem Standard-user, so werden auch keine ändern und löschen buttons angezeigt. Postet solch ein user, werden plötzlich bei jedem Eintrag egal ob er von selbigem User stammt oder nicht, die möglichkeiten ändern und löschen angezeigt.

Wie müsste ich die Bedingung oder vielleicht sogar die Whileschleife ändern?

MFG deschmiddi
__________________
Geht net gibts net...

Geändert von deschmiddi (16-02-2004 um 18:00 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 16-02-2004, 01:33
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
if($auth['type'] > OR $auth["userid"] == $row["userid"]) 
sollte das nicht AND heissen?
__________________
Kissolino.com
Mit Zitat antworten
  #3 (permalink)  
Alt 16-02-2004, 01:43
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

Nein

type 1 = Benutzer
2 = Administrator
3 = Webmaster

Man soll nur ändern können, wenn man entweder mindestens die rechte eines Admins hat oder der Eintrag der geändert oder gelöscht werden soll, stammt von einem selbst( dann ist es egal ob man user oder admin ist)


im moment kann ich jedenfalls wenn ich user bin sowohl meinen eigenen Eintrag löschen/ändern wie auch die Einträge von anderen usern was aber nur einem Admin oder webmaster erlaubt ist
__________________
Geht net gibts net...
Mit Zitat antworten
  #4 (permalink)  
Alt 16-02-2004, 17:08
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

Hat den keiner ne Lösung für mein Problem?
Ich hab jetzt schon so einiges versucht und hier im Board geforstet aber ich find einfach nix...

Scheint so als wär das mal wieder ne Aufgabe für Genies wie Abraxax oder de Mr. happyness

Bitte helft mir... so e kleiner Tipp würd auch schon reiche...
Hauptsach Lerneffekt und dass es funzt

MFG deschmiddi
__________________
Geht net gibts net...
Mit Zitat antworten
  #5 (permalink)  
Alt 16-02-2004, 17:18
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich find deinen aufbau etwas unübersichtlich ... das geht anderen
wahrscheinlich genauso, aber ... du packst die edit-information in ein
array: ... ]['post']['edit'] = ...; das scheint mir das generelle array aller
posts zu sein, du willst aber das ganze auf den poster eingrenzen ... imho
musst du noch eine ebene tiefer ... ansonsten bin ich mit meinem latein am
ende und meine glaskugel auch
__________________
Kissolino.com
Mit Zitat antworten
  #6 (permalink)  
Alt 16-02-2004, 17:22
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie wird denn $auth['type'] ermitteln
Mit Zitat antworten
  #7 (permalink)  
Alt 16-02-2004, 17:31
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

$auth['type'] wird beim einloggen ermittelt und aus der db geholt.
dann in der session gespeichert und steht so bis zum logout aus dem system zur verfügung.

@ Wurzel ne ebene Tiefer?
haste da ein Beispiel für?

Sieht kompliziert aus der Code weil er hat auf Templatebasis arbeitet...
ich dachte jedoch es wär net so schlimm weil sich das problem ja auf die whileschleife begrenzt...

ich müsst irgenteinen in der session gespeicherten wert in der angesprochenen if-abfrage mit einem wert vergleichen können, den derjenige der gepostet hat, hatte. Stimmen diese so wird edit erlaubt, anders nicht. Dieses müsste er bei jedem eintrag überprüfen...

im moment macht mei script es aber so, dass wenn kein eintrag vorhanden ist der übereinstimmt auch keine edit funktion erlaubt wird, findet er jedoch einen, so erlaubt er die edit funktion auch bei allen anderen einträgen

*g* bische kompliziert klingt ... hann ihrs verstann wie ich meine?
wenn net poste ich mal e pic

Gruß deschmiddi
__________________
Geht net gibts net...
Mit Zitat antworten
  #8 (permalink)  
Alt 16-02-2004, 17:34
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von deschmiddi
@ Wurzel ne ebene Tiefer?
haste da ein Beispiel für?
wer hat das denn verzapft? du oder ich?

ich rate, es gehört hierhin:
PHP-Code:
$templ['ugb']['ubook']['case']['info']['post']['poster']['edit'] = ...;
//NICHT
$templ['ugb']['ubook']['case']['info']['post']['edit'] = ...; 
btw: wozu nimmst du eval an der stelle?
__________________
Kissolino.com
Mit Zitat antworten
  #9 (permalink)  
Alt 16-02-2004, 17:47
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

ich nehme eval aus folgendem grund: weil eval einen string auswertet als wär es php-code

PHP-Code:

eval("\$templ['ugb']['ubook']['case']['info']['post']['edit'] = \""$func->gettemplate("ugb_ubook_post_edit")."\";"); 
Anmerkung: alle arrays...['post']['poster']... enthalten nur die daten der person, die den Eintrag gemacht hat...


die ugb_ubook_post_edit.htm

<a href="?mod=ugb&action=edit&mode=pchange&pid=$pid">
<img src="design/standard/images/buttons_edit.gif" alt="Eintrag &auml;ndern" border="0"></a>
<a href="?mod=ugb&action=edit&mode=pdelete&pid=$pid">
<img src="design/standard/images/buttons_delete.gif" alt="Eintrag l&ouml;schen" border="0"></a>


verweist quasi auf nen Button



ausgegeben wird der dann hinterher in der ugb_ubook_row.htm

<tr>
<td class="tbl_1" height="30" colspan="2">
<table width="100%" cellspacing="0" cellpadding="3" class="tbl_1">
<tr>
<td width="100" align="left" valign="top" class="tbl_1" nowrap> <b>{$templ['ugb']['ubook']['case']['info']['post']['poster']['username']}</b>
<a href="?mod=usrmgr&action=details&userid={$templ['board']['thread']['case']['info']['post']['poster']['userid']}">
<img src="design/standard/images/arrows_user.gif" alt="Benutzerdetails anzeigen" border="0"></a>
<br>
{$templ['ugb']['ubook']['case']['info']['post']['poster']['type']} <br>
<br>
{$templ['ugb']['ubook']['case']['info']['post']['poster']['avatar']}
<br>
<br>
Aus: {$templ['ugb']['ubook']['case']['info']['post']['poster']['city']}<br>
<br>
</td>
<td width="90%" height="28" valign="top" class="tbl_1">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tbl_1">
<tr>
<td width="100%"> Verfasst am: {$templ['ugb']['ubook']['case']['info']['post']['date']}
&nbsp;&nbsp;&nbsp; </td>
<td valign="top" align="right" nowrap> {$templ['ugb']['ubook']['case']['info']['post']['edit']}
<!--
<a href="?mod=board&action=post&level=post&tid=$tid&mode=quote">
<img src="design/standard/images/buttons_zitat.gif" alt="Antworten mit Zitat" border="0">
</a>
-->
</td>
</tr>
<tr>
<td colspan="2"><hr size="1" noshade class="tbl_1"></td>
</tr>
<tr>
<td colspan="2"> {$templ['ugb']['ubook']['case']['info']['post']['text']}
<br>
<br>
{$templ['ugb']['ubook']['case']['info']['post']['poster']['signature']}
</td>
</tr>
</table></td>
</tr>
<tr>
<td width="180" align="left" valign="middle" class="tbl_1">
<a href="#top">Nach oben</a>
</td>
<td width="90%" height="28" valign="bottom" class="tbl_1">
<table cellspacing="0" cellpadding="0" border="0" height="18" width="18">
<tr>
<td valign="middle">




</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr class="tbl_4">
<td colspan="2"><img src="/" width="1" height="1"></td>
</tr>


Vielleicht kann mir ja derjenige helfen, der diese Board geschrieben hat
Schließlich kann ich hier im Board ja auch nur die Einträge editieren/löschen
die von mir selbst sind ... deine Wurzel kann ich ja nicht bearbeiten außer ich wär admin
__________________
Geht net gibts net...

Geändert von deschmiddi (16-02-2004 um 17:57 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:12 Uhr.