zurück/back button ohne/without java-script

Get help with installation and running phpwcms here. Please do not post bug reports or feature requests here.
Post Reply
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

zurück/back button ohne/without java-script

Post by gaudi »

hy there,

ich suche nach einer möglichkeit den zurück button/text ohne java-script zu realisieren.
ich bin der meinung dass eine page auch ohne java voll funktionsfähig sein sollte.
bei eigenen projekten hab mir über php bisher immer den "alten content" in einer variablen gemerkt, und dann damit die zurück funktion realisiert, alternativ möchte ich einfach auf die var $SERVER_['HTTP_REFERER'] zugreifen, doch
in welcher datei wird das RT [BACK] definiert, bzw. gebildet?

I look for a possibility to realise the back button/text without Javascript.
I am the opinion that a page should also be fully functional without java.
with own projects i noticed the "old content" in a variable and realised the back function in this way. alternatively i want to use the var $SERVER_['HTTP_REFERER'], but in which file does phpwcms build the RT [BACK] ?

danke für eure hilfe
thx for your help

gaudi
..:: GAUDI ::..
Audax
Posts: 32
Joined: Wed 8. Jun 2005, 17:01

Post by Audax »

i guess my answer was not really an answer... :oops:
Cogito, ergo sum..
dixid
Posts: 28
Joined: Tue 30. Aug 2005, 23:05
Contact:

Post by dixid »

You can find the function in front.func.inc.php

Code: Select all

	// back Link (string)
	$search[14]		= '/\[BACK\](.*?)\[\/BACK\]/i';
	$replace[14] 	= '<a href="javascript:history.back();" target="_top" title="go back">$1</a>';
dixid
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

thx

Post by gaudi »

@ all for your answer

gaudi
..:: GAUDI ::..
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

Lösung / Solution

Post by gaudi »

hy there,

thx to dixid,

sorry, hatte eben nicht so viel zeit. hier die lösung
sorry, did not had so much time a few hours ago. here the solution

datei 'front.func.inc.php'
file 'front.func.inc.php'

original:
$replace[14] = '<a href="javascript:history.back();" target="_top" title="go back">$1</a>';

ersetzen mit
replace with

$replace[14] = '<a href="' .$_SERVER[HTTP_REFERER]. '" target="_top" title="go back">$1</a>';

thats it, right now you don't need java-script for the RT [BACK] function.
..:: GAUDI ::..
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Post by flip-flop »

:wink: Hallo,

Die Funktion ist nicht die Gleiche wie bei "javascript:history.back()".
Das Skript springt ausschließlich zum letzten Link. Also es geht nicht in die Tiefe.
Bitte nicht vergessen.

of course this php snippet is jumping to the last call. The oposite to "javascript:history.back()" are, you can only jump to the last call, it represents a toggle.

It is a fine function, but please don´t forget this.


Knut :D
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

you are right

Post by gaudi »

@fli-flop

ja, da hast du recht. hätte man drauf hinweisen sollen.
aber für mein projekt reicht es nur einen schritt zurück zu gehen.
ich persönlich setze aber dies eh nur ein, wenn es sonst keine andere möglichkeit mehr gibt in den vorherigen artikel zu gelangen. alles andere sollte über die eigentliche navigation abgedeckt sein.
wenn man NUR die java version wählt, hat der ohne java GARKEINE möglichkeit zurück zu gehen.

yes, you are right. whereupon I should have referred to.
but for my project it´s enough to go back one step.
i use it only if it´s not possible to go back to the last artikel with the normal navigation. everything else should be realised with the normal navigation. if you only use the java version, the user did not have ANY possibility to go back.

guido
..:: GAUDI ::..
Pappnase

Post by Pappnase »

hello

how about this tag!?

Code: Select all

{BROWSE:NEXT:Text:0 oder 1}
or

Code: Select all

{BROWSE:PREV:Text:0 oder 1}
http://www.phpwcms-docu.de/index.php?navigations_tags_
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

not bad, but...

Post by gaudi »

