Avatar billede lindrup2000 Nybegynder
14. april 2004 - 23:35 Der er 11 kommentarer

Login fejl i mit CMS system

Hejsa alle sammen
Jeg har fået oprettet et CMS system men jeg kan ikke logge ind? første gang er der ingen problemmer. Men så kommer det ellers. og jeg ved at mit password er rigtig...
min hjemmeside er www.lindrup.tk

tilføjer lige min header.php


<?
/*
-------------------------------------------------------
PHP-Fusion
-----------------------------------------------
© Nick Jones 2002-2004
http://www.digitaldominion.co.uk
nick@digitaldominion.co.uk
-----------------------------------------------
Released under the terms and conditions of the
GNU General Public License (http://gnu.org).
-------------------------------------------------------
*/
require "includes/config.php";
require "includes/classes.php";

// get the user's up address and store it in a variable.
$user_ip = getenv(REMOTE_ADDR);

// Open a connection to the database, settings for which are retrieved from includes/config.php file
dbconnect($dbhost, $dbusername, $dbpassword, $dbname);

// Get the settings from the database and store them in an array
$settings = dbarray(dbquery("SELECT * FROM ".$fusion_prefix."settings"));

// Define the language and theme paths
define("fusion_langdir", fusion_basedir."language/".$settings[language]."/");
define("fusion_themedir", fusion_basedir."themes/".$settings[theme]."/");

// Check if $download_id is set.
if (isset($download_id)) {
$result = dbquery("UPDATE ".$fusion_prefix."downloads SET download_count=download_count+1 WHERE download_id='$download_id'");
$result = dbquery("SELECT download_url FROM ".$fusion_prefix."downloads WHERE download_id='$download_id'");
$data = dbarray($result);
header ("Location: $data[download_url]");
}

// Check if $weblink_id is set.
if (isset($weblink_id)) {
$result = dbquery("UPDATE ".$fusion_prefix."weblinks SET weblink_count=weblink_count+1 WHERE weblink_id='$weblink_id'");
$result = dbquery("SELECT weblink_url FROM ".$fusion_prefix."weblinks WHERE weblink_id='$weblink_id'");
$data = dbarray($result);
header ("Location: $data[weblink_url]");
}

// Set a cookie to prevent multiple counts on the unique visit counter
if (!isset($_COOKIE['fusion_visited'])) {
$result=dbquery("UPDATE ".$fusion_prefix."settings SET counter=counter+1");
setcookie("fusion_visited", "yes", time() + 31536000, "/", "", "0");
}

// Check if the login button has been pressed
if (isset($_POST['login'])) {
$result = dbquery("SELECT * FROM ".$fusion_prefix."users WHERE user_name='".$_POST['username']."' and user_password=md5('".$_POST['password']."')");
if (dbrows($result) != 0) {
  $data = dbarray($result);
  if ($data[user_ban] != 1) {   
  setcookie("fusion_user", $data[user_id].".".$data[user_password], time() + 31536000, "/", "", "0");
  header("Location: index.php");
  } else {
  $loginerror = "This account is suspended<br><br>\n";
  }
}
}

// Check if $logout is set
if ($_REQUEST['logout'] == "yes") {
setcookie("fusion_user", "Null", time() - 7200, "/", "", "0");
setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
header ("Location: index.php");
}

// If value of cookie fusion_user is set, check the database and automatically log the user in
if (isset($_COOKIE['fusion_user'])) {
$logincheck = explode(".", $_COOKIE['fusion_user']);
$result = dbquery("SELECT * FROM ".$fusion_prefix."users WHERE user_id='$logincheck[0]' AND user_password='$logincheck[1]'");
if (dbrows($result) != 0) {
  $userdata = dbarray($result);
  if ($userdata[user_ban] != 1) {
  if (empty($_COOKIE['fusion_lastvisit'])) {
    setcookie("fusion_lastvisit", $userdata[user_lastvisit], time() + 3600, "/", "", "0");
    $lastvisited = $userdata[user_lastvisit];
  } else {
    $lastvisited = $_COOKIE['fusion_lastvisit'];
  }
  } else {
  setcookie("fusion_user", "Null", time() - 7200, "/", "", "0");
  setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
  header ("Location: index.php");
  }
} else {
  setcookie("fusion_user", "Null", time() - 7200, "/", "", "0");
  setcookie("fusion_lastvisit", "", time() - 7200, "/", "", "0");
  header ("Location: index.php");
}
} else {
$userdata = "";
}

