Invoer komt niet in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arjan Nijsink

Arjan Nijsink

27/01/2016 13:03:17
Quote Anchor link
Hallo

Ik heb de volgende script geschreven maar op en of andere manier kommen de gegevens niet in de database.

Als iemand nieuw zich lid maakt wordt deze rang 1 gegeven dus member om iemand andere rechten te geven moet je naar de db gaan of zelf een scriptje maken.:P

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
<?php
# error reporting
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>


<?
session_start();
?>

<font face=verdana size=1>

<?
if($_SESSION['login'] == "true"){
   print " You have allready an account.";//because your logged in stupid
}

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

<form method=post acion=""<? $_SERVER['PHP_SELF'] ?>"">
<table>
   <tr>
      <td>
         <font face=verdana size=1>Username:
      </td>
      <td>
         <input type="text" name="name" maxlength="15">
      </td>
   </tr>
   <tr>
      <td>
         <font face=verdana size=1>Password:
      </td>
      <td>
         <input type="password" name="password">
      </td>
   </tr>
   <tr>
      <td>
         <font face=verdana size=1>Confirm:
      </td>
      <td>
            <input type="password" name="password">
      </td>
   </tr>
   <tr>
      <td>
         <input type="submit" value=submit name="submit">
      </td>
      <td>
         <input type="reset">
      </td>
   </tr>
</table>
</form>
<?php
}else{
   //request everything
   $dead = "false";//We make 'dead' if some fields are not filled in don't check for pass and name in db.
   $message = "<font face=verdana size=1>Pleas fill in all fields correctly:<br>";
   $username = $_POST['name'];
   $pass1 = $_POST['pass1'];
   $pass2 = $_POST['pass2'];
   $ip = $_SERVER['REMOTE_ADDR'];
   $status = "1";//1 member, 2,co-admin 3, admin
   //begin search for errors

   if(strlen($username) <= 1 or strlen($username) >=15){
      $dead = "true";
      $message .= "Username (2-14)<br>";
   }

   if(strlen($password) < 6 or strlen($password) > 20 or $password !== $password) {
      $dead = "true";
      $message .= "Password (6-20) or passwords does not match";
   }

   if($dead = "false"){
      $username = strtolower(trim(strip_tags($username)));
      $password = trim($password);
      $password = md5($password);
      $query = mysql_query("SELECT * FROM members WHERE username ='$username'");
      $aantalrijen = mysql_num_rows($query);                  
      if($aantalrijen == 1){        
         print "<font face=verdana size=1>Sorry, your username exists allready.";        
      }

      else{
         $query1 = "INSERT INTO members(username, password, ip, status) VALUES ('$username','$password', '$ip','$status')";
         if(mysql_query($query1)){
             print "<font face=verdana size=1>Well donne your now a member of the RTD group.<br><a href=login.php>Login</a>";
         }  
      }
      
   }

   elseif($dead == "true"){
         print $message;
   }
}
              
?>


Kan iemand mij helpen??
Alvast bedankt

- Ariën -:
Graag in het vervolg bij code de [code][/code]-tags gebruiken. Hier kan je meer lezen over de mogelijke opmaakcodes. Ook heb ik de titel aangepast naar een duidelijkere titel die je probleem omschrijft. Gelieve hier voortaan op te letten.
Alvast bedankt!
Gewijzigd op 27/01/2016 13:15:55 door - Ariën -
 
PHP hulp

PHP hulp

15/11/2024 09:36:26
 
- SanThe -

- SanThe -

27/01/2016 13:12:14
Quote Anchor link
Waarom 4 keer posten van dit topic?

Snel even gekeken.
Wat mij direct opviel: if($dead = "false"){
Een vergelijking heeft == of === en geen = want dat is een waarde toekennen aan een variabele.

En jouw true en false zijn teksten en geen booleans.
Gebruik ze dus zonder quotes dan zijn ze wel booleans.
Gewijzigd op 27/01/2016 13:14:02 door - SanThe -
 
Ben van Velzen

Ben van Velzen

27/01/2016 14:01:13
Quote Anchor link
Waar haalt men tegenwoordig toch vandaan dat strip_tags icm databases zinnig is? Het enige dat werkt is de escaping methode van je database. Ook weer die gekke maximum lengte van wachtwoorden, extreem verouderde HTML, om nog maar te zwijgen van het steenkolenengels. Verder: Wat SanThe zegt: Tekst is tekst, boolean is boolean. === en == zijn bedoeld om te vergelijken, = is toekenning.
 
- SanThe -

- SanThe -

27/01/2016 14:14:12
Quote Anchor link
Verder nog even dit:
Waar zijn de (html) dubbele quotes bij method=post en de diverse waarden op de volgende regels.
En hier gebruik je dubbele dubbele quotes acion=""<? $_SERVER['PHP_SELF'] ?>"">
$_SERVER['PHP_SELF'] kan je beter weglaten.
En met acion zal je wel action bedoelen.
 
Ivo P

Ivo P

27/01/2016 14:18:03
Quote Anchor link
probeer het ook eens met complete php-tags

dus <¿php ipv alleen maar <¿

die op regel 7 kun je dan samen met de voorafgaande sluit-tag verwijderen om een foutmelding over headers-already-sent te voorkomen.
 



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.