Variablen aus Formfeld übernehmen und in HREF verwenden

ahnernoch

Mitglied
So jetzt wird kompliziert :-) Vorallem weil ich schlecht im Erklären bin. Hoffe da steigt einer durch.

Habe meine "index.htm" mit folgendem Link:
Code:
<a href="http://localhost:8088/stream/file=/share/Apps/MusicVideBox/normal.php?dir=/share/Moviez/Music Vidz&dummy=.jsp" vod="playlist"/></a>

Dieser schickt ja nun an die "normal.php" seine Variable für $dir und arbeitet sein seine Funktionen ab.
Code:
<?php
$dir = $_GET['dir']; 
// usw.

Nun möchte ich aber über eine weiter Page "setup.htm" mit zb folgende Code...
Code:
  <form action="normal.php" method="post">
  <input type="text" size="17" name="location">
  <br><br>
  <center>
  <input type="submit" value="OK">
  </center>
  </form>

...den Pfad einmalig konfigurieren können, dass dieser dann permanent in HREF in der "index.htm" verwendet wird.

Das einmalige einstellen und abschicken des Pfads in der "setup.htm" soll den Bereich
Code:
/share/Moviez/Music Vidz
in der "index.htm" ersetzen.

So hoffe ist irgendwie verständlich! :-) Merry Christmas euch allen...
 
Da würden mir mehrere Wege einfallen:
  1. Datenbank
  2. Session
  3. Datei

Ich würde fast zu 3. tendieren, da es wohl für diesen Zweck am Besten geeignet ist. Einfach den Pfad nach dem Abschicken des Formulars in eine Datei speichern (file_put_contents()) und in der index.html, welche dann durch den PHP-Parser muss (entweder per Mod-Rewrite oder am Besten gleich als index.php) wieder auslesen (file_get_contents()) und in den Link einfügen.

Hoffe du kannst mir folgen^^
 
Das du das auf viele Wege lösen kannst ist mir schon klar! :-) Hab ich mir gedacht.

Das mit dem folgen naja... ich versteh was du meinst aber weiß es nicht umzusetzen .Problem mit Datenbank ist nicht da das ganze wie gesagt auf einem Linux basierenden Medie Network Player liegt.

Session? Kein plan!

Datei auslagern klingt super. PHP Parser klingt verwirrend. Komplett in PHP funktioniert dann leider wieder nicht auf der Kiste oder ich bin zu doof für. Wenn ich eine PHP ansteure zeigt ihr mir ganz stumpf den Inalt davon an.
 
PHP ist aber installiert und eingerichtet (läuft es generell nicht, oder nur in manchen Fällen)? Was läuft denn darauf für ein System genau?
Denn Wenn kein PHP funktioniert, dann sollte man sich erst einmal darum kümmern.
 
Nun ja also die Anfrage mit dem Shuffle von gestern klappt wunderbar. Allerdings wenn ich versuche in einem frame auf eine PHP Datenbank zu zugreifen passiert einfach nicht.

Was da genau drauf ist und nicht kein Plan. Da fragste echt den falschen. Kann dir sagen wie man Flugzeuge repariert aber nicht was meine Kiste da macht. Sorry!

http://www.popcornhour.com/onlinestore/index.php?pluginoption=productspec&item_id=6

Das die Kiste. Hab hier diverse Appz drauf die haben PHP drin. Aber eine ganz seltsame. Da findest du sowas drin....