...
first of all i thought this would be the real way, but the {BROWSE:PREV:back:1} for example is only going back in the site strukture, but the last in the site strukture is not the same as the last screen i´ve seen ;-)
i m thinking about a new function where i save the "history" of the referer information in a array. every time you klick the back button, he del the last entry ans so i get a real back funktion. we will see.

sorry about my bad english ;-)

guido
..:: GAUDI ::..
Apollo2000
Posts: 56
Joined: Thu 7. Jul 2005, 16:05

Post by Apollo2000 »

@gaudi

gute Idee, hat aber leider noch einen kleinen Haken.
Bei Verwendung von Webfiltern, die die Übertragung der Referer-Zeile unterdrücken, landet man mit dem Back-Button mitunter auf der Startseite oder sonstwo, aber nicht da, woher man gekommen ist.

Ansonsten gebe ich dir Recht, dass eine gute Seite nach Möglichkeit komplett ohne Java auskommen sollte. Aber um manche Dinge zu realisieren, z.B. auch eine vergrößerte Grafik, die in einer festen Fenstergröße zentriert als Pop-Up geöffnet werden soll, geht es halt nicht anders.
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

uups,..

Post by gaudi »

@Apollo2000
...i didn´t know about the filter. are they used often? how many percent?

ok, an other idea:
i save the information about the last alias or the id information in a array (like the referer before). then it must be work, or?

;-) there must be a possibility ;-)

guido
..:: GAUDI ::..
Apollo2000
Posts: 56
Joined: Thu 7. Jul 2005, 16:05

Post by Apollo2000 »

I don´t know how many percent, but afaik popular products like for example Norton Internet Security and also some Firewalls hide the referer to protect privacy.

Maybe you find another solution, thanks for your work!
gaudi
Posts: 18
Joined: Sat 27. Aug 2005, 15:31
Location: Ruhrgebiet MH/R

THERE IT IS ;-)

Post by gaudi »

hy there,

i found a possibility to use the back button without java script.
maybe the code is not the finest but it works.
if you find a better solution please post it!!!
my system whith 1.2.5-DEV works fine.

first step:
copy following code into "index.php" after ca. LINE 60 or look for...

$cache_query_string = remove_hashID($_SERVER['QUERY_STRING']);
define('FE_CURRENT_URL', PHPWCMS_URL.'index.php?'.$cache_query_string);

sorry i didn´t have java activatet right now ;-)

-- CODE snipp --
// linkanhang "&hist=back" aus query string entfernen // für eintrag in array xx_ref
if(!empty($_SERVER['QUERY_STRING'])){
$xx_back = ereg_replace('&hist=back', '', $_SERVER['QUERY_STRING']);
$xx_back = '?'. $xx_back;
}

// bei klick auf BACK lösche die letzen beiden einträge aus xx_ref
if(isset($hist)){
array_pop($_SESSION['xx_ref']);
array_pop($_SESSION['xx_ref']);
}

if (!isset($_SESSION['xx_ref'])) {
$xx_ref = array();
$xx_ref[] = $xx_back;
session_register(xx_ref);
} else {
$_SESSION['xx_ref'][] = $xx_back;
}
$xx_anz_arr = (count($_SESSION["xx_ref"])-2);
$xx_link_zur = 'index.php' .$_SESSION[xx_ref][$xx_anz_arr].'&hist=back';

//damit es keine probleme mit der startseite gibt
if($xx_link_zur == 'index.php&hist=back'){
$xx_link_zur = 'index.php?hist=back';
}

// notwendig, da sonst die anzeige im content part nicht erfolgt
session_register(xx_link_zur);

-- CODE snapp --

second step:
search front.func.inc.php for $replace[14] and

replace
$replace[14] = '<a href="javascript:history.back();" target="_top" title="go back">$1</a>';

with
$replace[14] = '<a href="' .$_SESSION[xx_link_zur]. '" target="_top" title="go back">$1</a>';

have fun!

guido
..:: GAUDI ::..
Post Reply