Avatar billede rasmussite Nybegynder
19. oktober 2003 - 19:44 Der er 9 kommentarer

Glemt password - Hvad er fejlen er koden?

Hvad er fejlen i denne kode? Jeg ville blive meget glad for svar!

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

<?
  session_start();
  require("db_ind.php");
  $passquery = mysql_query("SELECT * FROM usersystem WHERE username = '$username'");
  if (!mysql_num_rows($passquery))
  {

    ?>

Brugernavnet findes ikke

    <?
    exit();

  } else {

    require("db_ind.php");
        $sql = "SELECT * FROM usersystem WHERE username=$username";
        $result = mysql_query($sql);
        $myrow = mysql_fetch_array($result);

    mail(" echo ".$myrow["email"].";", "Glemt password", " Hej <? echo "".$myrow["username"].""; ?> \n \n Dit password er <? echo "".$myrow["password"].""; ?>", "From: rall@frac.dk\nReply-To: rall@frac.dk");

  ?>

Dit password er sendt til dig via. din e-mail

  <? } ?>

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

Siden:
http://rall.1go.dk/usersystem/glemtkode.php
Avatar billede martinbk Nybegynder
19. oktober 2003 - 19:49 #1
<?
  session_start();
  require("db_ind.php");
  $passquery = mysql_query("SELECT * FROM usersystem WHERE username = '$username'");
  if (mysql_num_rows($passquery) < 1)
  {

    ?>

Brugernavnet findes ikke

    <?
    exit();

  } else if(mysql_num_rows($passquery) == 1) {

    require("db_ind.php");
        $sql = "SELECT * FROM usersystem WHERE username=$username";
        $result = mysql_query($sql);
        $myrow = mysql_fetch_array($result);

    mail(" echo ".$myrow["email"].";", "Glemt password", " Hej <? echo "".$myrow["username"].""; ?> \n \n Dit password er <? echo "".$myrow["password"].""; ?>", "From: rall@frac.dk\nReply-To: rall@frac.dk");

  ?>

Dit password er sendt til dig via. din e-mail

  <? } ?>
Avatar billede erikjacobsen Ekspert
19. oktober 2003 - 19:50 #2
I hvert fald:

$sql = "SELECT * FROM usersystem WHERE username='$username'";
Avatar billede martinbk Nybegynder
19. oktober 2003 - 19:51 #3
også det erik, altid noget du er vågen
Avatar billede martinbk Nybegynder
19. oktober 2003 - 19:53 #4
men tager jeg helt fejl hvis jeg siger mysql_num_rows ikke retunerer en booelsk variabel ?
Avatar billede erikjacobsen Ekspert
19. oktober 2003 - 19:54 #5
Den afleverer et tal, men det kan godt bruges sådan
Avatar billede squashguy Nybegynder
19. oktober 2003 - 19:58 #6
der er da heller ingen grund til at sende to forespørgsler til databasen..

<?
session_start();
require("db_ind.php");

$result = mysql_query("SELECT * FROM usersystem WHERE username = '$username'");

if($myrow = mysql_fetch_array($result)){
    mail(
        $myrow["email"],
        "Glemt password",
        " Hej ".$myrow["username"]."\n\n Dit password er ".$myrow["password"],
        "From: rall@frac.dk\nReply-To: rall@frac.dk"
    );

    echo "Dit password er sendt til dig via. din e-mail";
}else{
    echo "Brugernavnet findes ikke";
}
Avatar billede amix Nybegynder
19. oktober 2003 - 22:39 #7
Det der er galt er at du ikke må benytte globale variabler i de nye versioner af php. Prøv i stedet at bytte $username med $_POST['username']...
Avatar billede amix Nybegynder
19. oktober 2003 - 22:42 #8
Hvis du skal indsætte $_POST['username'] i "" så brug ".$_POST['username']."
eks.
$result = mysql_query("SELECT * FROM usersystem WHERE username = '".$_POST['username']."'");
Avatar billede rasmussite Nybegynder
21. oktober 2003 - 17:46 #9
Ok, har ikke lige testet den, men tak! Men hvordan giver jeg så point?
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