Avatar billede mmohr Nybegynder
16. april 2004 - 16:42 Der er 15 kommentarer og
1 løsning

Login med register_globals OFF

Er der en der har et godt og meget enkelt login system med mysql der fungerer selvom serveren har register_globals sat til OFF!

et af de der logins hvor man bare tilføjer en require php i toppen af hver side!

lidt assistance er nok også nødvendigt!
Avatar billede technodance.dk Nybegynder
16. april 2004 - 16:47 #1
ja havd vil du give / ponit /penge
Avatar billede mmohr Nybegynder
16. april 2004 - 16:55 #2
findes der ikke nogle freeware der kan hentes! ellers vil jeg da gerne gi lidt flere point?
Avatar billede elskermad.dk Nybegynder
16. april 2004 - 17:05 #3
har du et system i forvejen som ikke bruger globals off? lyder lidt sådan for så kan jeg da tilpasse det...?
Avatar billede mmohr Nybegynder
16. april 2004 - 17:10 #4
ja, det er faktisk det der er problemet! :-) Jeg er ikke hjemme nu, men poster mine scripts senere!
Avatar billede fangel Nybegynder
16. april 2004 - 17:48 #5
hvis bare man kan en smule PHP / General Programmering kan man godt selv finde ud af at omskrive sine script...

det du skal er at udskrifte variabler's navne ud fra følgende 'skema'

------------------------------------------------
| Navn                  | Hvornår
| $variabel            | Når variablen sættes _I_ PHP scriptet
| $_POST['variabel'] | Når variablen kommer fra en <form>
| $_GET['variabel']  | Fra addresselinien
| $_COOKIE['variabel'] | Siger sig selv...
| $_SESSION['variabel'] | Fra session
---------------------------------------------

Læs mere på PHP.net, søg efter 'predefined variables'

Morten
Avatar billede dennismp Nybegynder
16. april 2004 - 18:15 #6
Avatar billede sukos Juniormester
16. april 2004 - 18:52 #7
du kan osse prøve om noget af det her vil hvad du vil:

http://www.showsource.dk/php/?list=Login
Avatar billede mmohr Nybegynder
16. april 2004 - 23:41 #8
Her er så de 3 php i login processen! det er sikkert ikke så meget der skal ændres?

logind.php
---------------------------------------------------

      <form action="dologin.php" method="post">
        <span class="bigbluetext">
       
        </span> <span class="bluetext"><strong>Brugernavn</strong></span><span class="bigbluetext"><br>
        <input name="navn" type="text" class="box2">
       
        <input type="hidden" name="logind" value="logind">
        <br>
        </span><span class="bluetext"><strong>Password</strong></span><span class="bigbluetext"><br>
        <input name="password" type="password" class="box2">
        <br>
        <br>
        <input name="submit" type="submit" class="box2" value="LOG IND">
        </span>
      </form>
      <span class="bigbluetext">
      <?php
if (isset($_GET['error']) && $_GET['error'] == "fejl") {
echo"<span class='redtext'>FEJL I BRUGERNAVN ELLER PASSWORD!</span>";
}
?>

---------------------------------------------------


dologin.php
---------------------------------------------------

<?php

session_start();

if (isset($_POST['logind'])) {

$dopass = md5($_POST['password']);

$db = mysql_connect("x", "x", "x") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db ("x") or die ("Kan ikke forbinde til databasen!");

$tjek = mysql_query("SELECT navn, password FROM kb_webadmin_brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$_SESSION['sessionid'] = session_id();
$_SESSION['brugernavn'] = $_POST['navn'];

header("Location:forside.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>

---------------------------------------------------


tjeklogin.php
---------------------------------------------------
<?php

session_start();
if (!isset($_SESSION['brugernavn'], $_SESSION['sessionid']) || $_SESSION['sessionid'] != session_id()) {
header("Location:logind.php");
}

function filnavn() {
$vistnavn = explode(".", basename($_SERVER['PHP_SELF']));
echo $vistnavn[0];
}
?>
---------------------------------------------------
Avatar billede dennismp Nybegynder
16. april 2004 - 23:46 #9
Det ser fint ud (fandt ikke lige noget), virker det da ikke?

Eneste ting der undre mig lidt er;
$_SESSION['sessionid'] = session_id();

Dette vil jo altid gælde - så hvorfor tjekke det?
Avatar billede sukos Juniormester
17. april 2004 - 06:06 #10
hmm, da jeg første gang skulle lave login med sessions, mente jeg det ville virke som "dobbelttjek".
Altså det er jo session_id() som holder forskellige login adskilt.
Og for at være "helt sikker" på det var den rigtige session jeg havde fat i, registrede jeg session_id()

Men man kan jo gost nøjes med blot at tjekke for en enkelt var.

Men kan osse se jeg burde kikke dem efter, de logins! Har bare ikke lige tiden til det.
Avatar billede sukos Juniormester
17. april 2004 - 06:06 #11
Den her:
if(mysql_num_rows($tjek) != 0) {

ville jeg lave til

if(mysql_num_rows($tjek) == 1) {
Avatar billede mmohr Nybegynder
18. april 2004 - 17:03 #12
hmm.. det ændrede ikke noget! men det pudsige er at hvis man skriver en forkert kode eller brugernavn, så melder den tilbage i logind.php'en med FEJL I BRUGERNAVN ELLER PASSWORD!, men hvis jeg taster den rigtige kode ender jeg på logind.php siden igen uden at komme videre til forside.php?
Avatar billede dennismp Nybegynder
18. april 2004 - 17:08 #13
prøv at tilføje i tjeklogin.php, lige efter <?php
print "SESSION="; print_r($_SESSION);
og gå ind på logind.php og logge ind og bagefter så gå ind på tjeklogin.php. Paste outputtet her
Avatar billede mmohr Nybegynder
18. april 2004 - 17:26 #14
når jeg går ind på tjeklogin.php bliver jeg sendt videre til logind.php.. er ikke helt med på hvad du mener?
Avatar billede dennismp Nybegynder
18. april 2004 - 17:53 #15
har du tilføjet de print-linjer - hvad er outputtet fra dem?
Avatar billede mmohr Nybegynder
02. marts 2006 - 13:57 #16
hey! jeg lukker her... kom aldrig frem til noget!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester