Avatar billede human Nybegynder
02. oktober 2006 - 13:28 Der er 4 kommentarer og
1 løsning

min side logger mig ud

Hejsa. Jeg kan godt logge ind og komme frem tilmin næste form. Men når jeg trykker på post så kommer jeg tilbage til login formen istedet for at den gør hvad den burde.

her er koden, det er én fil:
<?php
require("../inkluder/conn_inc.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>CMS</title>
</head>
<body>

<?php
if(isset($_POST['login']) || $_POST['login'] == 'OK') {
$pass = mysql_real_escape_string(md5($_POST['pass']));
$navn = mysql_real_escape_string($_POST['navn']);

$query = mysql_query("SELECT * FROM tbl WHERE name='$navn' AND pass='$pass'") or die(mysql_error());
$result = mysql_fetch_row($query);
if($result) {
?>
<form action="index.php" method="post">
Overskrift: <input type="text" name="headline" /><br />
Kategori: <input type="text" name="cat" /><br />
Tekst:<br />
<textarea rows="10" cols="20" name="text"></textarea><br />
<input type="submit" name="post" value="Post" /><br />
</form>
<?php
if(isset($_POST['post']) || $_POST['post'] == 'Post') {
$insert = mysql_query("INSERT INTO tbl(author, date, headline, text, cat) VALUES
('test', NOW(), '".mysql_real_escape_string($_POST['headline'])."', '".mysql_real_escape_string($_POST['text'])."', '".mysql_real_escape_string($_POST['cat'])."')") or die(mysql_error());
print "Gemt";

}
?>
<?php
}else{
    print "NEJ!";
}
}
if(!isset($_POST['login'])) {
?>
Login:<br />
<form action="index.php" method="post">
Navn: <input type="text" name="navn" /><br />
Pass: <input type="password" name="pass" /><br />
<input type="submit" name="login" value="OK" />
</form>
<?php
}
?>


</body>
</html>
Avatar billede coderdk Praktikant
02. oktober 2006 - 13:33 #1
Brug sessions... Prøv:

<?php
session_start();
require("../inkluder/conn_inc.php");

if(isset($_POST['login']) || $_POST['login'] == 'OK')
{
    $pass = mysql_real_escape_string(md5($_POST['pass']));
    $navn = mysql_real_escape_string($_POST['navn']);
   
    $query = mysql_query("SELECT * FROM tbl WHERE name='$navn' AND pass='$pass'") or die(mysql_error());
    $result = mysql_fetch_row($query);
    if($result) {
        $_SESSION['loggedin'] = true;
    }
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>CMS</title>
</head>
<body>

<?php
if(!empty($_SESSION['loggedin']) && $_SESSION['loggedin'] ) {
?>
<form action="index.php" method="post">
Overskrift: <input type="text" name="headline" /><br />
Kategori: <input type="text" name="cat" /><br />
Tekst:<br />
<textarea rows="10" cols="20" name="text"></textarea><br />
<input type="submit" name="post" value="Post" /><br />
</form>
<?php
    if(isset($_POST['post']) || $_POST['post'] == 'Post') {
        $insert = mysql_query("INSERT INTO tbl(author, date, headline, text, cat) VALUES
        ('test', NOW(), '".mysql_real_escape_string($_POST['headline'])."', '".mysql_real_escape_string($_POST['text'])."', '".mysql_real_escape_string($_POST['cat'])."')") or die(mysql_error());
        print "Gemt";
    }
?>
<?php
}
else
{
?>
Login:<br />
<form action="index.php" method="post">
Navn: <input type="text" name="navn" /><br />
Pass: <input type="password" name="pass" /><br />
<input type="submit" name="login" value="OK" />
</form>
<?php
}
?>
</body>
</html>
Avatar billede human Nybegynder
02. oktober 2006 - 13:44 #2
Ja så virker det. Jeg troede ikke sessions var nødvendigt når det hele foregik i ét dokument. Smid et svar :)
Avatar billede human Nybegynder
02. oktober 2006 - 13:47 #3
hovsa.. Kan man lave en logud knap også, i samme fil?
Avatar billede coderdk Praktikant
02. oktober 2006 - 13:53 #4
<a href="<?= $_SERVER['PHP_SELF'] ?>?logout">Log ud</a>

og så i toppen, lige efter session_start():

if ( isset( $_GET['logout'] ) )
{
  session_destroy();
  header('Location: ' . $_SERVER['PHP_SELF'] );
  exit;
}
Avatar billede human Nybegynder
02. oktober 2006 - 14:17 #5
takker :)
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operationscenter i Cyberdivisionen Hvidovre

Capgemini Danmark A/S

Java Engineer

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger analytisk stærk og erfaren medarbejder i Hvidovre