Verlinkung von Drupal Seiten intern
Eingetragen von rootcqre (3)
am 13.05.2008 - 13:55 Uhr in
am 13.05.2008 - 13:55 Uhr in
Es ist mir ein bisschen Peinlich, aber ich verwende Drupal erst seit kurzem und hab ein (für mich) großes Problem:
Ich habe ein paar PHP Seiten programmiert und möchte diese nun untereinander verlinken.
Konkret heisst das, dass ich eine Formularseite X habe die mit einem Button am Ende versehen ist,
diese soll auf die nächste Seite führen (nachdem sie ein paar mysql inserts ect durchgeführt hat)
Bisher ohne CMS hab ich das ganz einfach mit einem "include" am Ende der Anweisung gemacht, nur funktioniert das mit drupal irgendwie nicht.
Es ist wahrscheinlich so einfach, dass ihr dafür keinen Code benötigt, aber hier ist er:
HTML:
<form name="form1" method="post">
<input name="button_weiter1" type="submit" id="button_weiter1" value="weiter zu Schritt 2" />
...
PHP:
if(isset($_POST['button_weiter1'])){
mysql_query("INSERT INTO ...
...
Vielen Dank schomal im Vorraus
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich habe gerade keine Zeit,
am 13.05.2008 - 14:00 Uhr
Ich habe gerade keine Zeit, genauer auf dein Problem einzugehen, abaer ich würde die SEHR SCHWER empfehlen, mal die Drupal Form API anzuschauen, falls due anfängst Sachen zu programmieren (http://api.drupal.org/api/file/developer/topics/forms_api.html/6).
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Das hatte ich sowieso vor,
am 13.05.2008 - 14:23 Uhr
Das hatte ich sowieso vor, nur möchte ich einfach wissen wie man Seiten untereinander verlinkt, damit ich mal damit weiterarbeiten kann :)
Dieser Tipp ist Pfusch, aber trotzdem...
am 13.05.2008 - 15:38 Uhr
Aber ich war auch mal in der gleichen Situation wie Du, was meint: der folgende Tipp ist Pfusch!!
Mittels:
<form action="<?php print base_path() ."node/77"; ?>" method="post" enctype="multipart/form-data">
<p>Bla bla</p>
<input type="file" name="uploadfile" size="50" maxlength="10000000" /><br />
<input type="submit" value="Hochladen" />
</form>
im Textbody einer Seite (dessen Eingabefilter auf PHP steht), übermittelst Du die Daten am eine weitere Drupal-Page. Auf dieser müssen ja die übermittelten Daten nun irgendwie ausgelesen werden (oder in hidden-fields für nächste Seiten gebunkert werden):
<?php
// ***************************************
// *(A)* Hochgeladene Datei einlesen *
// ***************************************
$tmp=file_directory_temp();
$is_uploaded = move_uploaded_file(
$GLOBALS['HTTP_POST_FILES']['uploadfile']['tmp_name'],
$tmp ."/datei.zip");
?>
Du kannst auf der Empfänger-Page mittels
<?php
print_r($GLOBALS);
?>
Das alles ist aber überhaupt nicht koscher. Du verlierst Sicherheit, da Drupal forms ein Sicherheitstoken übergeben umd überprüfen, auch bei multistep forms. So, wie hier beschrieben, machst Du Deine Site angreifbar und schmeisst alles weg, was sich findige Leute ausgedacht haben, um es Hackern schwer zu machen. Die eigentliche Drupal-Anwort auf Deine Frage (Wie Formularseiten untereinander verlinken?) lautet:
<?php
$form['#multistep'] = TRUE;
?>
aber das hilft Dir gar nichts ohne Forms-API. Du kannst Dir via Suchmaschine ("drupal multistep forms") Einblick verschaffen. Auch im Buch "Pro Drupal Developement" (Drupal 5) findest Du ein ausgeführtes Beispiel für multistep forms. Viel Glück.
vielen dank für die hilfe,
am 13.05.2008 - 15:55 Uhr
vielen dank für die hilfe, aber ich hab eine noch viel pfuschigere Variante gefunden, die mal reicht bis ich das ganze auf drupal-api umgecoded hab:
header("Location: http://...");