php login script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben php

ruben php

21/01/2009 16:01:00
Quote Anchor link
hallo ik heb een login script gemaakt alleen de registratie verloopt niet goed
het formulier heeft een <input type="password" en ik denk dat het daar fout gaat
want als je het gewoon invoegt in de database met bijv. phpmyadmin als text dan werkt het wel
ik zal het script posten:

login.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<title>login</title>
</head>
<?php include "bestanden/style.css"; ?>
<body class="pagina">
<div align="center" class="pagina">
    <h1>Inloggen:</h1>
  <form method="POST" action="controle.php">
  Gebruikersnaam: <br/><input type="text" name="gebr" size="20" maxlength="30"><br>
  Wachtwoord: <br/><input type="password" name="ww" size="20" maxlength="6"><br>
  <input type="submit" name="submit" value="login">
  </form>
    </div>
    </body>
    </html>


controle.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
session_start();
include "bestanden/config.php";
$gebruiker=$_POST['gebr'];
$ww=$_POST['ww'];
$query="SELECT * FROM User WHERE gebruiker='".$gebruiker."'";
$result=mysql_query($query);
$fetch=mysql_fetch_array($result);
?>

<html>
<head>
<title>login</title>
</head>
<body>
<?php
if ($fetch['ww'] == $ww) {
echo "je bent ingelogd";
$_SESSION['gebruiker'] = $gebruiker ;
$_SESSION['ww'] = $ww ;
}
else {
echo "het gaat fout";
echo "<a href=\"login.php\">probeer het nogmaals</a>";
}

?>

</body>
</html>


register.php(enige die ik niet zelf getypt heb maar van deze site en vervolgens aangepast)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<html>
<head>
<title>registreren</title>
</head>
<?php
include "bestanden/style.css";
?>

<body class="pagina">
<center>
<?php
session_start();
if($_SESSION['gebruiker'] == "true"){
   print " je hebt al een account.";
}

include('bestanden/config.php');
if(!isset($_REQUEST['submit'])){
?>

<h1>registreer account:</h1>
<form method="post" acion=""<? $_SERVER['PHP_SELF'] ?>"">
<table>
   <tr>
      <td>
         Gebruikersnaam:
      </td>
      <td>
         <input type="text" name="name" maxlength="15">
      </td>
   </tr>
   <tr>
      <td>
         Password:
      </td>
      <td>
         <input type="password" name="pass1">
      </td>
   </tr>
   <tr>
      <td>
         Bevestig:
      </td>
      <td>
            <input  type="password" name="pass2">
      </td>
   </tr>
   <tr>
      <td align="right">
         <input type="submit" value="registreer" name="submit">
      </td>
      <td>
         <input type="reset" value="reset">
      </td>
   </tr>
</table>
</form>
<?php
}else{
   $dead = "false";
   $message = "vul aub alle velden correct in:<br>";
   $username = $_POST['name'];
   $pass1 = $_POST['pass1'];
   $pass2 = $_POST['pass2'];
   $ip = $_SERVER['REMOTE_ADDR'];
   $status = "1";
   if(strlen($username) <= 1 or strlen($username) >=15){
      $dead = "true";
      $message .= "de gebruikersnaam moet tussen (2-14) aantal karakters zijn<br>";
   }

   if(strlen($pass1) < 6 or strlen($pass1) > 20 or $pass1 !== $pass2) {
      $dead = "true";
      $message .= "Password heeft geen (6-20) karakters of password komt niet overeen met bevestig pasword";
   }

   if($dead = "false"){
      $username = strtolower(trim(strip_tags($username)));
      $pass1 = trim($pass1);
      $pass1 = md5($pass1);
      $query = mysql_query("SELECT * FROM User WHERE gebruiker ='$username'");
      $aantalrijen = mysql_num_rows($query);                  
      if($aantalrijen == 1){        
         print "je gebruikersnaam bestaat al.";
         print "<a href=\"register.php\">probeer het nogmaals</a>";
      }

      else{
         $query1 = "INSERT INTO User(gebruiker, ww) VALUES ('$username','$pass1')";
         if(mysql_query($query1)){
             print "het registreren is gelukt.<br>klik op <a href=\"login.php\">Login</a> om direct in te loggen";
         }  
      }
      
   }

   elseif($dead == "true"){
         print $message;
         print "<a href=\"register.php\">probeer het nogmaals</a>";
   }
}
              
?>

</center>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Ruben php
 
PHP hulp

PHP hulp

28/03/2024 15:01:51
 
- SanThe -

- SanThe -

21/01/2009 16:13:00
Quote Anchor link
Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>


SanThe.
 
Jeroen van Welzen

Jeroen van Welzen

21/01/2009 16:13:00
Quote Anchor link
moet hier geen password staan

Bevestig:
</td>
<td>
<input type= name="pass2">
</td>
</tr>

Bevestig:
</td>
<td>
<input type=password name="pass2">
</td>
</tr>
 
Ruben php

ruben php

21/01/2009 16:38:00
Quote Anchor link
ja heb ik aangepast maak geen verschil
ik had het al zo alleen ik heb het verkeerde gePOST nu is het wel goed

tja ik ben nieuw hier :P

maar ik denk dat er iets fout gaat in de database
want door de input type password stop ie een rare code erin
maar bij het ophalen van dat password gaat ie vergelijken
if ($fetch['ww'] == $ww) en daar zal t fout gaan bij die vergelijking
Gewijzigd op 01/01/1970 01:00:00 door ruben php
 
Jeroen van Welzen

Jeroen van Welzen

21/01/2009 16:44:00
Quote Anchor link
als je hem handmatig in de database zet doe je dit dan ook met een md5 hash
 
Dennis Mertens

Dennis Mertens

21/01/2009 16:58:00
Quote Anchor link
Even hard in de code een echo zetten met een string door md5. Deze zet je dan in de code.

En in je checks, controleer je op de lengte van $pass1. En later gooi je er pas een trim overheen?

Ook is het kopiëren van variabelen onhandig en totaal overbodig. Je kan de checks gewoon direct op de post variabele uitvoeren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.