webForumDet fria alternativet

inloggning

11 svar · 617 visningar · startad av webzonen

webzonenMedlem sedan feb. 2001390 inlägg
#1

Får ett fel när jag håller på lite med mitt loginscript.
felet är:
Parse error: parse error, unexpected $ in /usr/local/apache2/htdocs/medlem.php on line 87

nu är det ju så att medlem.php inte ens består av 87 rader utan edast 84, men jag skicka med det sista av medlem.php

<?
}

if ($_GET['sida'] == "main") {

   if(!(session_is_registered('userid')))
   {
   //om användaren inte är inloggad.
   header("Location: index.php?medlem&sida=loggain");
   }
   else {
   ?>
   Hej. Du är inloggad som: <?=$_SESSION["userid"];?>
   <?
   }
}

?>
kobranturreMedlem sedan maj 2004693 inlägg
#2

har du include ngnstans i koden?

Du vet väl att parse error betyder att ett tecken är fel. Kanske glömt 1 semikoln. parentes, måsvinge...

PeeerMedlem sedan mars 20025 907 inlägg
#3

Re: inloggning

webzonen skrev:

nu är det ju så att medlem.php inte ens består av 87 rader utan edast 84, men jag skicka med det sista av medlem.php

Jag har då aldrig varit med om att php skulle ange en rad som inte existerar. Är du säker på att du är i rätt fil och kollar (så du inte kollar på ex. en fil med samma namn fast som ligger i en annan mapp). Kollar du på samma version av filen (du kanske får felmeddelandet på en server, men kollar på koden i en fil du har på din arbetsstation).

Skulle även jag gissa på att du glömt ett semikolon (eller liknande) någonstans.

webzonenMedlem sedan feb. 2001390 inlägg
#4

nu är det problemet löst, men jag forsätter använda tråden eftersom det går under samma rubrik.

får nu felet

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache2/htdocs/index.php:27) in /usr/local/apache2/htdocs/medlem.php on line 41

bifogar hela medlem.php

<?
ob_start(); /* Nu börjas buffringen av din ut-data */
?>

            <table cellpadding="0" cellspacing="0" width="100%">
            <tr>
            <td bgcolor="#000000" align="middle">
            <font size="2" face="tahoma,verdana,arial" color="#ffffff">
            - M E D L E M -
            </font>
            </td>
            </tr>
            </table>
            
<?

if (($_POST['anvandare'] <> "") && ($_GET['do'] == "logon")) {

ob_start();
        $_POST['loginpass'] = md5($_POST['losen']);

        $open = mysql_connect ("localhost", "user","pass");

        $sql = "SELECT login,losen FROM anvandare WHERE login='".$_POST['anvandare']."'";

        $result = mysql_db_query("database","$sql");

        while($data=mysql_fetch_array($result)) {

                if($data['login']==$_POST['anvandare']){

                        if($data['losen']==$_POST['losen']){

                        //registrerar en varibel så vi kan hålla koll på besökaren
                        $userid = $_POST['anvandare'];
                        session_register("userid");

                        //skickar besökaren till inloggningssidan
                        header("Location: index.php?medlem&sida=main");

                        }

                  else {

                  echo "Det gick inte att fullfölja inloggningen";

                  //skickar honom till inloggningssidan
                  header("Location: index.php?medlem&sida=loggain");

                  }
                }
        }
}

If ($_GET['sida'] == "loggain") {
?>
<form method="post" action="index.php?medlem&do=logon">
Användarnamn:<br>
<input type="text" name="anvandare"><br>
Lösenord:<br>
<input type="password" name="losen"><br>
<input type="submit" value="Logga in"><br>
<?
}

if ($_GET['sida'] == "main") {

   if(!(session_is_registered('userid')))
   {
   //användaren är inte inloggad, skickar tillbaka honom till inloggningssidan
   header("Location: index.php?medlem&sida=loggain");
   }
   else {
   ?>
   Hej. Du är inloggad som: <?=$_SESSION["userid"];?>
   <?
   }
}

