Avatar billede kryder Nybegynder
11. september 2011 - 23:38 Der er 12 kommentarer og
2 løsninger

Hvorfor virker det ikke mere ?

Hej,

Jeg har en lærer som har et klub site, Den er kodet i PHP. Men for ½ år siden, fik deres udbyder en ny PHP version. Også virkede deres log-ind ikke mere !

Jeg har prøvet næsten alt, med uden held.

Når man logger ind, kører den igemmen en php fil (check_login.php) Jeg tror det er i den fejlen ligger.

check_login.php :

<?
    session_start();
    include("dbconnect.php");
   
    $task = $_POST["task"];
    $user = strtolower(htmlentities($_POST["user"]));
    $pass = strtolower(htmlentities($_POST["pass"]));
    $my_user = mysql_query("Select * From ffk_members Where username = '$user' And password = '$pass'");
    $check = mysql_num_rows($my_user);
   
    if ($check == 1) {
        session_register("adgang");
        session_register("user_id");
        session_register("status");
        session_register("user_name1");
        session_register("forum_active");
        session_register("timeout");
        $timeout = time()+3600;
        $adgang = "xxxxxxxxx";
        $forum_active = true;
        $data = mysql_fetch_assoc($my_user);
        $user_id = $data["id"];
        $status = $data["status"];
        $user_name1 = $data["name1"];
       
   
    echo "<script type='text/javascript'>location='index.php'</script>";
   
mysql_free_result($my_user);
mysql_close($database);

?>

Nogen der kan hjælpe ?
Avatar billede emptry Nybegynder
11. september 2011 - 23:47 #1
http://dk2.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

---> error_reporting(E_ALL);

smid det i toppen af din fil og sæt "or die(mysql_error());" efter dine  mysql query's

Hvad får du af svar i din browser ?
Avatar billede emptry Nybegynder
11. september 2011 - 23:48 #2
$my_user = mysql_query("Select * From ffk_members Where username = '$user' And password = '$pass'");

Burde være

$my_user = mysql_query("Select * From `ffk_members` WHERE `username` = '$user' AND `password` = '$pass'");
Avatar billede kryder Nybegynder
12. september 2011 - 00:08 #3
Hej, da jeg satte "---> error_reporting(E_ALL);" ind :

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /customers/5/f/3/XXXX.dk/httpd.www/1/check_login.php on line 2

Kan dette bruges til nogle ?

Jeg har også prøvet det andet, med "$my_user = mysql_query("Select * From `ffk_members` WHERE `username` = '$user' AND `password` = '$pass'");" Det gav ikke nogle...

På forhånd tak..
Avatar billede kryder Nybegynder
12. september 2011 - 00:13 #4
Nu fik jeg den til af skrive dette : ---> error_reporting(E_ALL); Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /customers/5/f/3/ul-reg.dk/httpd.www/1/check_login.php:2) in /customers/5/f/3/ul-reg.dk/httpd.www/1/check_login.php on line 3
Avatar billede leif Seniormester
12. september 2011 - 07:28 #5
Hvis check_login.php inkluderes i andre filer skal session_start(); være det første i de filer.

session_start(); skal være det første der kommer før al HTML kode så derfor oftes i en index.php i starten som:
<?php
session_start();
?>
Avatar billede emptry Nybegynder
12. september 2011 - 09:56 #6
Altså, den fortæller dig du har en fejl på linje 2.
Så der må ligge en fejl i dbconnect.php?
Avatar billede emptry Nybegynder
12. september 2011 - 10:26 #7
tror at han prøver at illustrere at filen hedder check_login.php
Avatar billede kryder Nybegynder
12. september 2011 - 14:35 #8
ok, "dbconnect.php" ser sådan ud :

<?
    $database = mysql_connect("localhost","XXXX_dk","KODE")
      or die("<script type='text/javascript'>alert('Kunne ikke forbinde til databasen.\\nPrøv venligst igen om lidt !')</script>");
    mysql_select_db("XXXX_dk",$database);
?>
Avatar billede kryder Nybegynder
12. september 2011 - 17:51 #9
Jeg tror ikke det er DB afgang der er nogen problemer med.

Fordi den genkender brugeren, når man prøver at logge ind.

I kan selv prøve på www.ul-reg.dk/1

Prøve brugernavn : "test" og kode : "test"

Den godkender navn og kode og fortæller mig at han's læge godkendelse snart udløber. Så der få tror jeg ikke det er DB afgang der er problemet.

Vil i prøve at se index.php ?
Avatar billede kryder Nybegynder
12. september 2011 - 19:27 #10
Er der nogen der ser nogle fejl i denne :

<? if ($adgang != "XXXXXXXXX") { ?>
<form name="form_login" action="check_login.php" method="post">
<input type="hidden" name="task" value="0" />
<img src="app_graphics/login_header.png" alt="" width="200" height="28" />
<table cellspacing="6" cellpadding="0" width="100%">
  <tr>
  <td>Brugernavn:</td>
  <td style="text-align: right"><input type="text" name="user" class="tbox" style="width: 100px" /></td>
</tr>
<tr>
  <td>Kodeord:</td>
  <td style="text-align: right"><input type="password" name="pass" class="tbox" style="width: 100px" /></td>
</tr>
<tr>
  <td><input type="button" name="forgot" value="Glemt ?" onclick="task.value='1'; form_login.submit()" class="fbtn" style="background-image: url(app_graphics/fbtn_bg_menu.png)" /></td>
  <td style="text-align: right"><input type="submit" name="logon" value="Log på" class="fbtn" /></td>
</tr>
</table>
</form>
Avatar billede emptry Nybegynder
12. september 2011 - 20:09 #11
Jeg kunne ikke logge ind med

test
test

?
Avatar billede kryder Nybegynder
12. september 2011 - 20:13 #12
Prøv lige igen nu.. sorry
Avatar billede kryder Nybegynder
12. september 2011 - 21:46 #13
Er der ikke nogen der kan hjælpe ?

Det kan (næste) kun være nogle med "check_login.php"

På andre siden (der kun skal skulle ses af dem der er logget ind)  står der i toppen :

"<?
    session_start();
    if (!(($adgang == "XXXXX")"

Og i "check_login.php" står der jo

"    if ($check == 1) {
        session_register("adgang");"

og

$adgang = "XXXXX";

Det må jo betyde, den ikke opfanger at den laver en "session" ?

Er der ikke nogen der bare har styr på "session_start", session_register ????
Avatar billede kryder Nybegynder
13. september 2011 - 17:14 #14
Nåå.. problemet er løst. Det var register_globals der var slået fra. Men tak for alle inputs..
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
Computerworld tilbyder specialiserede kurser i database-management

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