php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.11.2006, 09:24  
Neuer Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 16
Mike123
Standard butoons mit anker

Halllöchen,
folgende Frage:
Ich habe in einem Formular in meinem php-Script einen Sende-button, welcher unter anderem bewirkt, dass zu einem bestimmten Punkt im Script gesprungen wird. funzt auch, aber...
leider erscheint der Name des Anker auch im Seiten -Titel nachdem diese durch den Buttonklick neu geladen wurde. und das gleich 3x. wieso, bzw wie kann ich das verhindern?
Sieht dann so aus "Hardware#anker#anker#anker".
hardware ist der reguläre Titel. Browser ist der IE 6.
Danke für eine ev. Antwort schon mal in voraus.
Mike 123
Mike123 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.11.2006, 13:21  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ohne Quellcode können wir dir glaub ich schlecht helfen!
Flor1an ist gerade online  
Alt 18.11.2006, 16:14  
Neuer Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 16
Mike123
Standard

hallöchen,
erst mal 'ne Entschuldigung. Soll natürlich button und nicht batoon heissen.
Zum Quellcode:

<form action="#anker" method="post">
<input type="submit" name="name" value="value" />
</form>

und an der Stelle im Code die als Ziel auserkoren ist steht:

<a name="anker"></a>

Danke für euer Bemühen und ev. Antworten
Mike 123
Mike123 ist offline  
Alt 19.11.2006, 08:32  
Neuer Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 16
Mike123
Standard

Guten Morgen,
Ich habe noch ein bisschen herumprobiert und bin draufgekommen, dass mein Problem nur bei eingebundenen Seiten auftritt.

Hier der Quellcode:
<?php
// Hier werden alle Seiten gespeichert, die eingebunden werden sollen

$xyz = array( "xxx1" => "xxxxx.php",
"xx2" => "xxxxx2.php",
"xx3" => "xxxxx3.php",
"xx4" => "xxxxx4.php",
"xx5" => "xxxxx5.php"
);

// $_GET['action'] gesetzt?

if (empty($_GET['action'])) {
$include = "xxx1";
} else {
$include = $_GET['action'];
}

if (!@file_exists($xyz[$include])){
tue das......(Fehlermeldung)
}else{
include($xyz[$include]);
}
?>

Nun, der Code selbst funzt... nur bekomme ich bei all diesen eingebundenen Seiten, wenn diese einen Anker haben(der auch funzt) im Seitentitel 3x den Namen des Ankers, wie schon zuvor beschrieben!!

Please help me!!!!!
Mike123
Mike123 ist offline  
Alt 19.11.2006, 12:17  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wenn du einen Link so setzt wie du es tust, also nur href="#anker" nimm der Browser die aktuelle URL und setzt einfach #anker hinten dran! Wenn du schonmal nen anker hattest z.b. www.abc.de#anker dann macht der Browser href="www.abc.de#anker#anker" er hängt also dein #anker nur dran ... natürlich das gleiche bei Fomularen und action="...".

Du solltest dir außerdem angewöhnen in deinen Formular etwas mehr anzugeben ... z.B.
action="index.php#anker" dann bekommste nicht 3 mal anker dran ... also immer die Datei mit angeben, am besten sogar noch die komplette URL.
Flor1an ist gerade online  
Alt 19.11.2006, 12:58  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Mike123
PHP-Code:
<?php
if (!@file_exists($xyz[$include])){
     
tue das......(Fehlermeldung)
}else{
      include(
$xyz[$include]);

?>
Du solltest hier lieber erst einmal prüfen, ob $xyz[$include] existiert, also ob $include einen gültigen Wert hat.

Da Du das Array selber definierst, sollte es nun wirklich nicht nötig sein, dann noch auf file_exists() zu prüfen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 19.11.2006, 15:17  
Neuer Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 16
Mike123
Standard

Danke an alle für die prompten Antworten,

1.) zu RaZoR: Ja, du hast recht wenn man die URL mit angibt besteht dieses Problem nicht. Allerdings nur bei Seiten, die nicht in andere eingebunden sind. Habe das mehrfach getestet. Bei Seiten, die mit diesem Code, aus einem Array, in eine andere eingebunden werden habe ich dieses Problem leider auch dann wenn ich den relativen Pfad mitangebe.

