Avatar billede inctor Nybegynder
15. november 2005 - 23:32 Der er 33 kommentarer og
1 løsning

Den siger fejl hvor jeg ikk lige kan se nogen Fejl .

Jeg har denne kode:

<? include("access.php");
if (!$id) {
$password=($password);
$select_logincheck = mysql_query("SELECT id,password FROM login WHERE(username='$username')");
$row_logincheck = mysql_fetch_array($select_logincheck);
if ($password!=$row_logincheck[password]) {
print "Forkert brugernavn eller password!";
exit;
} else {
if ($login) {
$id=$row_logincheck[id];
session_register(id);
session_register(password);
$valign="middle";
mysql_query("UPDATE login SET logins=logins+1 WHERE(id='$id')");
print "<font size=\"4\"><b><center>Vent venligst...";
flush();
print "<meta http-equiv=\"refresh\" content=\"0;url=loginok.php\">;
exit;
}
}
}

$select_info = mysql_query("SELECT username,id,status FROM login WHERE(id='$id')");
$row_info = mysql_fetch_array($select_info);
echo "$row_info[username]";
?>

Den siger fejl i linie 24 , Linie 24 er:
$select_info = mysql_query("SELECT username,id,status FROM login WHERE(id='$id')");


Jeg kan ingen fejl se i den ? skriver jeg forkert eller hvad? denne besked skriver den:

Parse error: parse error in D:\websider\vhosts\DOMÆNE.dk\httpdocs\login\loginok.php on line 24

Please hjælp Maii !!! AS FAST AS YOU CAN !


C'Ya !
Avatar billede erikjacobsen Ekspert
15. november 2005 - 23:36 #1
Næh, men der er nok noget galt i linien:

print "<meta http-equiv=\"refresh\" content=\"0;url=loginok.php\">;
Avatar billede jaw Nybegynder
15. november 2005 - 23:41 #2
Der mangler et afsluttende " før dit ; i "Erik's" linie...
Avatar billede inctor Nybegynder
15. november 2005 - 23:45 #3
print "<meta http-equiv=\"refresh\" content=\"0;url=loginok.php\">";

Vil den så være rigtig ?
Avatar billede jaw Nybegynder
15. november 2005 - 23:46 #4
Det er jo nemmere du selv prøver, men umiddelbart ja :) Syntax-mæssigt i hvert fald med PHP briller.
Avatar billede inctor Nybegynder
15. november 2005 - 23:47 #5
fint nu virker den , men den skriver ikke outputtet fra:

$select_info = mysql_query("SELECT username,id,status FROM login WHERE(id='$id')");
$row_info = mysql_fetch_array($select_info);
echo "$row_info[username]";


Siden er bare blank , hvorfor ?
Avatar billede jaw Nybegynder
15. november 2005 - 23:48 #6
Sikkert pga. én af de exit; du har lagt ind i din kode.
Avatar billede erikjacobsen Ekspert
15. november 2005 - 23:48 #7
Du skal vænne dig til at bruge $_GET, $_POST, $_SESSION i stedet for at regne med at register_globals er slået til. Om det giver denne reaktion kan jeg ikke se, men det du laver er håbløst gammeldags.
Avatar billede inctor Nybegynder
15. november 2005 - 23:48 #8
hvilken exit; skal så fjernes?
Avatar billede inctor Nybegynder
15. november 2005 - 23:51 #9
vil du så ikk lige skrive en rigtig kode som kan det samme som den ? kan jo desværre ikk ligge flere point ud .. ville ellers gerne hvis det var muligt , har kun forstand på $_POST men ikke de andre 2 .. har fjernet begge exit; men intet sker ..
Avatar billede erikjacobsen Ekspert
15. november 2005 - 23:53 #10
Jeg kan ikke gennemskue hvad dit script skal lave - det er eet af problemerne med register_globals: man aner ikke hvor tingene kommer fra. Hvad skal det kunne, og i hvilken sammenhæng bruges det?
Avatar billede erikjacobsen Ekspert
15. november 2005 - 23:54 #11
...og ellers skal du bare sætte print sætninger ind undervejs i dit script, så du kan se hvor du kommer hen, og hvad indholdet af de interessante variabler er.
Avatar billede inctor Nybegynder
15. november 2005 - 23:55 #12
det skal bruges lige efter man logger ind.. mit login script videre sender dataerne man skrev i login til loginok for at verificere dem , og hvis de så er rigtige skal den så skrive Velkommen $username .. forstår duH ?
Avatar billede erikjacobsen Ekspert
15. november 2005 - 23:58 #13
Næh. Hvilke data? Hvilket login script?

