28. november 2009 - 19:19Der er
14 kommentarer og 1 løsning
Problemer med login system
Jeg har et login script som jeg ikke kan få til at virke eller rettere sagt det virker fint når jeg kører login scriptet for sig selv, så redirecter den fint videre til en anden side, men når jeg bruger det i forbindelse med Joomla så kan jeg ikke få det til at redirecte til forsiden i Joomla.
Jeg har lavet det på følgende måde.
1. Jeg har lavet filen .htaccess med følgende linje "DirectoryIndex default.php index.php" i roden af mit webhotel.
Det har jeg gjort for så kan jeg lave en default.php der redirecter til min login folder og starter login.php(mit login billede). I login.php redirecter jeg til index.php i Joomla når brugernavn og password er accepteret og så skulle siden bare starte op og det gør den ikke.
Prøv at se hvad der sker hvis du bruger login "bob" og "12345678". Hold øje med adresse bar'en det ser ud som jeg stadig er i login folderen selv om jeg i mit script har rettet det til "../index.php" altså index filen i rooden af webhotellet.
Hvordan får jeg det rettet så den redirecter til Jommla's index.php som ligger i rooden af webhotellet.
Jeg har lavet samme setup lokalt på min maskine og der kan jeg godt få det til at virke, men altså ikke når jeg kører det på webhotellet hos DomainDirect.dk.
Håber der er en der kan løse opgaven for mig, jeg er ikke den store php haj.
Her er koden til scriptet: <?php require_once('common.php');
$error = '0';
if (isset($_POST['submitBtn'])){ // Get user input $username = isset($_POST['username']) ? $_POST['username'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : '';
// Try to login the user $error = loginUser($username,$password); }
Ahh jeg har jo glemt at skrive adressen på hjemmesiden. Det er jo lidt svært at logge ind så man kan se hvad der sker når man ikke har adressen, klovn(mig selv) http://gjextranet.net
Nej. Det virker ikke som du vil have det :) Men det ser ud til, at det ikke er koden der er fejl i. Derfor er du nødt til, at vide hvad der ligger i den variabel der indeholder adressen du redirecter til.
Derfor ændre: header ("location: $redirect_link");
Hvis jeg prøver at gøre det samme på min maskine lokalt viser den mig lidt mere. Notice: Undefined variable: Webroot in C:\wamp\www\gjextranet\login\login.php on line 48 ../index.php
Hvis jeg fjerne .htaccess som starter den bare Joomla's forside op(index.php). Det er derfor jeg har .htaccess med default.php og index.php for så tager den fat i default.php som jeg gerne vil have. Den kan bare ikke finde ud af at komme tilbage til index.php med den redirect der er lavet i login.php.
Du får den fejl fordi $Webroot variablen ikke eksisterer. Altså den ikke er blevet defineret inden du bruger den i $redirect_link = $Webroot."../index.php";
Jeg har måske luret den. Prøv at ændre: if (isset($_POST['submitBtn'])){ // Get user input $username = isset($_POST['username']) ? $_POST['username'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : '';
// Try to login the user $error = loginUser($username,$password); }
Til: if (isset($_POST['submitBtn'])){ // Get user input $username = isset($_POST['username']) ? $_POST['username'] : ''; $password = isset($_POST['password']) ? $_POST['password'] : '';
// Try to login the user $error = loginUser($username,$password); if ($error == '') { $redirect_link = $Webroot."../index.php"; header ("location: $redirect_link"); } }
Ok ja jeg har kun programmeret classic ASP og det er lidt anderledes.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.