Avatar billede michaelkjaersgaard Nybegynder
04. oktober 2004 - 17:54 Der er 12 kommentarer og
1 løsning

Simpelt brugersystem/loginscript

Jeg står og mangler et simpelt brugersystem til en hjemmeside.

Det skal fungere ved at nye brugere indtaster ønsket brugernavn (evt. e-mailadresse) samt kodeord. Derudover en enkelt tekstlinie (f.eks. svigermors fødselsdag) som gemmes i en (MySQL?)-database.

Det skal så efterfølgende være muligt at "logge ind" med brugernavn og kodeord og herefter få oplyst tekstlinien (svigermors fødselsdag, i tilfælde af man skulle have glemt det).

En fuktion med "glemt password" ville være rart, men er intet krav.

Jeg havde lidt på fornemmelsen at sådan et script allerede findes og var frit tilgængeligt, men hverken hotscripts.com eller søgning her på exp. kunne umiddelbart hjælpe mig (og script.dk ser ud til at være nede??)

Er der en venlig sjæl der kan henvise mig til et script der (evt. efter lidt tilpasning) kan bruges til det jeg søger?

Jeg har endnu ikke bestilt webhotel, så om der skal bruges PHP, ASP el. andet er for så vidt ligegyldigt, så må jeg jo bare vælge derefter :)

På forhånd tak for hjælpen
Avatar billede shjorth Nybegynder
04. oktober 2004 - 18:15 #1
Kender du selv noget til php ??
<!-- html del -->
bruger: <input type='text' name='user'>
pass: <input type='password' name='pass'>
Linje: <input type='text' name='tekst'>
mail: <input type='text' name='mail'>
<input type='submit' value='tilmeld'>

<!-- php del -->
<?php
if(!$user OR !$pass OR !$tekst OR !$mail) { Header("Location enside.html"); }else{
mysql_connect("host","user","pass");
mysql_select_db("db");

mysql_query("INSERT INTO tabel (user,pass,tekst,mail) VALUES('$user', '$pass', '$tekst', '$mail'")or die(mysql_error());

print("du er tilmeldt");
}
?>

<!-- login del -->
Bruger: <input type='text' name='user'>
Pass: <input type='password' name='pass'>
<input type='submit' value='login'>

<!-- check del -->
<?php
mysql_connect("host","user","pass");
mysql_select_db("db");

$query = mysql_query("SELECT * FROM tabel WHERE user = '$user' AND pass = '$pass'")or die(mysql_error());
$tal = mysql_num_rows($query);
if(!$tal) {
Header("Location: noget.php");
}else{
en beskyttet side
}
?>

Det er jo bare et fingerpeg om hvordan det kan gøres.. Nu har jeg ikke lige fået sat mig ordentligt ind i $_REQUEST $_GET osv osv.. Såe :)
Avatar billede shjorth Nybegynder
04. oktober 2004 - 18:26 #2
Om end så prøv at kigge på www.phpuniverset.dk om ik der skulle være lidt :P
Avatar billede michaelkjaersgaard Nybegynder
04. oktober 2004 - 18:57 #3
Jae, lidt gør jeg da, men vil ikke påstå jeg er helt hjemme i det. Men i første omgang tak for din hjælp, jeg vil lige prøve at rode lidt med det i morgen og så vende tilbage når det går galt :)
Avatar billede michaelkjaersgaard Nybegynder
05. oktober 2004 - 16:39 #4
Jeg har nu været ved at lege lidt med det, men når jeg forsøger at registrere en ny bruger får jeg beskeden:

----
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
----

Dette forstår jeg ikke helt, for der er jo ingen ' i linie 1 i php-delen (men det er måske det der er galt..hmm..)

Se evt. http://michaelstest.frac.dk/tilmeld.htm hvor jeg har smidt det op...

Nogen bud på hvad jeg har gjort galt?
Avatar billede shjorth Nybegynder
05. oktober 2004 - 18:58 #5
Det er godt nok ikke en fejl jeg har set før.. Men se her: http://eksperten.dk/spm/528893.
Så vidt jeg kan se har det noget at gøre med $_GET $_POST osv osv.