// Initialize the secondary core functions
require "includes/classes2.php";

// Check if update_profile button in edit_profile.php is pressed
if (isset($_POST['update_profile'])) {
require "includes/update_profile.php";
}

// Check if post_shout button in shoutbox.php is pressed
if (isset($_POST['post_shout'])) {
require "includes/post_shout.php";
header ("Location: index.php");
}
?>

Håber der nogle der kan hjælpe......
Avatar billede mikl-dk Nybegynder
15. april 2004 - 10:29 #1
I:
// Check if the login button has been pressed

Skal
$result = dbquery("SELECT * FROM ".$fusion_prefix."users WHERE user_name='".$_POST['username']."' and user_password=md5('".$_POST['password']."')");

Laves om til:
$result = dbquery("SELECT * FROM ".$fusion_prefix."users WHERE user_name='".$_POST['username']."' and user_password='" . md5($_POST['password']) . "')");
Avatar billede lindrup2000 Nybegynder
15. april 2004 - 22:05 #2
mikl-dk det virker stadig ikke?

har du eller andre bedre ideer?
Avatar billede mikl-dk Nybegynder
15. april 2004 - 22:07 #3
smæk or die(mysql_error()) på alle queries, så vi kan se om det er i dem, fejlen ligger
Avatar billede lindrup2000 Nybegynder
15. april 2004 - 22:21 #4
Hvad er lige queries? og smæk or die???
Avatar billede mikl-dk Nybegynder
15. april 2004 - 22:33 #5
mysql_query(...) or die(mysql_error());
Avatar billede lindrup2000 Nybegynder
15. april 2004 - 22:47 #6
Kan du give mig et eksempel for jeg forstår ikke helt hvad du mener? hvor skal jeg sætte: or die(mysql_error()) ind henne?
Avatar billede mikl-dk Nybegynder
15. april 2004 - 22:57 #7
Ved jeg ikke - kender ikke det system du har downloadet/lavet. Men kreatører har i hvert fald valgt at lave sin egen funktion dbquery, i stedet for mysql_query :s
Avatar billede lindrup2000 Nybegynder
15. april 2004 - 23:22 #8
// Check if $download_id is set.
if (isset($download_id)) {

or die(mysql_error()) <---SKAL DET VÆRE HER

$result = dbquery("UPDATE ".$fusion_prefix."downloads SET download_count=download_count+1 WHERE download_id='$download_id'");
$result = dbquery("SELECT download_url FROM ".$fusion_prefix."downloads WHERE download_id='$download_id'");
$data = dbarray($result);
header ("Location: $data[download_url]"); }

Skal det være Der ^
Avatar billede mikl-dk Nybegynder
15. april 2004 - 23:29 #9
Prøv:
$result = dbquery("UPDATE ".$fusion_prefix."downloads SET download_count=download_count+1 WHERE download_id='$download_id'") or die(mysql_error());

Jeg tror du ikke det ændrer noget, men du kan prøve.
Avatar billede lindrup2000 Nybegynder
15. april 2004 - 23:42 #10
Nej det hjalp ikke en skid!!!!! jeg spurgte forummet på http://www.digitaldominion.co.uk hvor jeg har fået CMS'et fra og en sagde jeg skulle sætte www.lindrup2000.frac.dk ind fordi jeg havde et .tk domain eksempel;

  setcookie("fusion_lastvisit", $userdata[user_lastvisit], time() + 3600, "/", "lindrup2000.frac.dk", "0");
    $lastvisited = $userdata[user_lastvisit];
  } else {
    $lastvisited = $_COOKIE['fusion_lastvisit'];
  }
  } else {
  setcookie("fusion_user", "Null", time() - 7200, "/", "lindrup2000.frac.dk", "0");
  setcookie("fusion_lastvisit", "", time() - 7200, "/", "lindrup2000.frac.dk", "0");
  header ("Location: index.php");

Har han lidt ret i det? for det virkede ikke...
Men det må da kunne fikses..ik???
Avatar billede mikl-dk Nybegynder
15. april 2004 - 23:45 #11
Det er jo svært at sige hvor fejlen er, når der ingen fejlmeddelelser som sådan er. Prøv at spørg noget mere i det andet forum.
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