goto
am 21.11.2008 - 06:47 Uhr in
Hallo,
da ich von einem bestimmten Menupunkt je nach Rolle unterschiedliche Seiten aufrufen möchte, eine Abfrage mit dem entsprechenden drupal_goto(node/xx) eingefügt.
z.B.
if (rolle x) {drupal_goto(node/xx);}
elseif (rolle y) {drupal_goto(node/yy);}
/*um nicht alle übrigen Rollen abfragen zu müssen:*/
else {drupal_goto(node/yy;}Seither taucht bei diversen Aufrufen, in verschiedenen Situationen sporadisch der node/yy auf (eine Regelmässigkeit habe ich noch nicht gefunden).
Ich nehme an, das hat mit der letzten Zeile-
else {drupal_goto(node/yy;}- zu tun.
Anscheinend wird der php-Code dieser Seite auch in anderen Situationen ausgeführt, z.B. bei Suchabfragen.
Wie müsste ich den Code einbetten, dass er nur beim direkten Seitenaufruf ausgeführt wird?
Danke und Gruss
Adriana
- Anmelden oder Registrieren um Kommentare zu schreiben

Bau mal in Dein <?php else
am 21.11.2008 - 08:31 Uhr
Bau mal in Dein
<?phpelse {drupal_goto(node/yy;}
?>
ein zusätzliches Debug ein
<?phpelse {
trigger_error(nl2br(print_r(debug_backtrace(), 1)), E_USER_WARNING);
drupal_goto(node/yy;}
?>
und schau dann in Deinem Log (Recent Log Entry) nach dem Backtrace. Da kannst Du dann rauslesen, wo das passiert.
---
~ http://drupalcamp.de/
Ein paar mehr Informationen
am 21.11.2008 - 08:33 Uhr
Ein paar mehr Informationen wären schon hilfreich.
Wofür brauchst Du das elseif, wenn da das gleiche drinsteht wie im else?
-----------------------------------
Drupal Ruhrgebiet Usergroup
http://groups.drupal.org/ruhrgebiet
Danke für die Antwort, es
am 21.11.2008 - 16:41 Uhr
Danke für die Antwort, es wird auch im Normalfall an sehr vielen Stellen ausgeführt und den Fehlerfall kann ich nicht reproduzieren - ich kann bis jetzt keine Kriterien festlegen, v.a. nicht, nach welchem Kriterium welche der Seiten, in der ich diesen Code habe ausgeführt wird...
@glueckskind: das im im elseif und im else dasselbe drinsteht ist nicht zwingend, das else müsste ich aber sowieso machen.
Ich möchte je nach Rolle an eine andere Seite weiterleiten (das ist das, was ich eigentlich machen möchte)- offenbar ist aber die drupal_goto-Funktion nicht das richtige, bzw. mir ist nicht klar, wie ich verhindern kann, dass sie auch in anderen Situationen ausgeführt wird.