Code:
<?php if (!is_callable("mmcache_load") && !@dl((PHP_OS=="WINNT"||PHP_OS=="WIN32")?"TurckLoader.dll":"TurckLoader.so")) { die("This PHP script has been encoded with Turck MMcache, to run it you must install <a href=\"http://turck-mmcache.sourceforge.net/\">Turck MMCache or Turck Loader</a>");} return mmcache_load('eJy1Vt9v2zYQJiklVn8szYChz0YxZF2LNe+NbSxpg6RDA8jL9rAhg6DIlK1MlgSSThYUfdn+t/0He9h/szuSomjZG7aHGWgj3h2pu++++6iLizfHb85PCSOEUIJ/IoK/P4n5XTJCgwfwkBclzwshFbmkfRP9glDKdGhk7WXaRvoWL3AXzFld5cXchHVrLyg usw...

Bahnhof sag ich nur. Die meissten Programme bekommen Ihre Settings dann auch über eine Config File mit sowas:

Code:
background = 3dmusic.jpg

screensetup = hd

charset = utf-8

autorefresh = true

Nur kann in den Rest in Dateien nicht herausfinden wie sie angewendet werden sonst würde ich dort ja abgucken.

So zurück zum Thema. Erstmal nur zur Ausgabe in die Datei. Das müsste dann so in der form.htm aussehen ungefähr oder?

Code:
  <form action="normal.php" method="post">
  <input type="text" size="17" name="location">
  <br><br>
  <center>
  <input type="submit" value="OK">
  </center>
  </form>

und in der normal.php so oder?
Code:
<?php
$dir = $_post['location'];
$output .= "location: {$_dir['Location']}\n";

file_put_contents("feedbacks.log", $output, FILE_APPEND);
?>

so hab mal damit probiert:

Code:
  <form action="normal.php" method="post">
  <table border="0" cellpadding="0" cellspacing="4">
    <tr>
      <td align="right">Vorname:</td>
      <td><input name="vorname" type="text" size="30" maxlength="30"></td>  <input type="submit" value="OK">
    </tr>

und PHP:

Code:
<?
$fp = fopen('speichern.txt', 'a');
  $vorname = $vorname."\n";
  fputs($fp, $vorname, strlen(vorname));
  fclose($fp);
?>

Wenn ich das nun ausführe zeigt er mit einfach nur den Text aus der PHP an und legt auch keine Datei an.
 
Zuletzt bearbeitet:
Wenn ich deinen Eingangspost richtig verstanden habe, dann soll immer dieser Pfad in der GET-Variable "dir" konfigurierbar sein.

Dann würde das ausreichen: settings.php (Formular sendet an diese Datei die Daten.)
PHP:
<?php
$dir = $_POST['location'];
file_put_contents('settings.conf', $dir);

// Weiterleitung zur index.php?
// header('Location: index.php');
?>
Bei jeder Änderung kann ja die alte Einstellung überschrieben werden. Es sollten natürlich noch Erweiterungen bzgl. Fehlerhandling eingebaut werden (Pfad existiert, Leereingabe, etc)

Die index.htm müsste dann zur index.php werden und hat dann in etwa so einen Inhalt:
PHP:
<?php
// [...]
$dir = file_get_contents('settings.conf');
// [...]
echo '<a href="http://localhost:8088/stream/file=/share/Apps/MusicVideBox/normal.php?dir='.$dir.'&dummy=.jsp" vod="playlist"/></a>';
// [...]
Oder habe ich dich falsch verstanden? Alles sehr theoretisch, da ich nicht weiß, was da nacher genau passieren soll^^ Auf die richtigen Pfade müsstest du dann noch achten.

Das DIng werde ich mir, wenn ich Zeit finden sollte, mal anschauen :-P

Kleine Idee, warum manche Skripte gehen und anderen nicht: Benutzt du IMMER "<?php" oder auch mal nur "<?" ? "<?" kann man nämlich deaktivieren.
 
Zuletzt bearbeitet:
Also hab was gefunden. Also auf dem Ding läuft php5 apache webserver php 5.2.8, and APC 3.1.2. Sagt mir nichts aber dir gewiss.

Ok das probier ich gleich Allerdings weiss ich noch nicht wie ich die index.php dann abrufen soll. :-(

Um es mal ganz theoritsich einfach zu erkläeren.... Da ist die Index.html mit einem Link. Wenn der Link gedrückt wird scannt die normal.php mit dem shuffle script die Dateien und wirft die Playlist heraus.

Nun soll es aber möglich sein über eine andere seite setup.htm den pfad einzustellen wo er bei aktievieren des Links scannen soll.

Wesentlich leichter als meine Beschreibung am Anfang^^
 
Ok das probier ich gleich Allerdings weiss ich noch nicht wie ich die index.php dann abrufen soll. :-(

Nun, irgendwie muss ja auch die index.htm aufgerufen werden. Das muss irgendwo stehen, dass es genau diese Datei sein soll (Kenne das System leider nicht). Falls man das nicht umstellen kann, würde sich hier Mod-Rewrite lohnen, um ein Aufruf von index.htm auf index.php zu leiten.
Alternativ könnte man auch sagen, dass der Apache standardmäig alle htm-Dateien durch PHP schicken soll, wäre aber recht unschön.
Sobald du weißt, wie und ob du die index.php aufgerufen bekommst, steht deinem Einstellungsscript nichts mehr im Wege :-P
 
aha! Schau was ich gefunden habe.....

Running PHP using the /stream=/ hack

If you installed the NMT Applications and are running the build-in myiHome Server, you can directly run a PHP file on your NMT using a specially crafted URL. For example to access a file called index.php in the root of you hard disk you can use the following URL:

http://localhost:8088/stream/file=/opt/sybhttpd/localhost.drives/HARD_DISK/index.php

To access this URL from the NMT you need to create a HTML file with a link or meta refresh, for example:

<meta http-equiv="refresh" content="0;http://localhost:8088/stream/file=/opt/sybhttpd/localhost.drives/HARD_DISK/index.php">

You can also use this method to create pages that are accessible from outside the NMT. This is especially useful if you want to create a web application that runs on your NMT, but is accessed from a computer in your network, or even from the internet. Just change the localhost in the URL above with the IP address of your NMT, for example:

http://192.168.1.3:8088/stream/file=/opt/sybhttpd/localhost.drives/HARD_DISK/index.php
 
Das Ding scheint eine Wissenschaft für sich zu sein xD

Was ich noch nicht so ganz verstehe ist, was das für eine index.htm ist. Wo wird die verwendet, bzw. wie wird diese Aufgerufen? Denn wenn du die index.htm aufgrund des PHP-Codes mit einer index.php ersetzen musst, funktioniert es dann noch so, wie du das haben willst?
 
Zurück