Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:00 Der er 25 kommentarer og
1 løsning

læsning af passwords

hej.
Jeg har en form hvor brugeren bla. skal indtaste et password. Og det bliver så sat ind i en database. Men når jeg skal checke om det eksisterer, kan den ikke finde det, selvom det skulle ligge der. Det er også et tomt felt i tabellen. Alle de andre felter er udfyldt. Når jeg manuelt indsætter et password i databasen virker det fint nok.
Avatar billede ztyxx Nybegynder
03. juli 2003 - 16:01 #1
lidt kode ville hjælpe...
Avatar billede ahv Nybegynder
03. juli 2003 - 16:03 #2
Indsæt det med ->

$_POST[feltnavn]
Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:14 #3
her bliver det indtastet :

<TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Password:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="password" TYPE="PASSWORD" SIZE="25">

og her bliver det indsat i databasen :

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$_POST[brugernavn]','$_POST[password]','$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";

og her checker jeg om det findes ved login :

echo '<td><input type="PASSWORD" name="password"></td></tr>';


// if the user has just tried to log in
  $userid = $HTTP_POST_VARS['userid'];
  $password = $HTTP_POST_VARS['password'];

  $db_conn = mysql_connect("localhost", "root")  or die(mysql_error());
  mysql_select_db('registrering', $db_conn)  or die(mysql_error());
  $query = "select * from kunde where brugernavn='$userid' and password='$password'";
  $result = mysql_query($query, $db_conn) or die(mysql_error());
 
  if (mysql_num_rows($result) >0 )
  {
    // if they are in the database register the user id
    $HTTP_SESSION_VARS['valid_user'] = $userid;   
  }
}
?>
<html>
<body>
<h1>Home page</h1>
<?
  if (isset($HTTP_SESSION_VARS['valid_user']))
  {
    echo 'You are logged in as: '.$HTTP_SESSION_VARS['valid_user'].' <br />';
    echo '<a href="logout.php">Log out</a><br />';
  }
  else
  {
    if (isset($userid))
    {
      // if they've tried and failed to log in
      echo 'Could not log you in';
    }
Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:16 #4
når jeg selv indsætter det direkte i dabasen virker det fint, men da kan man jo også se passwordet der. det kan man ikke når det bliver indsat via programmet.
Avatar billede ztyxx Nybegynder
03. juli 2003 - 16:24 #5
men du kan godt indsætte det gennem dit script?
Avatar billede ahv Nybegynder
03. juli 2003 - 16:29 #6
Hvordan ser din form ud?
Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:39 #7
ja kan godt indsætte det gennem scriptet, men det er bare et tomt felt i databasen, men det skal man vel heller ikke kunne se ??

min form ser sådan her ud :

<HTML>
<HEAD>
  <TITLE>Registrering </TITLE>
</HEAD>
<? require_once("sidehoved.html"); ?>

<BODY BGCOLOR="#ffffff">


<FORM ACTION="opdatering.php" METHOD="POST">
<P><CENTER><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR>
    <TD WIDTH="100%" BGCOLOR="#004080">
    <TABLE WIDTH="394" BORDER="0" CELLSPACING="1" CELLPADDING="2">
      <TR>
        <TD COLSPAN="2" BGCOLOR="#004080">
        <B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Bliv tilmeldt Seven Parts</FONT></B></TD>

      </TR>
            <TR>
        <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Fornavn:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="fornavn" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Efternavn:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="eftnavn" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
<TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Adresse:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="adresse" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
        <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Post nr.:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="postnr" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Byen:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="byen" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">nr:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="nr" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Telefon nr.:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="tlf" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Email:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="email" TYPE="text" SIZE="25">
</TD>
    </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Brugernavn:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="brugernavn" TYPE="text" SIZE="25">
</TD>
      </TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Password:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="password" TYPE="PASSWORD" SIZE="25">
</TD>
</TR>
      <TR>
      <TD WIDTH="48%" BGCOLOR="#ffffff">
        <B><FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Gentag Password:</FONT></B></TD>
        <TD WIDTH="52%" BGCOLOR="#ffffff">
        <INPUT NAME="password2" TYPE="PASSWORD" SIZE="25">
</TD>     
  </TR>
</TABLE></CENTER></P>

<P><CENTER><INPUT NAME="submitform" TYPE="submit" VALUE="Submit"></CENTER></FORM></P>
<P><CENTER>&nbsp;</CENTER></P>

</BODY>



</HTML>
Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:45 #8
Er i tvivl om man kan skal kunne se passwordet i databasen, det skal vel være usynligt ??
Avatar billede ahv Nybegynder
03. juli 2003 - 16:48 #9
$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$HTTP_POST_VARS[brugernavn]','$HTTP_POST_VARS[password]','$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";

Du kan sikkert se hvad jeg har gang i at rette, ret selv de sidste felter.
Avatar billede stroke1 Nybegynder
03. juli 2003 - 16:54 #10
hvorfor skal variabel hedde det ??
Avatar billede ahv Nybegynder
03. juli 2003 - 16:59 #11
Det er skal de på nogle gamle PHP versioner, hvis ikke det virker kan du prøve ->

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$brugernavn','$password','$nr','$fornavn','$eftnavn','$adresse','$postnr','$bynavn','$tlf','$email)";