Hvis du allerede har tænkt over det, hvorfor så ikke bare finde ud af hvad der sker med de print-sætninger.
Avatar billede inctor Nybegynder
16. november 2005 - 00:01 #14
mit login script ser således her ud:


<form action="loginok.php" method="post">

    <div align="left">
<table width="343">

<tr>

<td width="181" height="24">
                    <p align="left"><font face="Verdana" size="1">Brugernavn:</font></p></td>

<td width="152" height="24">
                    <p align="left"><font size="1" face="Verdana">&nbsp;<input name="username" class="text" size="19" style="BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: black; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BACKGROUND-COLOR: rgb(198,200,206); BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: black"
    ></font></p></td>

</tr>
  <TR>

<td width="181" height="7">
                <p align="left"><font size="1" face="Verdana">Kodeord:<br></font></p></td>

<td width="152" height="7">
                <p align="left"><font size="1" face="Verdana">&nbsp;<input type="password" name="password" class="text" size="19" style="BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: black; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BACKGROUND-COLOR: rgb(198,200,206); BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: black"
    ></font></p></td></TR>
<tr>

<td width="181" height="11">

                <p align="left"><font size="1" face="Verdana"></font>&nbsp;</p></td>

<td width="152" height="11">

                <p align="left"><font size="1" face="Verdana">&nbsp;<input type="submit" value="Login" class="submit" style="BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: black; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BACKGROUND-COLOR: rgb(198,200,206); BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: black" name="login"></font></p></td>

</tr>

</table>

</form></DIV>
<P align="center"><font face="Verdana" size="1"></font></P><form action="loginok.php" method="post">

    <p align="left"><font color="black" size="1" face="Verdana">

...

Hvilke Data mener du? Tabellerne oG Arraysne? username,id,password og status ..

username=brugernavn
id=ens unikke id
password=ens kode
status= 1=online 0=offline ..
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:04 #15
Felterne i formen skal du have fat i med $_POST[...]. Din $id ser ud til at komme fra en session, så der skal du bruge $_SESSION['id']. Du må gerne få vink til at lave det, men jeg kan ikke lave det for dig.
Avatar billede inctor Nybegynder
16. november 2005 - 00:08 #16
hehe ØvV .. forstår nemlig ikk noget med $_SESSION oG $_GET . Mener du ikke $_GET istedet for $_POST ? den skal da GET'e Dataerne , ikke Post'e dataerne ..
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:11 #17
$_GET giver dig værdier fra URL-en, efter spørgsmålstegnet.
$_SESSION['id']='noget'  sætter en sessionværdi, som du siden hen kan aflæse med $_SESSION['id']

men det kan du gøre senere. Brug de printsætninger til at finde ud af hvad der sker.
Avatar billede inctor Nybegynder
16. november 2005 - 00:12 #18
hvor skal der indsættes Print sætninger ? uden at den skriver fejl ..
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:15 #19
print "Jeg er kommet hertil";

Indsæt den et sted, og se om du kommer dertil. Det er da en start.
Avatar billede inctor Nybegynder
16. november 2005 - 00:15 #20
<? include("access.php");
print "Start";
if (!$id) {
$password=($password);
$select_logincheck = mysql_query("SELECT id,password FROM login WHERE(username='$username')");
$row_logincheck = mysql_fetch_array($select_logincheck);
print "lidt længere"; ///DEN NÅR HER TIL !
if ($password!=$row_logincheck[password]) {
print "Forkert brugernavn eller password";
}
else {
if ($login) {
$id=$row_logincheck[id];
session_register(id);
session_register(password);
$valign="middle";
mysql_query("UPDATE login SET logins=logins+1 WHERE(id='$id')");
print "<font size=\"4\"><b><center>Vent venligst...";
flush();
print "<meta http-equiv=\"refresh\" content=\"0;url=loginok.php\">";
}
}
}

