Avatar billede grabber Nybegynder
20. februar 2003 - 21:37 Der er 20 kommentarer og
1 løsning

Hvad er der lige galt her

Hej
Jeg har fået fat i et login-system og det gik lige så godt, men så lom der fejl ved line 22.
Hvad er der galt??

    echo "Continue to the <a href=members.php>Members</a> page.";
} else {
    echo "Login failure";
}
?>
Avatar billede grabber Nybegynder
20. februar 2003 - 21:38 #1
Linie 22 er de 2 øverste linier
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:40 #2
Det ser ellers ok ud syntes jeg, læg et par linier mere evt. fra 'if'
Avatar billede Slettet bruger
20. februar 2003 - 21:41 #3
Du mangler vel at starte din {

Fejlen ligger i koden der ligger lige før det du har vist her
Avatar billede grabber Nybegynder
20. februar 2003 - 21:41 #4
<?php
include("common.php");

if(!($link_id = mysql_connect($Host, $User, $Pass))) die(mysql_erorr());
mysql_select_db($DB);

/*This is were the actual log in takes place.  We tell mysql to select the ID where the Name is exactly like the Name from the Form
where is Password is exactly like the encryption values of the password from the form.*/
$sql = "SELECT ID FROM " . $Table . " WHERE Name='" . addslashes($_POST['Name']) . "' AND Password='" . md5($_POST['Password']) . "' LIMIT 1";
if(!($result = mysql_query($sql))) die(mysql_error());

/*This is were we check the result.  We check to see how many rows were in the result of the query. If there is 1 one row in the result, that means
there is one username with the right information, so that would mean they are logged in.*/
if(mysql_num_rows($result) == 1) {
    /*Here we set a cookie that tells if the user has logged in and set it to last for a day.  The cookie is used on the members page to check
    If they cookie is there they can see the page, if not they can't.*/
 
    setcookie("LoggedIn, TRUE, time()+(3600 * 24));


    /*You could also do the header() here just like I explained before.*/
    echo "Continue to the <a href=members.php>Members</a> page.";
} else {
    echo "Login failure";
}
?>
Avatar billede schaefner Juniormester
20. februar 2003 - 21:41 #5
hvad er linje 21?
Avatar billede grabber Nybegynder
20. februar 2003 - 21:43 #6
en forklaring
Avatar billede schaefner Juniormester
20. februar 2003 - 21:44 #7
prøv poste hele den kode som du får fejl i.
Avatar billede grabber Nybegynder
20. februar 2003 - 21:47 #8
det er den du ser

Efter registreing af et brugernavn samt password bliver man sendt videre til logindelen derefter skulle man så gå til den beskyttede side, men der kommer altså fejl i login.php linie 22 og det er den du ser her.
Avatar billede schaefner Juniormester
20. februar 2003 - 21:48 #9
der må vel også være en if() før den kode du har postet
Avatar billede grabber Nybegynder
20. februar 2003 - 21:49 #10
her er fejlen

Parse error: parse error in /usr/www/borbjerg-sk_dk/public_html/login.php on line 22
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:49 #11
setcookie("LoggedIn, TRUE, time()+(3600 * 24));
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:49 #12
setcookie her en dobbelt-quote, skal der ikke være 2 ?
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:50 #13
Fra php documentation:
--------------------------------
Example 307. setcookie() send examples
copy to clipboard
setcookie ("TestCookie", $value);
setcookie ("TestCookie", $value,time()+3600);  /* expire in 1 hour */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);

--------------------------------
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:51 #14
sådan skal den vist være:
setcookie("LoggedIn", TRUE, time()+(3600 * 24));
Avatar billede grabber Nybegynder
20. februar 2003 - 21:52 #15
Først registreringen. Login.php har du set

<?php
/* Include the DB connection Parameters */
include("common.php");

/*Connect to the DB using the info in common.php*/
if(!($link_id = mysql_connect($Host, $User, $Pass))) die(mysql_erorr());
mysql_select_db($DB);

/*Here is where the actual work is done. We add slashes to the username
to prevent errors in the query.  Then we encrypt the password.  This password is NEVER decryptable.  Never,
so users can have a sense of security.  We insert, and then we say they are registered.  The Period as joins the strings
togther, so we can join the returns of fucntions to that string without creating a new variable foreach one.*/
$sql = "INSERT INTO " . $Table . " VALUES('', '" . addslashes($_POST['Name']) . "', '" . md5($_POST['Password']) . "')";
if(!($result = mysql_query($sql))) {
    die(mysql_error());
} else {
    /*You can redirect them instead of just giving them a link, to do this:
    you would replace the code below with header("location: login.html");
    Be warned, you can't send headers after text is outputted, so if you wanted
    to have the message, and have them be forwareded, you would have to put the function
    ob_start() at the very first line of this file, and call ob_end_flush() at the very end.*/
    echo "Your user account has been created!<br>";
    echo "<a href=login.html>Continues</a> to the login page";
}

?>
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:53 #16
Virkede mit svar ikke ?
Avatar billede grabber Nybegynder
20. februar 2003 - 21:53 #17
Fejlen kommer ikke i cookielinien, men i 24, hvor linket er
Avatar billede grabber Nybegynder
20. februar 2003 - 21:56 #18
Det hjalp en smule, men nu kommer denne her

Warning: Cannot add header information - headers already sent by (output started at /usr/www/borbjerg-sk_dk/public_html/common.php:13) in /usr/www/borbjerg-sk_dk/public_html/login.php on line 18
Continue to the Members page.
Avatar billede strcoder Nybegynder
20. februar 2003 - 21:56 #19
Nogle gange melder php fejl i linien efter fejlen, og JO der ER fejl i setcookie funktionen.
Avatar billede grabber Nybegynder
20. februar 2003 - 21:59 #20
Ja, men det virker nu bortset fra at jeg får denne "warning"
Avatar billede strcoder Nybegynder
20. februar 2003 - 22:02 #21
Ja det er fordi at du udskriver html før din session_register(); det må man ikke.

Jeg kan ikke se din session_register(); men den må næsten ligge i common.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
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