ob_end_flush(); /* Nu skickas din buffrade data ut */

?>

edit: har även samma typ av buffring överst och unders på index.php som includar medlem.php

PeeerMedlem sedan mars 20025 907 inlägg
#5

Du har säkert något litet som skrivs ut innan din ob_start. Du får inte ha någonting innan ob_start (dvs, se till så du inte har någon tomrad, blanksteg eller liknande före din första <?php-tagg)

webzonenMedlem sedan feb. 2001390 inlägg
#6

japp, så var det. Nu funkar det finfint... än så länge iaf :D

aasahMedlem sedan mars 20034 471 inlägg
#7

Re: Re: inloggning

Peeer skrev:

webzonen skrev:

nu är det ju så att medlem.php inte ens består av 87 rader utan edast 84, men jag skicka med det sista av medlem.php

Jag har då aldrig varit med om att php skulle ange en rad som inte existerar. ...

Det betyder i så fall att du aldrig glömmer väsentligheter vilket du ska vara glad för... Jag får ofta felet:

Parse error: parse error, unexpected $ 
in < my_path > on line < last_line + 1 >

(hoppas ni förstår vad jag menar).

Det har hittills alltid betytt att jag glömt en stängande: måsvinge, ", ', eller liknande. Alternativt ett ; oftast före ett sådant tecken.

webzonenMedlem sedan feb. 2001390 inlägg
#8

jag glömmer alltid slutparenteserna i if satser och så :)

PeeerMedlem sedan mars 20025 907 inlägg
#9

Re: Re: Re: inloggning

aasah skrev:

Peeer skrev:

webzonen skrev:

nu är det ju så att medlem.php inte ens består av 87 rader utan edast 84, men jag skicka med det sista av medlem.php

Jag har då aldrig varit med om att php skulle ange en rad som inte existerar. ...

Det betyder i så fall att du aldrig glömmer väsentligheter vilket du ska vara glad för... Jag får ofta felet:

Parse error: parse error, unexpected $ 
in < my_path > on line < last_line + 1 >

(hoppas ni förstår vad jag menar).

Hmm, visst sjutton gör jag fel (milt sagt :OO), men har _aldrig_ råkat ut för ett felmess som pekar på en rad som inte finns. Har du något exempel på ett script som ger mig ett sådant felmess? Vore kul att se :)

MatteMedlem sedan aug. 20002 975 inlägg
#10

Re: Re: Re: Re: inloggning

Peeer skrev:

... men har _aldrig_ råkat ut för ett felmess som pekar på en rad som inte finns. Har du något exempel på ett script som ger mig ett sådant felmess? Vore kul att se :)

<?php

if (true) {

   echo "test";

?>
PeeerMedlem sedan mars 20025 907 inlägg
#11

Fick felmeddelande på sista raden. La jag till en tomrad sist så fick jag felmeddelande på den raden. Förstår nu hur du kunde få ett felmeddelande på en rad som "inte fanns" (dvs. en blankrad eller två längst ner), men hävdar samtidigt att mitt påstående stämmer. Felmeddelandet kommer alltid på en rad som existerar i dokumentet (även om den råkar vara en blank sådan).

aasahMedlem sedan mars 20034 471 inlägg
#12

Peeer skrev:

... Förstår nu hur du kunde få ett felmeddelande på en rad som "inte fanns" (dvs. en blankrad eller två längst ner), men hävdar samtidigt att mitt påstående stämmer. Felmeddelandet kommer alltid på en rad som existerar i dokumentet (även om den råkar vara en blank sådan).

Visst, hävda på du. ;) Men samtidigt skrev du det som en kommentar till någon som fått ett fel av detta slag. Kanske hade varit tydligare i så fall att beskriva det som att det beror på blankrader.... Hur som helst beror det ju på att den läser tills filen tar slut på jakt efter det saknade tecknet.

133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)