Avatar billede fireball40 Nybegynder
18. maj 2011 - 19:45 Der er 13 kommentarer

hvordan bliver jeg sendt videre med php

Denne kode virker godt nok med at logge ind og sende echo ud men jeg vil gerne have den vidersender den der logger ind til en side jeg har der hedder create.php.

Jeg ved at det er der hvor der står echo 'test ok' men jeg er spejlblank har prøvet alle mulige løsninger, men kan ikke få det til at virke, kan nogen hjælpe.

<?php
session_start();
$conn = mysql_connect("localhost", "xxxx", "johaxxxx");
mysql_select_db("w6xxxx"); //Indtast selv de rigtige oplysninger

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password'];
//For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE Brugernavn = '$postbruger' AND
Password = '$postpass'");//Spørger efter ID

        $number = mysql_num_rows($resultat);//Tæller antaller af resultater
        if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass; //Sætter session variablerne
              echo 'test ok';
       
       
       

        }else echo"De indtastede oplysninger er ikke korrekte";
        }
?>
Avatar billede jakobdo Ekspert
18. maj 2011 - 19:59 #1
Kig på:

header("Location: create.php");
exit();
Avatar billede fireball40 Nybegynder
18. maj 2011 - 20:04 #2
Jeg har set den mange gange men hvor skal jeg placere den. for  at være præcis hvor og hvordan skal jeg sætte den ind
Avatar billede jakobdo Ekspert
18. maj 2011 - 20:06 #3
Hvis du ønsker en redirect i steder for din echo "OK";
så slet echo linjen og smid de 2 linjer ind.
Når linjen header("Location..."); mødes, vil den sende dig videre.
Avatar billede fireball40 Nybegynder
18. maj 2011 - 20:17 #4
$_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass; //Sætter session variablerne
              header("Location:create.php");
                exit();
       

jeg har sat det ind sådan her men det sender mig ikke videre
Avatar billede jakobdo Ekspert
18. maj 2011 - 20:24 #5
Har du output inden du kalder header?
Output som echo 'HEJ';
eller:

?>
<html>
<tags>
Inden ?
Avatar billede fireball40 Nybegynder
18. maj 2011 - 20:30 #6
Her kan du se det hele

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>login</title>
</head>

<body>

<?php
session_start();
$conn = mysql_connect("localhost", "w6xxx_test", "jxxxx40");
mysql_select_db("w633xxxst"); //Indtast selv de rigtige oplysninger

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra login.php";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password'];
//For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE Brugernavn = '$postbruger' AND
Password = '$postpass'");//Spørger efter ID

        $number = mysql_num_rows($resultat);//Tæller antaller af resultater
        if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in
        $_SESSION['loget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass; //Sætter session variablerne
            echo "nusem";
        header("Location: http://www.example.com/");
       
        exit;

        }else echo"De indtastede oplysninger er ikke korrekte";
        }
?>


</html>
Avatar billede jakobdo Ekspert
18. maj 2011 - 20:41 #7
Ja og det er netop problemet.
Du har <html> output inden du laver din php kode.

Du kunne f.eks. gøre sådan:

<?php
session_start();
$conn = mysql_connect("localhost", "w6xxx_test", "jxxxx40");
mysql_select_db("w633xxxst"); //Indtast selv de rigtige oplysninger

$result = '';

if(!isset($_POST['Submit'])){
  //Tester om brugeren kom fra  login.html
  $result = "Du skal komme fra login.php";
}else{
  $postbruger = $_POST['Brugernavn'];
  $postpass = $_POST['Password'];
  //For læservenligheden overføres post variablerne til normale variabler
     
  $resultat = mysql_query("SELECT Id FROM `brugere` WHERE Brugernavn = '$postbruger' AND Password = '$postpass' LIMIT 1");//Spørger efter ID

  $number = mysql_num_rows($resultat);//Tæller antaller af resultater
  if($number == 1){
    //Hvis der kun er et resultat, bliver brugeren logget in
    $_SESSION['loget_in'] = 1;
    $_SESSION['Brugernavn'] = $postbruger;
    $_SESSION['Password'] = $postpass; //Sætter session variablerne
    header("Location: http://www.example.com/ (...));
    exit;
  }else
    $result = "De indtastede oplysninger er ikke korrekte";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ (...)
<html xmlns="http://www.w3.org/ (...)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>login</title>
</head>
<body>
<?php echo $result; ?>
</body>
</html>

Så er PHP over alt dit html
Avatar billede fireball40 Nybegynder
18. maj 2011 - 20:53 #8
Jeg kan simpelhen ikke få det til at virke den bliver stående på sammeside som den der der tjekker login
Avatar billede jakobdo Ekspert
18. maj 2011 - 20:56 #9
Så må du igang med at fejlsøge...
Test hvor langt din kode når ?
echo 'Jeg er her...';

echo 'nu er jeg her...';
Avatar billede fireball40 Nybegynder
18. maj 2011 - 21:03 #10
ok jeg prøver men jeg kiggede i en anden eksempel
der står ikke $ foran session der står heller ikke if number der står if count har det noget og sige
Avatar billede fireball40 Nybegynder
18. maj 2011 - 21:19 #11
men tak so far
Avatar billede jakobdo Ekspert
18. maj 2011 - 21:21 #12
Intet problem.
Avatar billede heinzdmx Nybegynder
18. maj 2011 - 21:41 #13
Vær opmærksom på at din kode er sårbar overfor SQL injections, kort fortalt kan en med onde hensigter slette hele din table med brugeroplysninger.

Læs her om det:
http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php
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
Kurser inden for grundlæggende programmering

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