MartyRot Skrevet 7. desember 2015 Del Skrevet 7. desember 2015 (endret) Hei! Jeg bruker scriptet "Web Page Password Protect" til Zubrag.com. Der fins det et script som gjør at hvis du er logget inn med et brukernavn kan du bli videresendt til en bestemt side. Er du logget inn med et annet brukernavn blir du sendt til en annen. Scriptet i seg selv fungerer, men jeg får ikke plottet inn resultatet inn i header('Location: boksen. Her er scriptet: <?php // request login? true - show login and password boxes, false - password box only define('USE_USERNAME', true); ################################################################## # SETTINGS START ################################################################## // Add login/password pairs below, like described above // NOTE: all rows except last must have comma "," at the end of line $LOGIN_INFORMATION = array( 'Per' => 'PerPassord', 'Ole' => 'OlePassord' ); $SUBDOMAINS = array( 'Per' => 'per', 'Ole' => 'ole' ); // request login? true - show login and password boxes, false - password box only define('USE_USERNAME', true); ################################################################## # SETTINGS END ################################################################## header('Location: '.$SUBDOMAINS[$login].'.php'); die(); ?> Er det noe feil i scriptet? Siden kommer frem som: Not Found The requested URL /.php was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Som tyder på at den får plottet inn ".php", men ikke det som står i ".$SUBDOMAINS[$login]." koden. Noen som vet råd? EDIT: Etter et godt tips fikk jeg det til slutt til å fungere. Poster den endelige koden her, i tilfelle andre skal ha et lignende problem. <?php ############################################################### # Page Password Protect 2.13 ############################################################### # Visit http://www.zubrag.com/scripts/ for updates ############################################################### # # ############################################################### ################################################################## # SETTINGS START ################################################################## include_once('settings.php'); // Add login/password pairs below, like described above // NOTE: all rows except last must have comma "," at the end of line $LOGIN_INFORMATION = array( 'Per' => 'PerPassord', 'Ole' => 'OlePassord' ); $SUBDOMAINS = array( 'Per' => 'per', 'Ole' => 'ole' ); ################################################################## # SETTINGS END ################################################################## /////////////////////////////////////////////////////// // do not change code below /////////////////////////////////////////////////////// // user provided password if (isset($_POST['access_password'])) { $login = isset($_POST['access_login']) ? $_POST['access_login'] : ''; $pass = $_POST['access_password']; if (!USE_USERNAME_ADMIN && !in_array($pass, $LOGIN_INFORMATION) || (USE_USERNAME_ADMIN && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) ) ) { showLoginPasswordProtect("Feil passord."); } else { // set cookie if password was validated setcookie("verify", md5($login.'%'.$pass), $timeout, '/'); // Some programs (like Form1 Bilder) check $_POST array to see if parameters passed // So need to clear password protector variables unset($_POST['access_login']); unset($_POST['access_password']); unset($_POST['Submit']); } } else { // check if password cookie is set if (!isset($_COOKIE['verify'])) { showLoginPasswordProtect(""); } // check if cookie is good $found = false; foreach($LOGIN_INFORMATION as $key=>$val) { $lp = (USE_USERNAME_ADMIN ? $key : '') .'%'.$val; if ($_COOKIE['verify'] == md5($lp)) { $login = $key; // prolong timeout if (TIMEOUT_CHECK_ACTIVITY_ADMIN) { setcookie("verify", md5($lp), $timeout, '/'); } break; } } } header('Location: '.$SUBDOMAINS[$login].); die(); ?> Endret 7. desember 2015 av MartyRot Lenke til kommentar
Thorbear Skrevet 7. desember 2015 Del Skrevet 7. desember 2015 Tja, man kan jo begynne med å spørre hvor resten av koden er? Etter en kjapp kikk på siden du refererer til, så kan det se ut som du har kopiert ut en konfigurerings-snutt av en større fil som det er ment du skal bruke. Jeg tipper at det også et sted i denne filen er definert $login, slik at $SUBDOMAINS[$login] blir noe annet enn tom tekst. Jeg ser også at du har dette 2 ganger: define('USE_USERNAME', true); Som det nesten er rart at PHP ikke klager over. 1 Lenke til kommentar
MartyRot Skrevet 7. desember 2015 Forfatter Del Skrevet 7. desember 2015 (endret) Tja, man kan jo begynne med å spørre hvor resten av koden er? Etter en kjapp kikk på siden du refererer til, så kan det se ut som du har kopiert ut en konfigurerings-snutt av en større fil som det er ment du skal bruke. Jeg tipper at det også et sted i denne filen er definert $login, slik at $SUBDOMAINS[$login] blir noe annet enn tom tekst. Jeg ser også at du har dette 2 ganger: define('USE_USERNAME', true); Som det nesten er rart at PHP ikke klager over. Selvfølgelig...! Jeg tok bare utgangspunkt i at den ikke trengte mer en påloggings-infoen, men stusset også over at det ikke var noe som het $login. Da skal jeg få plottet inn resten av koden. Når det gjelder 2x define(USE_USERNAME') var det slik den var skrevet på nevnte nettside, men skal fikse det. Kan godt kopiere inn hele koden, men jeg tipper det fins en refererings-kode som jeg kan plotte inn istedenfor? slik at jeg kun trenger å ha med det fra "$SUBDOMAINS = array(" og nedover. Vet du om noe jeg kan bruke? Tusen takk for rask hjelp! EDIT: Kan selvfølgelig bruke: include_once('settings.php'); Takk igjen. Endret 7. desember 2015 av MartyRot 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å