Gå til innhold

[Løst]Problemer med variabel i URL


Anbefalte innlegg

Skrevet

Hallo jeg har en php fil som skal skrive ting på siden som avhenger av en variabel...

 

så hvis adressen er www.side.no/index.php?section=loose

 

så skal den skrive en spesiell ting på siden...

 

jeg har denne koden

 

<?php
$section = $_GET['section'];
if ($section == "loose") {echo 'You loose';}
?>

 

men den virker ikke. jeg får ikke php error den bare virker ikke...

 

takker for svar..

Videoannonse
Annonse
Skrevet

For det første: loose betyr løs, lose betyr tape ... så du forteller besøkende "Du løs"?

 

Du kan skrive ut innholdet i $_GET og se hva du får.

var_dump($_GET);

Skrevet (endret)

Sliter med noe alla det samme, så poster bare her:

 

if(isset($_REQUEST['name'])){

$navn = $_REQUEST['name'];

}

elseif (empty($_REQUEST['name'])){

$navn = Anonym;

}

 

echo "<p>Du heter visst $navn </p>";

 

Får den ikke til å printe Anonym hvis man ikke skriver noe i navneboksen, noen som ser en stor/liten feil? ;)

Endret av Nickless
Skrevet (endret)
$navn = "Anonym";

 

There you go ;)

 

Tingen er at jeg har prøvd det, gir samme utslaget :S

 

med var_dump($navn); får jeg string(0) ""

 

Så virker ikke som om den if setningen der noen gang slår til

Endret av Nickless
Skrevet

Prøvd med switch/case da?

 

case name {
echo ("Du heter $name")
}
break;
default {
echo ("Du heter Anonym")
}
break;

 

Tror koden er riktig, lenge siden jeg kodet php, så jeg må nok friske opp litt..

Skrevet (endret)

Bikeridr:

 

switch($_REQUEST['name'])
{
case 'tilfelle1':
	echo 'blabla';
	break;
case 'tilfelle2':
	echo 'blabla';
	break;
default:
	echo 'default';
}

 

...men det har ingenting med å forsikre seg om at variabelen spytter ut en verdi uansett hva som sendes i request, i og med at switch handler om å switche på kjente, forhåndsdefinerte (mulige) verdier.

Endret av Haraldson
Skrevet (endret)

case name {
echo ("Du heter $name")
}
break;
default {
echo ("Du heter Anonym")
}
break;

 

Fikk det til å funke, takk skal du ha :D

Endret av Nickless
Skrevet
case name {
echo ("Du heter $name")
}
break;
default {
echo ("Du heter Anonym")
}
break;

 

Fikk det til å funke, takk skal du ha :D

 

Den koden bør du skrape. Kan ikke se at du har limt inn kode som skal fungere. Tenker da spesielt på case name. Du kan lese om switch her.

 

Her er slik koden din bør være:

 

if(isset($_REQUEST['name'])){
 $navn = $_REQUEST['name'];
} else {
 $navn = 'Anonym';
}

// eller

$navn = (isset($_REQUEST['name']) ? $_REQUEST['name'] : 'Anonym');

//eller
$navn = 'Anonym';
if(isset($_REQUEST['name'])){
 $navn = $_REQUEST['name'];
}

echo "<p>Du heter visst $navn </p>";

Skrevet
Den koden bør du skrape. Kan ikke se at du har limt inn kode som skal fungere. Tenker da spesielt på case name. Du kan lese om switch her.

Vel, koden er ikke "limt inn" men skrevet fritt fra en lett rusten php-hukommelse.

Derfor:

Tror koden er riktig, lenge siden jeg kodet php, så jeg må nok friske opp litt..

 

Men h*n fikk det jo til, sikkert ved å hente idéen fra meg og renskrevet fra Haraldson, så da er vel alle fornøyde.. :)

Skrevet (endret)

Sluttresultat:

 

switch ($name) {
case isset($_REQUEST['name']);
echo "<p>Du heter $name.</p>";
break;
default:
echo "Du skrev ingenting i navneboksen.";
}

Endret av Nickless
Skrevet

Dette tok jo helt av for Nickless. Trådstarter har ikke fått svar på sitt spørsmål ser jeg.

Men Trådstarter bør også kunne "eksperimentere" med switch/case funksjonen for å få det til.

Det ligger eksempler rundtomkring på forskjellige script-tutorials hvordan en kan skifte url vha switch.

Skrevet
if(isset($_REQUEST['name'])){
 $navn = $_REQUEST['name'];
} else {
 $navn = 'Anonym';
}
echo "<p>Du heter visst $navn </p>";

 

Støtter denne jeg. Ser ikke helt hva en switch har å gjøre her.

Skrevet
Sluttresultat:

 

switch ($name) {
case isset($_REQUEST['name']);
echo "<p>Du heter $name.</p>";
break;
default:
echo "Du skrev ingenting i navneboksen.";
}

Å bruke switch istedenfor if for dette er ganske dårlig. Switch brukes for å utføre noe for en eller flere forskjellige verdier av inn data. Hvis du har tenkt å lage mer kode i PHP (eller et hvilket som helst annet språk) bør du lære det riktig fra begynnelsen. Hvis ikke kommer du nok til å slite neste gang du skal ha logikk i koden din.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...