Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst]Drupal_goto Befehl mit mehreren Variablen bzw. Parametern / Using drupal_goto with variables / query

Eingetragen von Nikdilis (29)
am 30.09.2009 - 17:41 Uhr in
  • Modul-Entwicklung

Hallo zusammen,

mit dem Drupal Befehl drupal_goto
http://api.drupal.org/api/function/drupal_goto
kann man einen User auf eine bestimmte Seite senden, also einen Redirect durchführen.

Ich habe Drupal (v6.14) in Kombination mit dem Xampp-Server (v 1.71) installiert. Alles hat funktioniert, bis auf den folgenden Fehler, der allerdings nur unter Xampp und nicht bei der gehosteten Seite im Internet auftritt.
http://www.apachefriends.org/f/viewtopic.php?f=4&t=37392

Erst dachte ich, dass das Problem durch eine fehlerhafte Konfiguration des Apache Servers (Xampp) auftrat,
http://drupal.org/node/43545
doch dem scheint nicht so zu sein.

Stattdessen scheint es, daß der Fehler in einer falschen Verwendung des drupal_goto Befehls zu suchen ist.
Bisher habe ich den Redirect folgendermaßen durchgeführt:

Beispiel: file link.php
drupal_goto($path = 'link.php?a=1&b=3');

Resultat im Addressfeld des Browsers:
link.php%3Fa%3D1%2526b%3D3

Fehler:
403 - Access Denied

Fehlerbeschreibung in der error.log Datei (xampp\apache\logs):
The given path contained wildcard characters: access to /link.php?a=1%26b=3 failed, referer: xxxxxxxxxxx

Behebung des Problems: Die richtige Verwendung des drupal_goto Befehls:
drupal_goto($path = 'link.php', $query = 'a=1&b=3');

oder, falls man Variable verwendet:
drupal_goto($path = 'link.php', $query = 'a=' . $a . '&b=' . $b);

So sollte das Problem mit den Access Denied Fehlern der Vergangenheit angehören.

Für mich wäre noch interessant zu wissen,
1) wie ich als Drupal Beginner aus der Anleitung zur Benutzung des Befehls unter http://api.drupal.org/api/function/drupal_goto schlau werden soll:
drupal_goto($path = '', $query = NULL, $fragment = NULL, $http_response_code = 302)
2) warum man nicht einfach ein paar einfache Beispiele dieser Beschreibung zufügt?
3) warum meine ursprüngliche Verwendung des Befehls à la " drupal_goto($path = 'link.php?a=1&b=3'); " nur unter Xampp und nicht auf der Internet Seite einen Fehler produziert?

Aber wahrscheinlich bin ich der einzige der zur erfolgreichen Verwendung des Befehls zu blöde ist.
Wer aber trotzdem ein wenig Licht in die Beantwortung von Frage 1 bringen kann, den bitte ich hiermit herzlichst, dies zu tun. Wir alle wollen ja etwas dazulernen. Hierfür herzlichen Dank und Gruß,

Nick Dilis

‹ "in-place-edit" - modul [gelöst]Default-Value in Select-Box ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Query kann ein Sring sein,

Eingetragen von Tobias Bähr (4019)
am 30.09.2009 - 21:29 Uhr

Query kann ein String sein, der schon richtig codiert ist oder besser ein Array.

Also:

<?php
drupal_goto
($path = 'link.php', array('query' => array('a' => $a, 'b' => $b)));
?>

Siehe http://api.drupal.org/api/function/url/6
----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich mag mich irren, aber

Eingetragen von stebeg (463)
am 01.10.2009 - 09:10 Uhr

ich mag mich irren, aber folgendes sieht mir nach nem Fehler aus:

Zitat:

Beispiel: file link.php
drupal_goto($path = 'link.php?a=1&b=3');

is der Drupal API steht

Zitat:

$path A Drupal path or a full URL.

und $path scheint mir hier weder ein Drupal-Pfad noch eine vollständige URL zu sein. Ich vermute das es mit $path = 'http://deine-domain.de/link.php?a=1&b=3' geklappt hätte.

Ungetestet, wie gesagt, is nur en Vermutung

  • Anmelden oder Registrieren um Kommentare zu schreiben

kleiner Fehler

Eingetragen von Nikdilis (29)
am 01.10.2009 - 12:55 Uhr

Hallo Herr Bähr,

danke für Ihren Hinweis.
Ich glaube in Ihrem Beispiel ist im Array ein kleiner Fehler enthalten:

Folgendes Beispiel wurde von mir erfolgreich getestet

<?php
drupal_goto
($path = 'link.php', $query = array('a' => $a, 'b' => $b));
?>

Gruß,

Nick Dilis

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja stimmt, einfach das

Eingetragen von Tobias Bähr (4019)
am 01.10.2009 - 13:34 Uhr

ja stimmt, einfach das Array

<?php
drupal_goto
($path = 'link.php', array('a' => $a, 'b' => $b));
?>

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hattest Recht...

Eingetragen von Nikdilis (29)
am 01.10.2009 - 13:49 Uhr

Hallo stebeg,

Du hattest Recht mit Deiner Vermutung. Ich habe jetzt mal diverse drupal_goto Befehle auf dem Xampp / Apache Server getestet und kommentiert, ob diese Methoden funktionieren oder nicht.
Gruß,
Nick Dilis

Anfangs gleich die beste Lösung:
//Given Values: works (maybe the best solution)
drupal_goto($path = 'link.php', $query = array('a' => 1, 'b' => 3));
//also possible: drupal_goto($path = 'link.php', $query = array(a => 1, b => 3));

//Variables: works (maybe the best solution)
drupal_goto($path = 'link.php', $query = array('a' => $a, 'b' => $b));
//also possible: drupal_goto($path = 'link.php', $query = array(a => $a, b => $b));

Weitere Möglichkeiten:
//Given Values: works -> full path!
drupal_goto($path = 'http://localhost/(Verzeichnis)/link.php?a=1&b=3');

//Variables: works -> full path!
drupal_goto($path = 'http://localhost/(Verzeichnis)/link.php?a=' . $a . '&b=' . $b);

//Given Values: works
drupal_goto($path = 'link.php', $query = 'a=1&b=3');

//Variables: works
drupal_goto($path = 'link.php', $query = 'a=' . $a . '&b=' . $b);

//Variables: works
$_REQUEST['destination'] = 'link.php?a=' . $a . '&b=' . $b;
drupal_goto();

//Given Values: works
$_REQUEST['destination'] = 'link.php?a=1&b=3';
drupal_goto();

Nicht funktionierende Möglichkeiten:

//Given Values: does not work in Xampp/Apache -> not the full path! => Error: Access denied;
//did work on the hosted (productive) environment
drupal_goto($path = 'link.php?a=1&b=3');

//Variables: does not work -> not the full path! => Error: Access denied in Xampp / Apache
//did work on the hosted (productive) environment
drupal_goto($path = 'link.php?a=' . $a . '&b=' . $b);

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ветошь для протирки оборудования
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 5 Tagen
  • Hey danke
    vor 2 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 3 Wochen 1 Stunde
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 1 Tag
  • In der entsprechenden View
    vor 4 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 1 Tag
  • gelöst
    vor 6 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250234
Registrierte User: 20464

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 26 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association