Avatar billede the_edge Nybegynder
17. december 2006 - 14:16 Der er 9 kommentarer og
1 løsning

Problemer med login

Hejsa jeg har et problem. Jeg har lavet et login. Men hvis felter er tomme og man trykker login så bliver man logget ind.

den får hentet vædierne op fra databasen og fra posten. det er ikke der problemet lægger.

her er koden

<?php
    echo '<div id="login">
   
    <table align="center" border="0">
    <form action="index.php" method="post">
   
    <tr><td><p>Brugernavn :</p></td><td><input type="text" name="brugernavn"></td></tr>
    <tr><td><p>Kodeord :</p></td><td><input type="text" name="kodeord"></td></tr>
    <tr><td>&nbsp</td><td><input type="submit" value="Login"></td></tr>
    </form>
    </table>
   
    </div>';
   
    $indtastedbrugernavn = $_POST["brugernavn"];
    $indtastedkodeord = $_POST["kodeord"];
   
   
    //echo $indtastedbrugernavn. "</br> ". $indtastedkodeord;
   
    $hentet = sql("select * from bruger where Brugernavn = '$indtastedbrugernavn'");
   
    $dbbrugernavn = $hentet["Brugernavn"];
    $dbkodeord = $hentet["Kodeord"];
   
    echo "$dbbrugernavn";
   
    if ($indtastedbrugernavn == $dbbrugernavn && $indtastedkodeord == $dbkodeord)
    {
   
    echo "<p>"."Du er nu logget ind". "</p>";
    echo "<p>".$dbbrugernavn."</p>";
    echo "<p>".$dbkodeord. "</p>";
   
    echo "$dbbrugernavn";
       
    }
   
    else if ($indtastedbrugernavn =! $dbbrugernavn && $indtastedkodeord =! $dbkodeord)
    {
        echo "<p>"."Forkert brugernavn eller kodeord". "</p>";
    }
   
   
   
   
   
?>
Avatar billede kalp Novice
17. december 2006 - 14:20 #1
tjek om de her er tomme før koden køres... (ret til php syntax:P )

if($indtastedbrugernavn <> "" && $indtastedkodeord <> "")
Avatar billede kalp Novice
17. december 2006 - 14:22 #2
<?php
    echo '<div id="login">
   
    <table align="center" border="0">
    <form action="index.php" method="post">
   
    <tr><td><p>Brugernavn :</p></td><td><input type="text" name="brugernavn"></td></tr>
    <tr><td><p>Kodeord :</p></td><td><input type="text" name="kodeord"></td></tr>
    <tr><td>&nbsp</td><td><input type="submit" value="Login"></td></tr>
    </form>
    </table>
   
    </div>';
   
    $indtastedbrugernavn = $_POST["brugernavn"];
    $indtastedkodeord = $_POST["kodeord"];
    if ($indtastedbrugernavn =! "" && $indtastedkodeord =! "")
{
   
    //echo $indtastedbrugernavn. "</br> ". $indtastedkodeord;
   
    $hentet = sql("select * from bruger where Brugernavn = '$indtastedbrugernavn'");
   
    $dbbrugernavn = $hentet["Brugernavn"];
    $dbkodeord = $hentet["Kodeord"];
   
    echo "$dbbrugernavn";
   
    if ($indtastedbrugernavn == $dbbrugernavn && $indtastedkodeord == $dbkodeord)
    {
   
    echo "<p>"."Du er nu logget ind". "</p>";
    echo "<p>".$dbbrugernavn."</p>";
    echo "<p>".$dbkodeord. "</p>";
   
    echo "$dbbrugernavn";
       
    }
   
    else if ($indtastedbrugernavn =! $dbbrugernavn && $indtastedkodeord =! $dbkodeord)
    {
        echo "<p>"."Forkert brugernavn eller kodeord". "</p>";
    }
   
    }
   
   
   
?>
Avatar billede the_edge Nybegynder
17. december 2006 - 14:26 #3
altså post felterne skal bare gøres tomme hver gang ? hvad gør if($indtastedbrugernavn <> "" && $indtastedkodeord <> "") ?
Avatar billede kalp Novice
17. december 2006 - 14:28 #4
tror mere den skal være sådan her...

if ($indtastedbrugernavn =! "" && $indtastedkodeord =! "")

men den tjekker om de 2 variabler indeholder noget. hvis ikke så køre den ikke koden under if
Avatar billede the_edge Nybegynder
17. december 2006 - 14:30 #5
okay... det virked ikke på den måde men forstår godt hvad du mener... men skrev i stedet if (isset($indtastedbrugernavn) == $dbbrugernavn && isset($indtastedkodeord) == $dbkodeord) det virked... men nu kommer fejl meddelsen hele tiden op tilgængæld...
Avatar billede the_edge Nybegynder
17. december 2006 - 14:41 #6
nu har jeg gjordt sådan her.