Jeg mener at det er sådan her:
$_POST['action'] // Fra et form felt
$_GET['action'] // I adresselinje
$_COOKIE['action'] // Kage
$_SESSION['action'] // Session

Så hvis du prøver at bruge $_POST. Hvordan ser det så ud... ?
Avatar billede shjorth Nybegynder
05. oktober 2004 - 19:15 #6
Så hvis vi kigger ud fra http://eksperten.dk/spm/528893, så må løsningen være sådan her:
$user = $_POST('user'];
$pass = $_POST('pass'];
$tekst = $_POST('tekst'];
$mail = $_POST('mail'];
mysql_query("INSERT INTO tabel (user,pass,tekst,mail) VALUES('$user', '$pass', '$tekst', '$mail'")or die(mysql_error());

.?
Avatar billede michaelkjaersgaard Nybegynder
05. oktober 2004 - 20:47 #7
Mange tak for din tålmodighed, men tror desværre ikke jeg er helt med :)
Hvor er det jeg skal indsætte det du skrev til sidst? Er det det eneste jeg skal have i php-delen (foruden login til DB)?

Skal denne linie:

if(!$user OR !$pass OR !$tekst OR !$mail) { Header("Location testside.html"); }else{

f.eks. stadig være der?

Jeg har prøvet lidt forskelligt, men har desværre ikke haft held med noget af det...

I øjeblikket er følgende kode uploadet:
-----------------
<?php
if(!$user OR !$pass OR !$tekst OR !$mail) { Header("Location testside.html"); }else{
mysql_connect("localhost","sqldbbrugernavn","sqldbkodeord");
mysql_select_db("db");

$user = $_POST('user'];
$pass = $_POST('pass'];
$tekst = $_POST('tekst'];
$mail = $_POST('mail'];

mysql_query("INSERT INTO tabel (user,pass,tekst,mail) VALUES('$user', '$pass', '$tekst', '$mail'")or die(mysql_error());

print("du er tilmeldt");
}
?>
-----------------

Her får jeg at vide at der er fejl i linie 6 (denne: $user = $_POST('user']; )
Avatar billede shjorth Nybegynder
05. oktober 2004 - 22:35 #8
Det er rigtig nok.. Bare mig der er en klaphat.. Copy'n'paste er ikke altid godt når man laver en fejl :D
Du skal rette det til:
$user = $_POST['user'];
$pass = $_POST['pass'];
$tekst = $_POST['tekst'];
$mail = $_POST['mail'];
Altså ingen parentes :)
Avatar billede michaelkjaersgaard Nybegynder
06. oktober 2004 - 09:46 #9
Så er  den tilbage ved udgangspunktet...

-----
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
-----

Sikkert mig der har kludret i et eller andet...:)
Avatar billede shjorth Nybegynder
08. oktober 2004 - 14:36 #10
Har du prøvet at løbe http://eksperten.dk/spm/528893 igennem ?
Ellers så er jeg blank :S
Avatar billede michaelkjaersgaard Nybegynder
09. oktober 2004 - 12:09 #11
Ja, men blev ikke meget klogere af den grund :)

Men du skal i hvert fald have mange tak for hjælpen indtil videre... Poster du ikke lige et svar så jeg kan give dig points...

Har du mod på at få systemet til at virke "helt", så giver jeg gerne et par flasker rødvin el. lign.

Se http://www.eksperten.dk/spm/548491


/Michael
Avatar billede michaelkjaersgaard Nybegynder
14. oktober 2004 - 11:55 #12
Kom så med et svar shjort, ellers kan jeg jo ikke give dig point :)
Avatar billede shjorth Nybegynder
16. oktober 2004 - 21:05 #13
Hov.. Beklager :D Eksperten havde lige glemt at maile mig :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
Computerworld tilbyder specialiserede kurser i database-management

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