Fronkle Skrevet 6. juni 2011 Skrevet 6. juni 2011 Kan noen hjelpe meg med litt koding? hva er feil? Jeg får opp følgende feilmelding: Notice: Undefined index: action in C:\xampp\htdocs\ov\script\action.php on line 3 Feilmeldingen dukker bare opp på første gang man laster action.php. det vil si at neste gang man klikker på en lenke i menyen så forsvinner feilmeldingen og alt ser ok ut. action.php ser slik ut: <?php switch($_GET['action']) { case '': { $category = "15"; include "cutenews/show_news.php"; } break; case 'om_oss': { $category = "15"; include "cutenews/show_news.php"; } break; case 'begivenheter': { $category = "16"; include "cutenews/show_news.php"; } break; case 'bildegalleri': { $category = "17"; include "cutenews/show_news.php"; } break; case 'intranett': { $category = "20"; include "cutenews/show_news.php"; } break; case 'vedtekter': { $category = "18"; $template = "Headlines"; include "cutenews/show_news.php"; } break; case 'brøyting': { $category = "19"; include "cutenews/show_news.php"; } break; } ?> Jeg sliter også med en type intranett side, der man må skrive inn passord for å komme videre. Men uansett om en skriver noe i formen eller ikke og klikker enter så får man tilgang. Hvordan løser jeg dette? Jeg har da en index.php som er "offentlig" og en lenke i menyen som lenker til index_intranett.php. Når denne siden dukker opp, henter(include) den en nyhet fra cutenews som da inneholder dette: <form action="index_intranett.php" method="post"> Skriv inn tildelt passord <input type="passordtest" name="pass"> og klikk på <input type="submit" value="Send"> </form>
MikkelRev Skrevet 7. juni 2011 Skrevet 7. juni 2011 (endret) Det er fordi $_GET["action"] ikke finnes før du trykker på en av de. Du kan enten kjøre switch() kun hvis et menyvalg er satt: if(isset($_GET["action"])) { //putt hele switch()-koden din her } eller sette en standardverdi: if(isset($_GET["action"])) $action=$_GET["action"]; else $action=""; switch($action) { case "": { $category = "15"; include "cutenews/show_news.php"; } //resten av swich()-koden her. Egentlig ville jeg heller flyttet case "":-blokken nederst i switchen og omdøpt den til default: Hvorfor du får tilgang uansett hva du skriver som passord, har med koden som validerer passordet i index_intranett.php å gjøre. Endret 7. juni 2011 av MikkelRev 1
Fronkle Skrevet 7. juni 2011 Forfatter Skrevet 7. juni 2011 Takk for svar. Flytte case helt nederst? Hvordan mener du? Noen andre gode forslag til hvordan jeg kan lage et intranett? Eller er det godt nok å gjøre slik jeg har begynt? Om man vet adressen til den eksakte urlen kan vel hvem som helst få tilgang til informasjonen? Er det mulig å skjule adressen man er på i nettleseren på et vis? Jeg skulle gjerne likt å fått noen tilbakemeldinger sånn generelt på siden også om det er mulig. Har ikke lastet den opp på web enda...
Occi Skrevet 8. juni 2011 Skrevet 8. juni 2011 Om du definerer intranett som at det er kun tilgjengelig vha. et passord, og evt. et brukernavn, men ligger offentlig på nettet, så er det bare å legge hele koden din inn i f. eks en sjekk på $_SESSION-login. Men er litt usikker på om det er slik du tenker deg, eller om du vil at det kun skal være tilgjengelig lokalt, i så fall er det vel gjerne settings, og ikke scripting du må se på, men det veit jeg fint lite om. Eksempel på login og sjekk kan være: login: <?php session_start(); if(isset($_POST['login'])) { $_SESSION['login'] = $_POST['username']; echo "<p>Logget inn.</p>"; } else { ?> <form action="" method="post"> Brukernavn: <input type="text" name="username"><br/> Passord: <input type="password" name="password"><br/> <input type="submit" value="login"> </form> <?php } ?> Side som krever passord, f. eks index_intranet.php eller hva du kalte den: <?php session_start(); if(isset($_SESSION['login'])) { // putt din side her } else { echo "<p>Du må være logget inn får å kunne få tilgang her.</p>"; } ?>
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å