2.) zu Der_Gerhard: Auch dir danke ich für deine Antwort, aber das Script selbst ist nicht die Frage. Es funzt ja. Oder soll ich deine Antwort so deuten, dass der Code selbst schuld hat am Anhang des Anker an den Titel.

Den bei meinem Problem wird der Name des Anker nicht an die URL mehrmals angehängt sondern an den Titel der Seite.(<titel>xyzxyz</title>)!!!???
Gruß
Mike123
Mike123 ist offline  
Alt 19.11.2006, 15:37  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Mike123
2.) zu Der_Gerhard: Auch dir danke ich für deine Antwort, aber das Script selbst ist nicht die Frage. Es funzt ja. Oder soll ich deine Antwort so deuten, dass der Code selbst schuld hat am Anhang des Anker an den Titel.
Nein, mit Deinem Anker-Problem hat mein Posting nichts zu tun.

Aber Du kümmerst Dich nicht darum, ob in dem Array an der Stelle was steht, fütterst das dann einfach in file_exists() und unterdrückst dann eine Fehlermeldung wegen eines fehlenden Parameters und eine Notice wegen eines evtl. nicht definierten Index.

Das ist einfach alles andere als sauber.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 19.11.2006, 16:40  
Neuer Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 16
Mike123
Standard

hallo Der_Gerhard,
wenn mein Programmierstil fehlerfrei wäre, würde ich dann in einem Anfängerforum posten???
Ausserdem bezwecke ich ja mit dem file_exists() gerade das öffnen einer eigenen Fehlermeldung für den Fall, dass die Zieldatei eben nicht existiert.
Nur, das hilft mir jetzt wenig...
...ich brauche wirklich einige Tipps zum Thema - Anker im Titel!
danke im Voraus
Mike 123
Mike123 ist offline  
Alt 19.11.2006, 16:57  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Mike123
hallo Der_Gerhard,
wenn mein Programmierstil fehlerfrei wäre, würde ich dann in einem Anfängerforum posten???
Aber scheinbar hast Du was dagegen, ihn zu verbessern oder wie soll ich Deine Kommentare verstehen?

Zitat:
Zitat von Mike123
Ausserdem bezwecke ich ja mit dem file_exists() gerade das öffnen einer eigenen Fehlermeldung für den Fall, dass die Zieldatei eben nicht existiert.
Denk mal kurz drüber nach, welche Dateien geöffnet werden dürfen.
Die stehen doch alle in Deinem Array.
Und wenn da was drinsteht, dann existiert die doch hoffentlich auch. Sonst wäre es doch ziemlich albern, den Dateinamen extra in das Array aufzunehmen.
Also muss eine Datei, die enthalten ist, auch existieren. Sonst hast Du die Seite komplett falsch zusammengestellt.

Was ein Problem sein kann ist doch eine falsche Übergabe in der URL. Und die nimmst Du als Index in Dein Array. Daher musst Du prüfen, ob der Index existiert. Ist das der Fall, brauchst Du nicht nochmal die Existenz der Datei prüfen.
Und dann brauchst Du auch den @ nicht mehr, weil der nur bei einem falschen Parameter (also undefiniertem Index) auftritt und nicht bei einer fehlenden Datei.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
anker problem ApfeL HTML, Usability und Barrierefreiheit 10 27.08.2006 18:57
Anker erstellen fachinformatiker HTML, Usability und Barrierefreiheit 5 17.05.2006 10:18
Anker bei Header("Location:script.php#anker5"); aktionkuba PHP Tipps 2006 12 03.04.2006 18:26
sofort zu anker springen stf.stream HTML, Usability und Barrierefreiheit 6 05.06.2005 00:10
Variablen - Anker - Fitz stf.stream PHP Tipps 2005-2 1 04.06.2005 18:12
[Erledigt] geht das ? scroll + anker HTML, Usability und Barrierefreiheit 0 22.02.2005 21:33
Anker Links parsen (RegEx) Spyker PHP Tipps 2005 1 31.01.2005 12:01
Anker in Frames HTML, Usability und Barrierefreiheit 6 26.09.2004 17:39
form-button linkt zu einem Anker HTML, Usability und Barrierefreiheit 19 12.06.2004 14:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html anchor seitentitle, php statt <input type=\submit\> anker, submit hängt anker nicht dran, anker form

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.