$select_info = mysql_query("SELECT username,id,status FROM login WHERE(id='$id')") or die(mysql_error());
$row_info = mysql_fetch_array($select_info);
echo "$row_info[username]";
?>


og på siden står der:

Startlidt længere
...
Avatar billede inctor Nybegynder
16. november 2005 - 00:17 #21
Har sat ///DEN NÅR HER TIL ! ... der hvor den kommer til .. den næste linie kan den enten ikk læse eller noget , men den når kun til der ..
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:18 #22
Hvis den ikke udskriver "Forkert brugernavn eller password" er det jo nok rigtigt.
Men hvor kommer der så en værdi ind i $id, som du bruger i din sql-sætning nederst?
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:18 #23
"den næste linie kan den enten ikk læse eller noget" - hvorfor mener du det??
Avatar billede inctor Nybegynder
16. november 2005 - 00:20 #24
den udskriver ikke: Forkert brugernavn eller password ..
Aner det ikke .. den virkede da jeg testede den for noget tid siden .. skal jeg prøve og skrive :

WHERE(id=$_GET[username])")
Avatar billede inctor Nybegynder
16. november 2005 - 00:21 #25
altså linien
print "Forkert brugernavn eller password";
skal jo printes , men den blir ikke printet .. den når kun til 
print "lidt længere"; ///DEN NÅR HER TIL !
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:22 #26
"den udskriver ikke: Forkert brugernavn eller password "  - det skal den vel heller ikke hvis brugernavn og password er korrekte.
Avatar billede inctor Nybegynder
16. november 2005 - 00:23 #27
NeeJ , men hvorfor printer den så ikke Echo i bunden? echo og print er vel det samme ?
Avatar billede erikjacobsen Ekspert
16. november 2005 - 00:27 #28
Ja, hvorfor? Find ud af hvad dit script laver, og hvor det kommer til med nogle print-sætninger.
Avatar billede inctor Nybegynder
16. november 2005 - 00:28 #29
fik denne besked:

Warning: session_register(): Cannot send session cookie - headers already sent by (output started at D:\websider\vhosts\DOMÆNE.dk\httpdocs\login\loginok.php:2) in D:\websider\vhosts\DOMÆNE.dk\httpdocs\login\loginok.php on line 14

Warning: session_register(): Cannot send session cache limiter - headers already sent (output started at D:\websider\vhosts\DOMÆNE.dk\httpdocs\login\loginok.php:2) in D:\websider\vhosts\DOMÆNE.dk\httpdocs\login\loginok.php on line 14

... men den blev kun vist i meget meget kort tid, ikke en gang et sekund ..
Avatar billede inctor Nybegynder
16. november 2005 - 00:34 #30
ser den ud som om at den undlader:

if ($password!=$row_logincheck[password]) {
print "Forkert brugernavn eller password";
}
else {
if ($login) {
$id=$row_logincheck[id];
$valign="middle";
mysql_query("UPDATE login SET logins=logins+1 WHERE(id='$id')");
print "Vent venligst";
print "HeeJ Igen !";
print "<meta http-equiv=\"refresh\" content=\"0;url=loginok.php\">";
}
}
}

disse linier ,men jeg kan nå at fange alle sammen , men bagefter forsvinder de prints som er i de linier der ..
Avatar billede inctor Nybegynder
16. november 2005 - 00:35 #31
det er dem jeg kan snappe ved at trykke ESC :
Startlidt længereVent venligstHeeJ Igen !HeeeJmads

Men trykker jeg ikk ESC står der kun:
Startlidt længereHeeeJ

????
Avatar billede erikjacobsen Ekspert
16. november 2005 - 09:13 #32
Ok, at det forsvinder igen er jo pga din "refresh"-sætning.

Så skal du undersøge

1) Hvad står der i $id?
2) Tælles antal logins op?
Avatar billede inctor Nybegynder
16. november 2005 - 15:31 #33
1) Den henter den Joo fra SELECT'en
2) ikke i det script der, men jeg har så jeg kan ..
Avatar billede inctor Nybegynder
12. december 2005 - 19:04 #34
Lukker ..
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