Wątek przeniesiony 2016-01-07 19:55 z PHP przez dzek69.

Anchor - niedziałający header

0

Witam
Natknąłem się na dosyć dziwny problem, jest ktoś w stanie mi powiedzieć czemu to nie działa ?
Chciałem przekazać w linku jeden parametr ale niestety nie działa wówczas header, co robię źle ?
orginalnie, tak działa :

$link = anchor('/htmlFiles/client_site.php');
	header('Location: ' . $link); 

A gdy zmienie na coś takiego to już przerzuca mnie na inną stronę.

$link = anchor('/htmlFiles/client_site.php'.$m[1]);
	header('Location: ' . $link); 
1

Zrób var_dump($link); die(); i zobacz, co strona wypluwa.
A na przyszłość podawaj więcej informacji - co to za funkcja anchor? Co znajduje się w zmiennej m?

0

wypluło mi coś takiego"string(0) ""

 if( !function_exists('anchor')) {
	function anchor ($name = FALSE, $u = TRUE) { 
		$url = '';
		
		if($name === FALSE) return;
		
		if($name[0] === '/') {
			$name = substr($name, 1);	
		}

		if($u === TRUE) {
			if($name[0] === '?') {
				$url = URL_INDEX . $name;	
			}
			else {
				$substr_four = substr($name, -4);
				$substr_three = substr($name, -3);
				if($substr_four === '.php' || $substr_four === '.css' || $substr_three === '.js') {
					$url = URL . '/' . $name;
				}
			}
		}
		else if($u === FALSE) {
			$url = URL_INDEX;
		}
		else {
			$url = '';	
		}

		return $url;
	}
}

zmienna $m to tablica dwuelementowa,

1

I nie wyciągnąłeś z tego wniosków? :/

$link jest pustym stringiem, stringiem o długości zero --- taka właśnie informacja spłynęła do Ciebie z var_dumpa.

To teraz zatrzymaj się na chwilę i pomyśl jakie to ma skutki?

Może takie, że oferujesz przeglądarce, żeby zrobiła Location: do pustego adresu? No to chyba nie dziwne, że nie robi ;)

Ogarnij sobie to tak, żeby anchor albo nie zwracał pustego stringa, albo w takim przypadku rób coś innego z tym Location.

1 użytkowników online, w tym zalogowanych: 0, gości: 1