men når man åbner for siden første gang står der at du er logget ind.

<?php
    echo '<div id="login">
   
    <table align="center" border="0">
    <form action="index.php" method="post">
   
    <tr><td><p>Brugernavn :</p></td><td><input type="text" name="brugernavn"></td></tr>
    <tr><td><p>Kodeord :</p>  </td><td><input type="text" name="kodeord">  </td></tr>
    <tr><td>&nbsp</td>          <td><input type="submit" value="Login" name="login">        </td></tr>
   
    </form>
    </table>
   
    </div>';
   
   

    $indtastedbrugernavn = $_POST["brugernavn"];
    $indtastedkodeord = $_POST["kodeord"];
   
   
    //echo $indtastedbrugernavn. "</br> ". $indtastedkodeord;
   
    $hentet = sql("select * from bruger where Brugernavn = '$indtastedbrugernavn'");
   
    $dbbrugernavn = $hentet["Brugernavn"];
    $dbkodeord = $hentet["Kodeord"];
   
    //echo "$dbbrugernavn";
   
   
   
    if (isset($indtastedbrugernavn) == $dbbrugernavn && isset($indtastedkodeord) == $dbkodeord)
    {
   
    echo "<p>"."Du er nu logget ind". "</p>";
   
    echo "<p>".$dbbrugernavn."</p>";
    echo "<p>".$dbkodeord. "</p>";
   
    $_SESSION["brugernavn"] = $hentet["Brugernavn"];
    $_SESSION["brugernavn"] = $hentet["kodeord"];  //her bliver det lagt over i sessioner så de kan blive tilgået over det hele
    }
    else if (isset($indtastedbrugernavn) != $dbbrugernavn || isset($indtastedkodeord) != $dbkodeord)
    {
        echo "<p>"."Forkert brugernavn eller kodeord". "</p>";
    }
   
?>
Avatar billede kalp Novice
17. december 2006 - 14:47 #7
det der tjek på om der står noget i brugernavn og password skal stå først...

hvis du vil lave de som jeg skrev..

Der skal tjekkes på om de IKKE er tomme... hvis ikke de er tomme så skal den køre alt den kode du har... ellers skal den udskrive forkert brugernavn eller kodeord
Avatar billede the_edge Nybegynder
17. december 2006 - 14:59 #8
okay men hvordan tjekker jeg så på om submit knappen er sat ? har prøvet if(isset(login)) men der kommer fejl
Avatar billede the_edge Nybegynder
17. december 2006 - 15:14 #9
ahh tak nu har jeg fundet ud af det.... der skulle bare bruges if(isset($_POST["login"])) hvis du lægger et svar så aflutter jeg

<?php
    echo '<div id="login">
   
    <table align="center" border="0">
    <form action="index.php" method="post">
   
    <tr><td><p>Brugernavn :</p></td><td><input type="text" name="brugernavn"></td></tr>
    <tr><td><p>Kodeord :</p>  </td><td><input type="text" name="kodeord">  </td></tr>
    <tr><td>&nbsp</td>          <td><input type="submit" value="Login" name="login">        </td></tr>
   
    </form>
    </table>
   
    </div>';
   
   
if (isset($_POST["login"]))
{
    $indtastedbrugernavn = $_POST["brugernavn"];
    $indtastedkodeord = $_POST["kodeord"];
   
   
    //echo $indtastedbrugernavn. "</br> ". $indtastedkodeord;
   
    $hentet = sql("select * from bruger where Brugernavn = '$indtastedbrugernavn'");
   
    $dbbrugernavn = $hentet["Brugernavn"];
    $dbkodeord = $hentet["Kodeord"];
   
    //echo "$dbbrugernavn";
   
   
   
    if (isset($indtastedbrugernavn) == $dbbrugernavn && isset($indtastedkodeord) == $dbkodeord)
    {
   
    echo "<p>"."Du er nu logget ind". "</p>";
   
    echo "<p>".$dbbrugernavn."</p>";
    echo "<p>".$dbkodeord. "</p>";
   
    $_SESSION["brugernavn"] = $hentet["Brugernavn"];
    $_SESSION["brugernavn"] = $hentet["kodeord"];  //her bliver det lagt over i sessioner så de kan blive tilgået over det hele
   
   
       
    }
   
    else if (isset($indtastedbrugernavn) != $dbbrugernavn || isset($indtastedkodeord) != $dbkodeord)
    {
        echo "<p>"."Forkert brugernavn eller kodeord". "</p>";
    }
   
   
}
   
?>
Avatar billede kalp Novice
17. december 2006 - 16:43 #10
Du får et svar her=)
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