GrusommeGabriel Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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.. Lenke til kommentar
OIS Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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); Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (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 11. mars 2009 av Nickless Lenke til kommentar
tsoiland Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 $navn = "Anonym"; There you go Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (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 11. mars 2009 av Nickless Lenke til kommentar
Bikeridr Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (endret) Hvis du bruker elseif (!isset($_REQUEST['name'])){ $navn = Anonym; } Istedet for if (empty...) ? Endret 11. mars 2009 av Bikeridr Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 Hvis du bruker elseif (!isset($_REQUEST['name'])){ $navn = Anonym; } Istedet for if (empty...) ? Akkurat det samme Lenke til kommentar
Bikeridr Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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.. Lenke til kommentar
Haraldson Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (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 11. mars 2009 av Haraldson Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (endret) case name { echo ("Du heter $name") } break; default { echo ("Du heter Anonym") } break; Fikk det til å funke, takk skal du ha Endret 11. mars 2009 av Nickless Lenke til kommentar
OIS Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 case name { echo ("Du heter $name") } break; default { echo ("Du heter Anonym") } break; Fikk det til å funke, takk skal du ha 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>"; Lenke til kommentar
Bikeridr Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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.. Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (endret) Sluttresultat: switch ($name) { case isset($_REQUEST['name']); echo "<p>Du heter $name.</p>"; break; default: echo "Du skrev ingenting i navneboksen."; } Endret 11. mars 2009 av Nickless Lenke til kommentar
Bikeridr Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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. Lenke til kommentar
Nickless Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 Trådstarter burde helt klart få det til med switch/case-funksjonen ja Lenke til kommentar
tsoiland Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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. Lenke til kommentar
GrusommeGabriel Skrevet 11. mars 2009 Forfatter Del Skrevet 11. mars 2009 Takker for svar. Problem solved. og det funker visst for alle andre og så Lenke til kommentar
OIS Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 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. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå