Avatar billede funny Nybegynder
13. november 2005 - 11:12 Der er 34 kommentarer og
1 løsning

Bruger System sorry at jeg spørger igen.

Jeg står og skal lave et lille bruger system.
Så vil jeg høre om der er nogen der kunne sige mig en måde man kunne gøre.


Det scriptet skulle kunne er.

Mine bruger skal ligge i mysqlen.
id
brugernavn
password
mail
foto

Man skal Login på min forside.
Der efter når man er logget ind skal man kunne se ens data som er i sqlen

PLZ er der nogen der kan hjælpe mig
Avatar billede funny Nybegynder
13. november 2005 - 11:22 #1
jeg har lavet sqlen sådan nu ved ikke om det er ok.

CREATE TABLE `user_script` (
  `user_id` int(35) NOT NULL,
  `user_name` varchar(50) NOT NULL,
  `user_pass` varchar(255) NOT NULL,
  `user_mail` varchar(50) NOT NULL,
  `user_image` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Avatar billede funny Nybegynder
13. november 2005 - 11:30 #2
jeg har prøvet at lave noget af login siden men ved ikke lige hvad mere jeg skal putte i samt vor.

<html>
<body>
<form name="form1" method="post" action="">
  <table align="center">
    <tr>
      <td><div align="center">Login</div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="textfield" type="text" id="user_name" value="Brugernavn">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="textfield" type="password" id="user_pass" value="Kode">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input type="submit" name="Submit" value="Ok">
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede funny Nybegynder
13. november 2005 - 11:58 #3
Er der nogen der kan hjælpe plz.
Avatar billede showsource Seniormester
13. november 2005 - 12:11 #4
Din tabel ville jeg lave så'n:

CREATE TABLE `user_script` (
  `id` int(11) NOT NULL auto_increment,
  `user_name` varchar(50) NOT NULL default '',
  `user_pass` varchar(32) NOT NULL default '',
  `user_email` varchar(50) NOT NULL default '',
  `user_image` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `user_name` (`user_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Ved at lade user_name være UNIQUE vil en evt. insert med samme user_name fejle
user_pass får en længde på 32, fordi password vil gemt som md5("password") som har en max. længde på 32. Altså, password i DB vil gemt krypteret.
user_image, her ville jeg blot gemme filnavn for brugeren
Avatar billede showsource Seniormester
13. november 2005 - 12:13 #5
INSERT INTO `user_script` VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'admin@admin.dk', 'admin.jpg');

password for admin er admin,
<?php
echo md5("admin");
?>
Avatar billede showsource Seniormester
13. november 2005 - 12:14 #6
<html>
<body>
<form name="form1" method="post" action="login.php">
  <table align="center">
    <tr>
      <td><div align="center">Login</div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="navn" type="text" id="user_name" value="Brugernavn">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="pass" type="password" id="user_pass" value="Kode">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input type="submit" name="Submit" value="Ok">
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede showsource Seniormester
13. november 2005 - 12:20 #7
login.php
<?php
session_start();
if(isset($_POST["navn"], $_POST["pass"])) {
$password = md5($_POST["pass"]);

// connect til DB
$sql = mysql_query("SELECT `user_name` FROM `user_script` WHERE `user_name` = '". mysql_escape_string($_POST["navn"]) ."' AND `user_pass` = '". $password ."'") or die (mysql_error());
    if(mysql_num_rows($sql) == 1) {
    $_SESSION["user"] = mysql_result($sql, 0);
    header("Location:profil.php");
    exit;
    }else{
    echo"Forkert brugernavn og/eller password";
    }
mysql_free_result($sql);

}
?>
Avatar billede jakobdo Ekspert
13. november 2005 - 12:21 #8
Du kan prøve at finde lidt mere info om emnet her: http://www.udvikleren.dk/article.php?aid=59
Avatar billede showsource Seniormester
13. november 2005 - 12:24 #9
profil.php

<?php
session_start();

if(isset($_SESSION["user"])) {

// connect til DB

$sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());

$profil = mysql_fetch_array($sql);

echo $profil["user_email"] ." - ". $profil["user_image"];

mysql_free_result($sql);
}else{

echo"Du skal logge ind først!";
}

?>
Avatar billede funny Nybegynder
13. november 2005 - 12:30 #10
kan du sige mig hvad jeg har lavet forkert her når jeg bruger include('config.php');

<?php
include('config.php');
session_start();
if(isset($_POST["navn"], $_POST["pass"])) {
$password = md5($_POST["pass"]);

// connect til DB

$sql = mysql_query("SELECT `user_name` FROM `user_script` WHERE `user_name` = '". mysql_escape_string($_POST["navn"]) ."' AND `user_pass` = '". $password ."'") or die (mysql_error());
    if(mysql_num_rows($sql) == 1) {
    $_SESSION["user"] = mysql_result($sql, 0);
    header("Location:profil.php");
    exit;
    }else{
    echo"Forkert brugernavn og/eller password";
    }
mysql_free_result($sql);

}
?>
Avatar billede showsource Seniormester
13. november 2005 - 12:32 #11
Nemmere a tsige hvis du fortæller fejlen!

Men muligvis har du noget output i config.php, og det må der ikke være før session_start();
Avatar billede funny Nybegynder
13. november 2005 - 12:34 #12
<?php
$localhost = "localhost";
$dbuser = "mit bruger navn";
$dbpass = "min kode";
$dbtable = "også min";
?>
Avatar billede funny Nybegynder
13. november 2005 - 12:36 #13
den her virker
<?php
mysql_connect("localhost","ffff","ffff") or die ("Unable to connect to MySQL server.");
$db = mysql_select_db("ffff") or die ("Unable to select requested database.");
?>
Avatar billede funny Nybegynder
13. november 2005 - 12:45 #14
den laver fejl når jeg logger ind
Avatar billede funny Nybegynder
13. november 2005 - 12:45 #15
Access denied for user 'ODBC'@'localhost' (using password: NO)
Avatar billede funny Nybegynder
13. november 2005 - 12:46 #16
vis jeg ikke skriver noget skriver den Forkert brugernavn eller password det virker
Avatar billede funny Nybegynder
13. november 2005 - 12:53 #17
login.php ser sådan ud

<?php
include('db.php');
session_start();
if(isset($_POST["navn"], $_POST["pass"])) {
$password = md5($_POST["pass"]);

$sql = mysql_query("SELECT `user_name` FROM `user_script` WHERE `user_name` = '". mysql_escape_string($_POST["navn"]) ."' AND `user_pass` = '". $password ."'") or die (mysql_error());
    if(mysql_num_rows($sql) == 1) {
    $_SESSION["user"] = mysql_result($sql, 0);
    header("Location:profil.php");
    exit;
    }else{
    echo"Forkert brugernavn eller password";
    }
mysql_free_result($sql);

}
?>
Avatar billede funny Nybegynder
13. november 2005 - 12:54 #18
profil ser sådan ud

<?php
include('db.php');
session_start();

if(isset($_SESSION["user"])) {

// connect til DB

$sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());

$profil = mysql_fetch_array($sql);

echo $profil["user_email"] ." - ". $profil["user_image"];

mysql_free_result($sql);
}else{

echo"Du skal logge ind først!";
}

?>
Avatar billede funny Nybegynder
13. november 2005 - 12:56 #19
shit det var min fejl
Avatar billede funny Nybegynder
13. november 2005 - 12:57 #20
nu kan jeg logge ind men der kommer ikke noget andet en -
Avatar billede funny Nybegynder
13. november 2005 - 12:58 #21
hmmm nu sover jeg igen sorry kan du ikke lave et svar så skal du få point
Avatar billede showsource Seniormester
13. november 2005 - 13:37 #22
mjahh, du skal ikke gi' 200 point for det her.
Lav et svar selv også, og ta' selv de fleste.
Avatar billede funny Nybegynder
13. november 2005 - 14:45 #23
Vis du nu får de 200 point kunne du så ikke sige mig hvordan jeg laver når man logger ind kommer der en ny side men jeg ønsker at blive på den samme side
Avatar billede showsource Seniormester
13. november 2005 - 15:07 #24
mjohh, du mixer nu blot filerne,


brugerfil.php

<?php
include("db.php");
session_start();

if(isset($_POST["navn"], $_POST["pass"])) {
$password = md5($_POST["pass"]);

//connect til DB

$sql = mysql_query("SELECT `user_name` FROM `user_script` WHERE `user_name` = '". mysql_escape_string($_POST["navn"]) ."' AND `user_pass` = '". $password ."'") or die (mysql_error());

    if(mysql_num_rows($sql) == 1) {
    $_SESSION["user"] = mysql_result($sql, 0);
    }else{
    $_SESSION["fejl"] = "Forkert brugernavn eller password";
    }

mysql_free_result($sql);

header("Location:". $_SERVER["PHP_SELF"]);
exit;
}

?><html><head></head>
<body>

if(isset($_SESSION["user"])) {

// connect til DB

$sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());

$profil = mysql_fetch_array($sql);

echo $profil["user_email"] ." - ". $profil["user_image"];

mysql_free_result($sql);

}else{

// VIS LOGINFORM
?>

<form name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
  <table align="center">
    <tr>
      <td><div align="center">Login</div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="navn" type="text" id="user_name" value="Brugernavn">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input name="pass" type="password" id="user_pass" value="Kode">
      </div></td>
    </tr>
    <tr>
      <td><div align="center">
        <input type="submit" name="Submit" value="Ok">
      </div></td>
    </tr>
  </table>
</form>
<?php

    if(isset($_SESSION["fejl"])) {
    echo $_SESSION["fejl"];
    unset($_SESSION["fejl"]);
    }

}
?>
</body></html>
Avatar billede funny Nybegynder
13. november 2005 - 16:01 #25
vis jeg lave det der script til en fil sker der ikke noget godt
Avatar billede showsource Seniormester
13. november 2005 - 16:10 #26
Så fortæl lige fejl du får! :O)
Avatar billede funny Nybegynder
13. november 2005 - 16:11 #27
den viser en masse koder
Avatar billede funny Nybegynder
13. november 2005 - 16:11 #28
men kan man include de sider
Avatar billede showsource Seniormester
13. november 2005 - 16:14 #29
Hvis den viser koder, er det sikkert fordi du har gemt filen som txt fil!
Avatar billede showsource Seniormester
13. november 2005 - 16:14 #30
Filnavnet skal jo ende på php !!!
Avatar billede funny Nybegynder
13. november 2005 - 16:16 #31
det gør den også men jeg prøver lige igen
Avatar billede funny Nybegynder
13. november 2005 - 16:17 #32
kan det passe at den laver fejl her

<body>

if(isset($_SESSION["user"])) {

// connect til DB

$sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());

$profil = mysql_fetch_array($sql);

echo $profil["user_email"] ." - ". $profil["user_image"];

mysql_free_result($sql);

}else{

// VIS LOGINFORM
?>
Avatar billede funny Nybegynder
13. november 2005 - 16:19 #33
men jeg smed lige <?php på nu vil jeg teste det
Avatar billede funny Nybegynder
13. november 2005 - 16:23 #34
flot nu er min udbyder nede
Avatar billede funny Nybegynder
13. november 2005 - 16:24 #35
Jeg takker mange gange for hjælpen jeg må teste det i morgen da min udbyder er nede
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