Kjapp og trygg hosting for Wordpress

Sette inn php-verdi i url

kongen

kongemedlem
Hvordan kan jeg stte inn verdien av "top" inn i url'en. Denne koden virker ikke:

PHP:
<?php
$football=$_GET['top'];
?>

<?php
if ($_GET['product'] == 'ball')
{ header('Location: http://domene.no/index.php?id=<?php echo $football; ?>'); exit(); }

// default product
header('Location: http://domene.no'); exit();
?>
 

clinton4

Medlem
PHP:
<?php 
$football=$_GET['top']; 
?> 

<?php 
if ($_GET['product'] == 'ball') 
{ header("Location: http://domene.no/index.php?id=$football"); exit(); } 

// default product 
header('Location: http://domene.no'); exit(); 
?>
 
Sist redigert:

adeneo

Medlem
PHP:
<?php 
$football=$_GET['top']; 

if ($_GET['product'] == 'ball')  { 
    header('Location: http://domene.no/index.php?id='.$football); 
    exit(); 
} 

// default product 
header('Location: http://domene.no');
exit(); 
?>
 

kongen

kongemedlem
Takk, det virker :D

Hva hvis jeg ønsker å sette inn enda en variabel i url'en, hvordan vil den se ut da?

Noe slikt?

PHP:
header('Location: http://domene.no/index.php?id='.$football+.$football2);
 

Bjørnar

Gründer
Kode:
header("Location: http://domene.no/index.php?id=$football.$nyvariabel.$nokennyvariabel"

trikset er punktum, altså ;)
 

adeneo

Medlem
Trikset ligger vel egentlig i hvilke quotes man bruker.

Punktum legger sammen ting (consentenate) på samme måte som '+' for eksempel gjør i javascript.

Bruker man doble quotes kan man skrive variablen rett inn i strengen, men for eksempel så vil jo denne:

PHP:
$football="kjell";
$nyvar="arne";
$nokennyvar="kalle";

header("Location: http://domene.no/index.php?id=$football.$nyvar.$nokennyvar");

videresende til linken : http://domene.no/index.php?id=kjell.arne.kalle

Altså skrives punktum'ene også ut, og er unødvendige for å legge sammen variablene i den sammenhengen og blir i stedet til en del av strengen, mens denne :

PHP:
header('Location: http://domene.no/index.php?id='.$football.$nyvar.$nokennyvar);

blir til linken : http://domene.no/index.php?id=kjellarnekalle
og kunne forsåvidt også vært skrevet med doble quotes, men ofte er det enklere synes jeg å bruke enkle quotes, og i stedet være konsekvent på punktum osv. da det gir mindre problemer når man får litt mer avanserte ting med mange variabler osv.
Men det er vel som alt annet i PHP, legg til fjortåførti funksjoner som gjør det samme, slik at utvikleren kan velge, og lag fullstendig forvirring i måten det skrives på ?
 

nukleuz

Medlem
Til slikt ville jeg brukt sprintf funksjonen. Lettere og mer oversiktlig.

PHP:
header( 'Location: ' . sprintf( 'http://domene.no/index.php?id=%s.%s.%s', $football, $nyvar, $nokennyvar ) );
die();

PHP:
header( 'Location: ' . sprintf( 'http://domene.no/index.php?id=%s%s%s', $football, $nyvar, $nokennyvar ) );
die();

PHP:
header( 'Location: ' . sprintf( 'http://domene.no/index.php?id=%s&other=%s&third=%s', $football, $nyvar, $nokennyvar ) );
die();
 
Topp