php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-12-2007, 12:32
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Question Dateiaufruf mit Anker in include

Hallo,

ich möchte aus einer so formulierten include Anweisung:

include $dateien[$_GET['section']];

section enthält den Verweis zu einer HTML Seite, einen Anker mitgeben, wenn das möglich ist? Bekomme aber die Fehlermeldung:

Warning: main(_praxis.htm#5) [function.main]: failed to open stream: No such file or directory in /home/kiefer/diekieferorthopaeden.at/_inhalt.php on line 8

Die Seite mit diesem Namen existiert natürlich nicht, wie kann ich trotzdem zu dem Anker in der HTML Datei springen?

mfg Marco
Mit Zitat antworten
  #2 (permalink)  
Alt 11-12-2007, 12:42
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

Mit nem include schon einmal gar nicht. Sowas löst du per JavaScript.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-12-2007, 12:54
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Post

Hallo Benny,

danke für deine Antwort!
Die include Anweisung steuert den Main Bereich der Seite. Das ganze funktioniert recht gut - bis eben auf die Sprungmarken.

Hast du vielleicht einen Anhaltspunkt wo ich da mit JavaScript ansetzen kann?

mfg Marco
Mit Zitat antworten
  #4 (permalink)  
Alt 11-12-2007, 12:56
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du solltest unbedingt prüfen, was du da includierst. Ansonsten ist das ein sehr offensichtliches Scheunentor.

Den Anker bekommst du weg mit stringfunktionen,
z.B. so
PHP-Code:
$section = (substr($_GET['section'], 0strrpos($_GET['section'], "#"))); 
__________________
ich glaube
Mit Zitat antworten
  #5 (permalink)  
Alt 11-12-2007, 12:58
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

Hirn einschalten.

Klar dass der Include funzt, aber du willst ja zu dem Anker springen und das klappt mit nem include nicht.
Mit Zitat antworten
  #6 (permalink)  
Alt 11-12-2007, 13:04
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich dachte er will seinen neuen Inhalt includieren und gleichzeitig darin zu einem Anker springen.
__________________
ich glaube
Mit Zitat antworten
  #7 (permalink)  
Alt 11-12-2007, 13:08
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von ministry
Ich dachte er will seinen neuen Inhalt includieren und gleichzeitig darin zu einem Anker springen.
ja aber das klappt ja nicht. der anker wird nicht beachtet, also das springen klappt nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 11-12-2007, 13:17
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Post

... also ich ruf die Seite nach wie vor ohne Anker auf mit include, verstehe, aber wie spring ich dann? Den Anker müsst ich dann mit einer eigenen Variable mitgeben oder so wie ministry gemeint hat vor dem Aufruf wegschneiden und in eine andere Variable einlesen, soweit schnall ich es.

Marco
Mit Zitat antworten
  #9 (permalink)  
Alt 11-12-2007, 13:18
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Benny-one
ja aber das klappt ja nicht. der anker wird nicht beachtet, also das springen klappt nicht.
Warum nicht?

file1.php:
PHP-Code:
<?php
echo("Parameter: ");
echo isset(
$_GET['test']) ? $_GET['test'] : 'keiner';
include(
"file2.php");
?>
file2.php:
PHP-Code:
<?php
echo("<p>viel Text<br />
viel Text<br />
viel Text<br />
[...]

<a href=\"#\" name=\"blub\">Link mit Anker</a>
</p>"
);
?>
Aufruf:

http://localhost/file1.php?test=bla#blub
__________________
ich glaube

Geändert von ministry (11-12-2007 um 13:23 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 11-12-2007, 13:20
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard



argh, gut, wenn das vorher angeklickt wurde schon. ich dachte er wollte einen include basteln und beliebig an Anker innerhalb der Seite springen, ohne dass der User das vorher ausgewählt hat.
Mit Zitat antworten
  #11 (permalink)  
Alt 12-12-2007, 16:42
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Post

hallo ministry, hallo benny,

danke für euere Hilfe, funktioniert.

Was ich aber einfach von der Logik her nicht verstehe ist, wieso "test=bla#blub" überhaupt dann als Aufforderung zum Springen umgesetzt wird nach dem include des file2.php - ich kann ja sogar das "bla" weglassen, also so: "test=#blub" und es funktioniert ebenso.

Grüße - Marco
Mit Zitat antworten
  #12 (permalink)  
Alt 12-12-2007, 16:53
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

test=bla kannst du natürlich weglassen - du brauchst stattdessen section=[dein bereich zum includieren] .

Prüfst du denn mittlerweile, was includiert wird oder übernimmst du es noch immer einfach so?
__________________
ich glaube
Mit Zitat antworten
  #13 (permalink)  
Alt 12-12-2007, 17:24
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

stimmt, test=bla kann ich auch weglassen, sagenhaft

nein, ich das Durchdenken dieser Problestellung hat meine Zeit bis jetzt in Anspruch genommen. aber jetzt hab ich Zeit über Sicherheit nachzudenken, klar!

Der Inhalt von section wird in einem Array gesucht, bei Übereinstimmung der im Array hinterlegte Seitenaufruf im include angegeben - soweit alles klar.
Wo ist da ein Scheunentor? ist jedes include ein Scheunentor?

ich find deine Hinsweise irre hilfreich, weil sie mir einfach ein wenig die Augen öffnen, Hinweise genügen bei mir eh, bin ja am Lernen interessiert, diesbezüglich nochmals vielen Dank.

Marco
Mit Zitat antworten
  #14 (permalink)  
Alt 12-12-2007, 17:30
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist prinzipiell schon richtig, am Anfang hast du das aber nicht so gemacht (sonst hättest du die Fehlermeldung nicht bekommen, dass die Datei nicht existiert).

Entweder schreibst du deine Dateien in so ein Array und prüfst auf Existenz
PHP-Code:
$includes = array('praxis' => 'praxis.htm''wartezimmer' => 'dings.htm' ...);
if (isset(
$includes[$_GET['section'])) include($includes['section']); 
oder du machst es mit einem switch ... case über $_GET['section'] oder ähnlich. Includes sind nur Scheunentore, wenn fremdbestimmt werden kann, was bei dir eingebunden wird.
__________________
ich glaube

Geändert von ministry (12-12-2007 um 17:33 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 12-12-2007, 22:44
MarcoArc
 Newbie
Links : Onlinestatus : MarcoArc ist offline
Registriert seit: Mar 2005
Beiträge: 6
MarcoArc ist zur Zeit noch ein unbeschriebenes Blatt
Post

... öööh - doch, hab ich schon anfänglich so gemacht gehabt

Schuld an der Fehlermeldung war einzig und alleine dieser Versuch gleich im Array den Anker mitzugeben - dadurch entstand die von mir gepostete Fehlermeldung.

der schuldige Eintrag im Array:

$dateien['impressum'] = "_praxis.htm#5";

liebe Grüße - Marco
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:52 Uhr.