Avatar billede mikze Nybegynder
23. december 2003 - 12:56 Der er 11 kommentarer og
1 løsning

Opret bruger i system ?

Nu har jeg fået et system men vil gerne lave sådan at man kan oprette sig en bruger. Systemmet skal ligge dette ind:

id  (sætter den automatisk ind)
brugernavn
kode
level
ip

Det skal den indsætte...
Kan jeg godt bruge dette:

<?
include "db.php";

$ip = $_SERVER["REMOTE_ADDR"];
$level = 1;
mysql_query("INSERT INTO brugere (brugernavn, password, level, ip) VALUES ('$brugernavn', '$password', '$level', '$ip')") OR DIE (mysql_error());
mysql_close;
header("Location: index.php");
?>


Og så lave en form hvor der er 2 inputs:
brugernavn og kode som der har name: brugernavn, kode ?

er det muligt eller er det noget helt andet ?
Avatar billede avminarm Juniormester
23. december 2003 - 13:05 #1
det kan du sagtens bruge, du skal dog lige være opmærksom på at $brugernavn = $_POST['brugernavn']; og det samme for password.

Evt kan du tage password og "kryptere" det via md5();

Desuden bør du give hver enkelt bruger et unikt id, såden her:

mysql_query("INSERT INTO brugere (id,brugernavn, password, level, ip) VALUES ('','$brugernavn', '$password', '$level', '$ip')")

og så have en auto_increment på id
Avatar billede avminarm Juniormester
23. december 2003 - 13:06 #2
btw hvorfor gemme IP? - ikke alle har en unik IP-adr
Avatar billede mikze Nybegynder
23. december 2003 - 13:07 #3
Jeg har et felt i min tabel som hedder ID men der er det der AUTO på så jeg behøves da ikke det ?

Nej jeg vil ikke konvertere koderne til md5

skal jeg så lave koden sådan:

<?
include "db.php";

$kode = $_POST['kode'];
$brugernavn = $_POST['brugernavn'];
$ip = $_SERVER["REMOTE_ADDR"];
$level = 1;
mysql_query("INSERT INTO brugere (brugernavn, password, level, ip) VALUES ('$brugernavn', '$password', '$level', '$ip')") OR DIE (mysql_error());
mysql_close;
header("Location: index.php");
?>
Avatar billede avminarm Juniormester
23. december 2003 - 13:21 #4
ja det ser ok ud, jeg mener mysql_close - skal være mysql_close();
Avatar billede avminarm Juniormester
23. december 2003 - 13:21 #5
ja altså bortset fra at $kode, nok skal hedde $password
Avatar billede mikze Nybegynder
23. december 2003 - 13:23 #6
nej fordi at i min form er navnet kode og jeg ændre lige der der INSERT INTO fra password til kode glemte lige sry..

Kan jeg ikke bare slette MySQL_close ?
Avatar billede mikze Nybegynder
23. december 2003 - 13:24 #7
Og jeg behøves da ikke det der ID for det kommer vist nok automatisk ikke ?
Avatar billede avminarm Juniormester
23. december 2003 - 13:32 #8
Jo id kommer nok automatisk, men du kan jo vise et dump af din database struktur så kan se det, jo du kan sagtens droppe mysql_close - det er mere relevant ved flere DB osv.
Avatar billede mikze Nybegynder
23. december 2003 - 13:51 #9
Ok nu hvor vi er igang kan du se hvad fejlen er til dette:

CREATE TABLE brugere (
  id mediumint(8) unsigned NOT NULL auto_increment,
  brugernavn varchar(50) NOT NULL default '',
  kode varchar(30) NOT NULL default '',
  ip varchar default NULL '',
  level tinyint(3) default NULL,
  PRIMARY KEY  (primary_key),
  KEY user (user)
) TYPE=MyISAM;
Avatar billede avminarm Juniormester
23. december 2003 - 14:02 #10
PRIMARY KEY  (primary_key), => PRIMARY KEY  (id),

Jeg kan evt. anbefale at downloade PhpMyAdmin - til at administrere din DB
Avatar billede mikze Nybegynder
23. december 2003 - 14:18 #11
Ja sjovt det havde jeg også lige selv fundet ud af :) Jeg bruger PHPMyAdmin til at administrere men jeg kom lige herind for at acceptere dig så det gør jeg.. Tak for hjælpen :P
Avatar billede mikze Nybegynder
23. december 2003 - 14:18 #12
hov hov du glemte lige at der hvor der stod KEY user (user) skulle der stå KEY user (brugernavn) :D
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