GrusommeGabriel Skrevet 11. mars 2009 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..
OIS Skrevet 11. mars 2009 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);
Nickless Skrevet 11. mars 2009 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
Nickless Skrevet 11. mars 2009 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
Bikeridr Skrevet 11. mars 2009 Skrevet 11. mars 2009 (endret) Hvis du bruker elseif (!isset($_REQUEST['name'])){ $navn = Anonym; } Istedet for if (empty...) ? Endret 11. mars 2009 av Bikeridr
Nickless Skrevet 11. mars 2009 Skrevet 11. mars 2009 Hvis du bruker elseif (!isset($_REQUEST['name'])){ $navn = Anonym; } Istedet for if (empty...) ? Akkurat det samme
Bikeridr Skrevet 11. mars 2009 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..
Haraldson Skrevet 11. mars 2009 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
Nickless Skrevet 11. mars 2009 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
OIS Skrevet 11. mars 2009 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>";
Bikeridr Skrevet 11. mars 2009 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..
Nickless Skrevet 11. mars 2009 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
Bikeridr Skrevet 11. mars 2009 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.
Nickless Skrevet 11. mars 2009 Skrevet 11. mars 2009 Trådstarter burde helt klart få det til med switch/case-funksjonen ja
tsoiland Skrevet 11. mars 2009 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.
GrusommeGabriel Skrevet 11. mars 2009 Forfatter Skrevet 11. mars 2009 Takker for svar. Problem solved. og det funker visst for alle andre og så
OIS Skrevet 11. mars 2009 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.
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å