Toon posts:

registreer met mysql

Pagina: 1
Acties:
  • 50 views sinds 30-01-2008

Verwijderd

Topicstarter
hoi...
ik heb dit

PHP:
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
<?php 
  session_start();

  require 'config.php';

  mysql_connect("$DBHost", "$DBLogin", "$DBPassword");

  @mysql_select_db("$DBDatabase");

echo" 
Username: <input type='text' name='username'><br> 
Password: <input type='password' name='pass1'><br> 
Confirm: <input type='password' name='pass2'><br> 
<input type='submit' name='reg' value='Register'><input type='hidden' name='reg2' value='1'>"; 
if($_POST['reg2'] == 1) 
{ 
    if(empty($_POST['username'])) 
    { 
        echo"You must enter an username."; 
    } 
    elseif(empty($_POST['pass1'])) 
    { 
        echo"You must enter a password."; 
    } 
    elseif(empty($_POST['pass2'])) 
    { 
        echo"You must confirm your password."; 
    }elseif($_POST['pass1'] != $_POST['pass2']) 
    { 
        echo"The 2 passwords are not the same."; 
    } 
    else 
    { 
        mysql_query("INSERT INTO users (username,password,) VALUES (".$_POST['username'].",".$_POST['pass2'].")"); 
        echo"Succesfully registered.<br> 
            Your user info is:<br> 
            Username: ".$_POST['username']."<br> 
            Password: ".$_POST['pass2'].". 
            Please login <a href='login.php'>here</a>."; 
    } 
} 
?> 


gevonden op i-net.
lijkt me een gewoon normaal script alleen op de een of andere manier doet deze helemaal nix. er komt helemaal geen respons van het script.

zit hier een fout is ofzo want ik kan hem niet vinden.

hier staat script om te bekijken.
-= zelf weggehaald =-
als het spam is haal het weg

kunnen jullie mij misschien helpen?

alvast bedankt.

[ Voor 20% gewijzigd door Verwijderd op 21-02-2004 21:36 ]


  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

Je weet toch wel hoe de <FORM> tag in HTML werkt?
Met een action en dergelijke

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Waar is je form tag met action attribuut erin? Wat heb je zelf al geprobeerd? Overigens is het direct uitvoeren van POST vars in je SQL statement zeer gevaarlijk :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • mr_obb
  • Registratie: Juni 2001
  • Laatst online: 20-01 17:28

mr_obb

Lakse Perfectionist

Open zelf de link die je net geeft en bekijk de source daar eens van. In IE: View\source.

Wat je daar ziet zou perfecte HTML moeten zijn. Het lijkt er echter niet op....

Te doen: Eerst zorgen dat de button onderdeel is van een FORM, dit FORM ergens naartoe laten posten. Als er dan gepost is, dan kan je dat if-statement uitvoeren.

Misschien is het handig om eerst een PHP Starter's guide door te lezen.

PHP:
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
<?php
 session_start();

  require 'config.php';

  mysql_connect("$DBHost", "$DBLogin", "$DBPassword");

  @mysql_select_db("$DBDatabase");
?>

<html>
<head>
<title>Dit is een testpagina</title>
</head>
<body>

<?

echo"
<form action='reg.php' method='post'>
Username: <input type='text' name='username'><br> 
Password: <input type='password' name='pass1'><br> 
Confirm: <input type='password' name='pass2'><br> 
<input type='submit' name='reg' value='Register'><input type='hidden' name='reg2' value='1'>
</form>"; 
if($_POST['reg2'] == 1) 
{ 
    if(empty($_POST['username'])) 
    { 
        echo"You must enter an username."; 
    } 
    elseif(empty($_POST['pass1'])) 
    { 
        echo"You must enter a password."; 
    } 
    elseif(empty($_POST['pass2'])) 
    { 
        echo"You must confirm your password."; 
    }elseif($_POST['pass1'] != $_POST['pass2']) 
    { 
        echo"The 2 passwords are not the same."; 
    } 
    else 
    { 
        mysql_query("INSERT INTO users (username,password,) VALUES (".$_POST['username'].",".$_POST['pass2'].")"); 
        echo"Succesfully registered.<br> 
            Your user info is:<br> 
            Username: ".$_POST['username']."<br> 
            Password: ".$_POST['pass2'].". 
            Please login <a href='login.php'>here</a>."; 
    } 
} 
?>
</body>
</html>

[ Voor 84% gewijzigd door mr_obb op 21-02-2004 21:38 ]


Verwijderd

Topicstarter
-Rob- schreef op 21 februari 2004 @ 21:30:
Je weet toch wel hoe de <FORM> tag in HTML werkt?
Met een action en dergelijke
jah dat weet ik ;)
mr_obb schreef op 21 februari 2004 @ 21:31:
Open zelf de link die je net geeft en bekijk de source daar eens van. In IE: View\source.

Wat je daar ziet zou perfecte HTML moeten zijn. Het lijkt er echter niet op....

Te doen: Eerst zorgen dat de button onderdeel is van een FORM, dit FORM ergens naartoe laten posten. Als er dan gepost is, dan kan je dat if-statement uitvoeren.

Misschien is het handig om eerst een PHP Starter's guide door te lezen.
daarom zeg ik ook dat ik deze al van internet gehaald had want ik ben al een tijdje bezig met het leren van PHP.
het wil alleen nog niet egt goed lukken.

maar deze had ik van i-net geplukt. zelf aangepast en geprobeert, maar er gebeurde nix.

iig bedankt voor jullie hulp.
ik ga weer ff verder puzzelen

ow mr_obb thnx ;)

Verwijderd

Misschien een gekke vraag, maar je SQL klopt toch ook nog eens niet? Ik denk dat
SQL:
1
INSERT INTO users (username,password) VALUES ('{$username}','{$password}')
al wat beter is. Ook zou het wel handig zijn om hiervoor iets als
PHP:
1
2
$username=addslashes($_POST['username']);
$password=addslashes($_POST['pass2']);
te doen, als je geen vervelende SQL-insertations wilt hebben.

  • mr_obb
  • Registratie: Juni 2001
  • Laatst online: 20-01 17:28

mr_obb

Lakse Perfectionist

Stel:

PHP:
1
2
$username='Jip';
$pass2='Janneke';


Zijn uiteindelijke SQL-Query is dan nu:

code:
1
INSERT INTO users (username,password,) VALUES (Jip, Janneke);


De komma achter password moet dus weg en het is beter om singlequotes voor en achter Jip of Janneke te zetten.

code:
1
INSERT INTO users (username,password) VALUES ('Jip', 'Janneke');


Zo dus. Dan wordt de PHP code:

PHP:
1
mysql_query("INSERT INTO users (username,password,) VALUES ('$_POST['username']', '$_POST['pass2']')");


Aan Omaster:

Inderdaad is het wel handig om eerst de opgegeven username en password te valideren, want anders kan het inderdaad een zooitje worden in de Database.

Als er namelijk PHP-code of SQL-code als username wordt ingevoerd, dan kan dat tot problemen leiden bij het uitvoeren van het script. Iemand kan dan de controle over je script overnemen en je server behoorlijk vernaggelen.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Als je een script gevonden hebt dat niet werkt mail je de maker, of je gaat zelf debuggen en vraagt dan hier hulp mocht je ergens niet uitkomen.

Op deze manier is het pure support omdat je zelf geen zin of capaciteit hebt om er iets aan te doen, en daar is Programming & Webscripting niet voor bedoeld :)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.