Avatar billede thedeathart Nybegynder
15. maj 2004 - 13:41 Der er 12 kommentarer og
1 løsning

echo $_session[brugernavn]

hey

Jeg har et loginsysstem(med sessions) som virker fint..
Når man er logget ind har man så mulighed for at skrive nyheder..
I nyhedssystem skal man på nuværende tidspunkt selv skrive navn, men jeg ville gerne om man kunne gøre så den selv indsættet det.
Men jeg ved ikke lige hvordan ??

[koden]

<?php
session_start();

if ($_POST['bruger'] == "" AND $_POST['pass'] == "") {
        $_SESSION['status'] = "nobrugerpass";
    print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}

elseif ($_POST['bruger'] == "") {

        $_SESSION['status'] = "nobruger";
    print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}

elseif ($_POST['pass'] == "") {

        $_SESSION['status'] = "nopass";
    print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}

else

{
include("../config.php");
$query = "SELECT id, username, password FROM authlib_login WHERE username = '".$_POST['bruger']."' AND password= '".$_POST['pass']."'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$log = mysql_fetch_array($result);

if ($_POST['bruger'] = $log['username'] && $_POST['pass'] = $log['password']) {

        $_SESSION['status'] = "login";
        //$_SESSION['navn'] = $_POST['bruger'];
        $low = strtolower($log['username']);
    print("    <script language='javascript'>
        location.href='index.php';
        </script>");
}
else
{
        $_SESSION['status'] = "fejl";
    print("    <script language='javascript'>
        location.href='login.php';
        </script>");

}
}
?>
Avatar billede sukos Juniormester
15. maj 2004 - 14:00 #1
Laver et hidden felt

<input type="hidden" name="forfatter" value="<?php echo $_SESSION["brugernavn"]; ?>">

Men det kode du viser, det er da for login, og ikke skrivning af nyhed?
Avatar billede riversen Nybegynder
15. maj 2004 - 14:02 #2
kan du ikke være mere specifikt? Når du skriver navn, mener du så noget andet end brugernavn? Hvis nej, kan du vel bare tage den fra session
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:06 #3
det var også det med at tage den fra session jeg gerne ville..
men når jeg så prøver at gøre det, så er er det bare en tom echo..

[koden til nyhedsscriptet m. rettelse]

<?php
session_start();
include("sider.php");
if ($_SESSION['status'] == "login")
{

}
else
{
print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}
?>
<html>
<head>
<title>Skriv en nyhed</title>
<link rel="stylesheet" type="text/css" href="../style.css">

</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">

<form ACTION="skrivnyhed.php" method="get">
<p><h2><b>.: Skriv en nyhed :.</b></h2><b><br>
Overskrift:<br> <input type="text" name="headline"><br>
<br>
Navn:<br> <input type="text" name="name" value="<? echo $_SESSION["brugernavn"]; ?>"><br>
<br>
Email:<br>
<input type="text" name="email"><br>
<br>
Nyhed:<br> <textarea name="news" rows="10" cols="35"></textarea></b></p>
<br>
<input type=submit value=Skriv name="submit" >
</form>
</body>

</html>
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:24 #4
når jeg prøver at lave en echo"$_SESSION['username']; så får denne fejl:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\apache\htdocs\shadowweb\admin\index.php on line 31
Avatar billede schaefner Juniormester
15. maj 2004 - 14:28 #5
echo $_SESSION['username'];
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:32 #6
echo $_SESSION['username']; = ingen ting :(
den er simpelt hen tom.. ???
undre mig meget..
Avatar billede schaefner Juniormester
15. maj 2004 - 14:34 #7
Hvor sæter du overhovedet username henne?
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:37 #8
alstå først logger jeg ind med username & password, og så går jeg ind på den side hvor jeg kan tilføje nyheder..

Skal jeg request brugernavnet på en eller anden måde ?

[login.php] //den side jeg logger ind fra

<?php
session_start();

if ($_SESSION['status'] == "nobrugerpass") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Brugernavn OG et Password!!!</b></font>");
}

if ($_SESSION['status'] == "fejl") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Der var noget galt med enten dit Brugernavn
    eller dit Password!!!</b></font>");
}

if ($_SESSION['status'] == "nobruger") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Brugernavn!!!</b></font>");
}

if ($_SESSION['status'] == "nopass") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Password!!!</b></font>");
}
else
{
print("");
}
ob_flush();
?>
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:38 #9
Ups, fik ikke lige alt med

<?
ob_start();

?>
<html>
<head>
<title>Login System 1.0 by Xyz</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<? include ('../java.txt'); ?>
<body><center><br><br><br>
<form action="loggerin.php" method="post">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Brugernavn:</font><br>
<input name="bruger" type="text" size="12" maxlength="12"><br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font><br>
<input name="pass" type="password"  size="12" maxlength="12">
  <br>
  <input type="submit" value="Login">
</form>
<?php
session_start();

if ($_SESSION['status'] == "nobrugerpass") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Brugernavn OG et Password!!!</b></font>");
}

if ($_SESSION['status'] == "fejl") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Der var noget galt med enten dit Brugernavn
    eller dit Password!!!</b></font>");
}

if ($_SESSION['status'] == "nobruger") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Brugernavn!!!</b></font>");
}

if ($_SESSION['status'] == "nopass") {
print("    <font face='verdana' size='2' color='#ff0000'>
    <b>Du SKAL indtaste et Password!!!</b></font>");
}
else
{
print("");
}
ob_flush();
?>
</body>
</html>
Avatar billede schaefner Juniormester
15. maj 2004 - 14:38 #10
du skal vel sætte brugernavnet i den kode du viste alleførst?

<?php
session_start();
if ($_POST['bruger'] == '' && $_POST['pass'] == '') {
    $_SESSION['status'] = 'nobrugerpass';
    header("Location: login.php");
} else if ($_POST['bruger'] == '') {
    $_SESSION['status'] = 'nobruger';
    header("Location: login.php");
} else if ($_POST['pass'] == '') {
    $_SESSION['status'] = 'nopass';
    header("Location: login.php");
} else {
    include('../config.php');
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM authlib_login WHERE username = '".$_POST['bruger']."' AND password= '".$_POST['pass']."'"), 0) == 1) {
        $_SESSION['status'] = 'login';
        $_SESSION['username'] = strtolower($_POST['bruger']); // Sætter username
        header("Location: index.php");
    } else {
        $_SESSION['status'] = 'fejl';
        header("Location: login.php");
    }
}
?>
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:45 #11
hmm.. ja nu virker det næsten..

problemet er at jeg får et nummer ud af det ?
Avatar billede thedeathart Nybegynder
15. maj 2004 - 14:52 #12
sådan.. fixed..tank

schaefner lægger du et svar ?
Avatar billede schaefner Juniormester
15. maj 2004 - 14:52 #13
ok.
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