Avatar billede mikk4237880 Nybegynder
25. oktober 2009 - 21:13 Der er 3 kommentarer

php login system

har hentet et login system og det virker fint men der det problem at jeg gerne vil have at folk skal kunne oprette en bruger det virker også fint men hvordan gør man så den automatisk laver en ny og personlig side til folk.

her er mit login indtil videre er det kun for admmins:

login.php

<html>
</head>
<body>
<form action="tjeklogin.php" method="post" name="form1" class="form" id="form1">
<table width="222" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="73" height="29" align="left" valign="middle"><div align="left"><span>Brugernavn:</span></div></td>
<td width="149" align="left" valign="middle">
<p class="style5"><div align="left">
<input name="brugernavn" type="text" id="brugernavn" size="20" />
</div></td>
</tr>
<tr>
<td height="35" align="left" valign="middle"><div align="left"><span>Password:</span></div></td>
<td align="left" valign="middle">
<div align="left">
<input name="password" type="password" id="password" size="20" />
</div></td>
</tr>
<tr>
<td height="34" align="left" valign="middle"></td>
<td align="left" valign="middle"><input type="submit" name="submit" id="submit" value="Login" /></td>
</tr>
</table>
</form>
</body>
</html>

tjeklogin.php

<?php
$host="localhost";
$username="hemmelig";
//husk at indsætte de rigtige oplysninger
$password="hemmelig";
//husk at indsætte de rigtige oplysninger
$db_name="hemmelig";
//husk at indsætte de rigtige oplysninger
$tbl_name="medlemmer";
//den tabel vi lavede tidligere
mysql_connect("$host", "$username", "$password")or die("Kan ikke forbinde");
mysql_select_db("$db_name")or die("Kan ikke forbinde til databasen");
$brugernavn=$_POST['brugernavn'];
//her henter den de indtastede oplysninger i loginformen
$password=$_POST['password'];
//her henter den de indtastede oplysninger i loginformen
$sql="SELECT * FROM $tbl_name WHERE brugernavn='$brugernavn' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
//tjekker om der er en række i tabellen med det indtastede brugernavn og password
if($count==1){
//hvis er en en række med det brugernavn og password
session_start();
$_SESSION['brugernavn'] = $brugernavn;
//registrerer session med indtastede brugernavn
header('Location: userS.php');
}
else {
header('Location: http://coolgames.vndv.com');
//hvis ikke der er en række med det brugernavn og password sendes vedkommende tilbage til loginsiden
}
?>

userS.php

<?php
session_start();

if($_SESSION[brugernavn] == "hemmelig")

{
echo "Her kommer der snart noget admin<br>
hejsa, $_SESSION[brugernavn] du er logget ind! <br>
<a href='SupeR_AdmiN/Admin_phpinfo.php'>php info</a> <br>
<a href='logud.php'>logud</a>";
}

elseif($_SESSION[brugernavn] == "hemmelig")

{
echo "Her kommer der snart noget admin<br>
hejsa, $_SESSION[brugernavn] du er logget ind! <a href='logud.php'>logud</a>";
}

elseif($_SESSION[brugernavn] == "hemmelig")

{
echo "Her kommer der snart noget admin<br>
hejsa, $_SESSION[brugernavn] du er logget ind! <a href='logud.php'>logud</a>";
}

else

{
echo "Du er ikke logget ind!!!!!!<br>
<a href='http://coolgames.vndv.com/'>Tilbage</a>";
}

?>

logud.php


<?php
session_start();
session_destroy();
//lukker sessionen så du bliver smidt væk fra siderne som kræver tilladelse
header('Location: index.php');
//sender dig tilbage til loginformen
?>



og min opret.php

<html><head></head><body>
<form action="opret-ok.php" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="opret" value="Opret">
</form></body></html>

opret-ok.php

<?php // PHP script start.
require("config.php"); // Variabler til mysql hentes
$opret = &$HTTP_POST_VARS['opret'];
if(empty($opret)) {
  print "Du skal aktivere dette script vha. formen i opret.php."
  ?>
  <br><a href="opret.php">Klik her for at oprette bruger</a>
  <?php
  } else {

$brugernavn = &$HTTP_POST_VARS['brugernavn']; // Brugernavn fra form i opret.php.
$password = &$HTTP_POST_VARS['password']; // Password fra form i opret.php.

if(empty($brugernavn) OR empty($password)) { //Her tjekkes om ET af felterne er tomme.
    echo 'Et af felterne er tomme';}   
    else {
// Her åbnes for mysql-serveren og der logges ind med data fra config.php.
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db); // Der åbnes for databasen defineret i config.php.

$result = mysql_query("select brugernavn from Nuser where brugernavn = '$brugernavn'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
print 'Desværre brugernavnet er optaget';
} else {
mysql_query("insert into Nuser (brugernavn, password) values ('$brugernavn', '$password')")
or die(mysql_error());
print "Brugernavn $brugernavn er oprettet!";
?>
<a href="login.php">Klik her for at logge ind</a>
<?php
}
}
}
?>

hvad skal jeg gøre for at få den til at oprette en ny side til brugeren
Avatar billede dkfire Nybegynder
25. oktober 2009 - 21:38 #1
Det er bestemt ikke særlig pænt at lave reklame for egne spørgsmål i andres spørgsmål. Vis hensyn.
At der ikke er nogen som reagere på dine spørgsmål kan skyldes flere ting.
En ting kunne være at du bestemt ikke tydeligt giver udtryk for hvad problemer er og hvad spørgsmålet drejer sig om.
Dernæst kunne det godt tyde på at du ikke har meget kendskab til det script du bruger. Du bør sætte dig ned og finde nogle tutorials omkring php, som starter helt fra begyndelsen. Dernæst bør du lærer at lave dit eget login script, således at du forstår scriptet helt.
Når du er nået så langt er jeg sikker på at du godt kan finde ud af at lave brugersider.

Men for ikke at være helt så kritisk, så handler det om at der i brugertabellen er gemt et id på den række i den tabel som indeholder data til brugersiden. Så kan du udfra id'et udskrifte indholdet på brugersiden alt efter hvilken bruger som er logget ind.
Avatar billede nissen2630 Novice
25. oktober 2009 - 21:40 #2
Ville nok lige læse denne først inde du fortsætter:
http://en.wikipedia.org/wiki/SQL_injection

Men ellers kan du ud fra bruger ID opbygge siderne. Der er vel noget af det den skal indeholde der er det samme på alle.

Gem tingene i databasen og hen det frem når brugeren logger på
Avatar billede danco Nybegynder
29. oktober 2009 - 09:29 #3
Ligesom Nissen2630 siger vil jeg anbefale dig at gemme i en eller anden form for database. På den måde får du et dynamisk URL som du kan fx gemme det som www.domæne.dk/bruger.php?userid=215
Det du så skal gøre er at kode det hele i bruger.php. Hvis der er forskel på brugernes rettigheder bør du gemme din bruger med et "niveau" i din database.
Så kan du i din PHP kode lave noget if() som henter de relevante ting ind fra den egentlige bruger.
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