Denne vil virker hvis registrer_globals er sat til on.
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:12 #12
Kan ikke se hvorfor jeg skal ændre det, da variablene jo kommer i databasen ?? det er kun passwordet der er problemer med ??
Avatar billede ahv Nybegynder
03. juli 2003 - 17:13 #13
Aaah, jeg troede det var dem alle.
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:17 #14
problemet er kort og godt at jeg checker på brugernavn og password om det findes, og det siger den at det ikke gør selv om det gør.
Men ved manuel indtastning af passwordet i databasen kan den godt finde det.

skal man kunne se passwords i databasen????
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:34 #15
ingen der kan hjælpe med det password???
Avatar billede ohmish Nybegynder
03. juli 2003 - 17:44 #16
hvordan ser databasen ud.. exportér og vis tabellens hovedopbygning her
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:50 #17
hvad er forskellen mellem http_POST(  ) og
                          http_POST_VARS(  )
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:53 #18
her er tabellen

Feltnavn Datatype Nulværdi Standardværdi
brugernavn  varchar(50) Nej   
password  varchar(50) Nej   
nr        varchar(50) Nej   
fornavn  varchar(50) Nej   
eftnavn  varchar(50) Nej   
adresse  varchar(50) Nej   
postnr  varchar(50) Nej   
byen  varchar(50) Nej   
tlf  int(50) Nej  0 
email  varchar(50) Nej
Avatar billede stroke1 Nybegynder
03. juli 2003 - 17:54 #19
og når jeg kører koden og sender data til databasen bliver alle felter, undtagen password feltet, fyldt ud.

Er det fordi det ikke skal ses, eller er det en fejl ?????
Avatar billede stroke1 Nybegynder
03. juli 2003 - 19:23 #20
ingen kloge hoveder :)
Avatar billede stroke1 Nybegynder
04. juli 2003 - 00:11 #21
ingen der kan hjælpe :)
Avatar billede ahv Nybegynder
04. juli 2003 - 00:17 #22
Prøv ->

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$_POST[brugernavn]','".$_POST['password']."','$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";
Avatar billede ahv Nybegynder
04. juli 2003 - 00:18 #23
Vil den forresten gerne sætted dette ind? ->

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$_POST[brugernavn]','hemmeligtkodeord','$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";

Kommer der så til at stå hemmeligtkodeord i password feltet?
Avatar billede ahv Nybegynder
04. juli 2003 - 00:21 #24
stroke1 -> Hvis det satdig ikke virker, så lad os se om vi kan få det til at virke over ICQ eller MSN, der er det lidt hurtigere at udveksle scriotstumper.

ICQ -> 85550004
MSN -> alexander_hv@hotmail.com
Avatar billede stroke1 Nybegynder
04. juli 2003 - 01:17 #25
Nu virker det. Der var uorden i mine password variable, de hed noget forskelligt.
Men kan det være rigtigt at jeg kan gå ind og se kunders passwords, de må da være hemmelige???
Avatar billede ahv Nybegynder
04. juli 2003 - 02:43 #26
Så kan du kryptere dem :o) Hvis vi tager udgangspunkt i ->

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$_POST[brugernavn]','hemmeligtkodeord','$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";

Så vil en version hvor kodeordet er krypteret se således ud ->

$sql="INSERT INTO kunde(brugernavn, password, nr, fornavn, eftnavn, adresse, postnr, bynavn, tlf, email)
VALUES ('$_POST[brugernavn]',MD5('hemmeligtkodeord'),'$_POST[nr]','$_POST[fornavn]','$_POST[eftnavn]','$_POST[adresse]','$_POST[postnr]','$_POST[bynavn]','$_POST[tlf]','$_POST[email])";

Det er altså MD5 funktionen der kryptere passwordet, og det kan ikke dekrypteres igen.
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