PhP Link mit Variable versehen.

T

tx_g

Gast
Hallo,
Ich versuche zur Zeit mithilfe eines Eingabefeldes auf Verzeichnisse zu springen.
Man sollte in das Verzeichnis so etwas wie "Bilder" eingeben und danach in das Verzeichnis /u/Bilder/index.php weitergeleitet werden wobei statt Bilder dann dort eine variable steht.

Mein Ansatz dafür sieht so aus.
Für die Seite mit dem Eingabefeld:
Code:
<a><form action="./suche.php" method="post"> <input type="text" name="suchen" /><input type="submit" value="Suchen" /></form>

Für die Seite die die welche dann weiter leiten soll (suche.php)
Code:
<?php
$suche =  $_POST['suchen'];
header(Location:'./u/$suche/index.php');
?>

Allerdings wird dabei steht allerdings statt der eingesetzten Variable immer $suche im Link. Wie müsste es richtig sein, dass dort der Inhalt der Variable steht?
 
Auch wenn das bei PHP anders machbar ist:
Nimms einfach raus aus den Anfphrungszeichen!

header(Location:'./u/'.$suche.'/index.php');

"." ist in PHP das Zeichen für Konkatenation von Strings - also Aneinanderreihung. "+" für Addition. Aber Strings kann man ja nicht addieren...

Lg, Franz
 
Hanni2k schrieb:
na, noch präziser gings ja nich :D
Ich weiß leider auch nicht woran es liegt. Evtl wird die Variable nicht übernommen oder er will die Zeichen dort nicht. Aber ich bekomme leider auch keine bessere Fehlermeldung.
 
neuer quellcode, und nen screenshot wo nich die hälfte fehlt wäre ein anfang. man sieht die URL nichtmal komplett, oder bin ich nun zu blöd?
 
Es wäre gut wenn du mal das Fehler-Log von deinem Webserver anhängen würdest. Da würde man dann ein wenig mehr sehen :)
 
blablub1212 schrieb:
Es wäre gut wenn du mal das Fehler-Log von deinem Webserver anhängen würdest. Da würde man dann ein wenig mehr sehen :)
Ich bin leider da nicht so ganz drinnen, wo liegt der Fehlerlog (Debian). Im Internet findet man verschiedene Pfade, aber ich habe noch keinen gefunden der Funktioniert.

Nase schrieb:
Da braucht man keine Error-Logs vom Webserver, ein Blick ins PHP-Handbuch reicht schon, um herauszufinden, dass die header-Funktion falsch benutzt wird: http://php.net/manual/en/function.header.php.
Wie wäre es dann richtig?
 
Horstexplorer schrieb:
Ok,
Hier ist der Code wie er jetzt aussieht:
Code:
<?php
$suche = $_POST['suchen'];
header(Location:'./u/'.$suche.'/index.php');
?>
Und hier nochmal das Bild im ganzen:
http://prntscr.com/dzd5it

was willst du denn machen? willst du eif einer neue seite weiterleiten oder willst du ein php skript ausführen?

ersteres
PHP:
<?php
$suche = $_POST['suchen'];
header('Location: /u/' . $suche . '/index.php');

ist aber alles andere als sicher.. und mir ist der zweck nicht klar
 
Das soll letztendlich eine Art Suchfeld werden. Man könnte das sicher mit einer Datenbank lösen welche sich von selbst Updatet, in der alle Verzeichnisse hinterlegt sind und wenn das Verzeichnis xy aus dem Suchfeld existiert, dort auf die Index.php Seite wechselt. Dafür fehlt mir allerdings das Wissen wie man dies so einfach wie möglich umsetzen kann. Eventuell könnt ihr mir dabei helfen c:
 
Zuletzt bearbeitet von einem Moderator:
Also zu der Header geschichte, wie bereits von Nase angemerkt hast du noch einen Fehler in deiner Header anweisung. Tipp: es hat was mit den " bzw. ' zu tun.

Aber ich verstehe auch noch nicht ganz was du erreichen möchtest.

Du hast ein verzeichnis /u/, dort liegen weitere unterverzeichnisse mit jeweils einer index.php
Warum "muss" man nach diesen unterverzeichnissen suchen? Könntest du dir auch vorstellen einfach alle unterverzeichnisse von /u/ automatisiert aufzulisten und per link navigierbar machen?

Diesen Sinn von "Suchen" erschließt sich mir noch nicht ganz. Wenn ich mit deiner Lösung nach einem verzeichnis suche, welches nicht exisitert, was soll dann passieren deiner Meinung nach?
 
Im Grund soll das ein kleinerer Testlauf für etwas größeres werden. Ich hätte damit vor später dort Benutzer-/Produkt-seiten zu erstellen dh jeder Benutzer bekommt eine eigene Seite. Das Auflisten aller Unterverzeichnis und somit aller Benutzer wäre zwar möglich, allerdings könnte es natürlich deutlich unübersichtlicher werden damit.

Evtl wäre eine Art 'Vorschlagshilfe' praktisch fals man nicht genau weiß was man sucht. Aber das wird sicherlich deutlich aufwendiger, da müsste ich mir noch ein paar Beispiele ansehen und so etwas. Nur um das Prinzip zu testen also vom Seitenaufbau und den Funktionen, wollte ich diese Vereinfachte Form haben.
Ergänzung ()

Ich glaube anhand dieser Anleitung lässt sich da etwas besseres Zusammenbauen. https://www.php-einfach.de/experte/codeschnipsel/5646-suchfunktion-fuer-mitgliedersuche/
Mithilfe der Datenbank, Frage ich ab ob das Verzeichnis existiert (beim erstellen füge ich es dort hinzu) und wenn ja wechselt er dahin, wenn nein dann zeigt er nen Fehler an.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben