Een vraag/probleem

Status
Niet open voor verdere reacties.

ZakariaBo

Gebruiker
Lid geworden
6 jan 2008
Berichten
11
Ik heb een erg uitgebreide inlog/registratie script. Maar de layout is wit, maar die wil ik veranderen in de style van me site. Weet iemand hoe? Want als ik dan beide script samenvoeg (van de layout van m'n site en het inlogscript) krijg ik een error. Hier beide scripten.

Inlogscript:
PHP:
<?
session_start();

require("config.php");

if($submit){

$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
$result = mysql_num_rows($query);

if(!$result){
$a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
}
else{
while($object = mysql_fetch_object($query)){
$memberid = $object->memberid;
}
$login = 1;
session_register("login");
session_register("memberid");
header("Location: index.php");
}
}
else{



if(!$login){
$a = "<form method=\"POST\" action=\"$PHP_SELF\">
  <input type=\"hidden\" name=\"submit\" value=\"1\">
  Naam:<br>
  <input type=\"text\" name=\"gebruikersnaam\" size=\"20\" value=\"$gebruikersnaam\"><br>
  Wachtwoord:<br>
  <input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
  <input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
  onclick=\"document.location.href=('aanmelden.php')\">
</form>";
}
else{
header("Location: index.php");
}
}
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; )
echo $a;
?>

Layoutscript:

PHP:
<?
print " <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>

 <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
 
 <meta name=\"keywords\" content=\"voetbal, nieuws, voetbalnieuws, clubs, spelers, informatie, statistieken, centraal, voetbalcentraal, gegevens, oranje, wk, nederland, nederlands elftal, soccer, news\">

 <meta name=\"robots\" content=\"index, follow\">
 <meta name=\"revisit-after\" content=\"1 days\">
 <meta name=\"verify-v1\" content=\"Kn+P65UHZY93u7ySkKBlm8P9w/1oC974L+Sf7bEtx8k=\">

 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS\" href=\"http://voetbalcentraal.nl/rss.php\" />
 
 <link rel=\"stylesheet\" type=\"text/css\" href=\"http://voetbalcentraal.nl/css/main.css\" />
<!--[if IE]><link rel=\"stylesheet\" type=\"text/css\" href=\"http://voetbalcentraal.nl/css/ie.css\" /><![endif]-->
<!--[if IE 6]><link rel=\"stylesheet\" type=\"text/css\" href=\"http://voetbalcentraal.nl/css/ie6.css\" /><![endif]-->


<title>De beste Avatar-Community fansite van Nederland | Kijk Avatar online of download ze!</title>
<div id=\"header-photo\">
<a href=\"http://avatar-community.awardspace.com/\"><img src=\"http://avatarcommunity.wordpress.com/files/2008/02/avatar-communitybanner.jpg\" ALIGN=center alt=\"Avatar-Community Home\" /></a>
	</div>
</head>
<body>

<body onload=\"javascript:voetbalcentraal_loaded();\">

Alvast bedankt
 
Laatst bewerkt:
Allereerst zul je jezelf aan moeten leren om $_POST- en $_GET-variabelen volledig uit te schrijven. In je script zou ik al een query uit kunnen voeren door gebruik te maken van $_GET-variabelen.

Door voor de variabelen uit het script $_POST te zetten weet PHP dat ze uit een formulier moeten komen.

Daarnaast moet je af gaan leren session_register() te gaan gebruiken. Deze functie is "deprecated" wat betekent dat hij is afgekeurd. Gebruik in plaats daarvan
PHP:
$_SESSION['{naam}'] = {waarde};
Ook maakt het in dit script niet uit of mijn gegevens nou wel of niet goed zijn, de sessies worden wel aangemaakt. Lijkt mij ook niet echt de bedoeling.

Zo ziet het script er dan uit:
PHP:
<?php
session_start(); 

require("config.php"); 

if(isset($_POST['submit'])){ 
  $query = "SELECT memberid, gebruikersnaam, wachtwoord
            FROM members
            WHERE gebruikersnaam = '". $_POST['gebruikersnaam'] ."'
            AND wachtwoord = '". $_POST['$wachtwoord'] ."'
            AND geactiveerd = '1'"); 
  $result = mysql_query($query) or die(mysql_error());
  $numRows = mysql_num_rows($result); 

  if($numRows == 0) {
    $a = 'Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren... Klik <a href="'. $_SERVER['PHP_SELF'] .'">hier</a> om terug te keren';
  } else {
    $object = mysql_fetch_object($query);
    $_SESSION['login'] = 1;
    $_SESSION['memberid'] = $object->memberid;
    header("Location: index.php"); 
  }
} else{
  if($_SESSION['login'] != 1) { 
    $a = '<form method="post"> 
  <input type="hidden" name="submit" value="1"> 
  Naam:<br> 
  <input type="text" name="gebruikersnaam" size="20" value=""><br> 
  Wachtwoord:<br> 
  <input type="password" name="wachtwoord" size="20"><br> 
  <input type="submit" value="Login">
  <input type="button" value="Aanmelden" 
  onclick="document.location.href=(\'aanmelden.php\')"> 
</form>'; 
  } else { 
   header("Location: index.php"); 
  }
?> 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
  
 <meta name="keywords" content="voetbal, nieuws, voetbalnieuws, clubs, spelers, informatie, statistieken, centraal, voetbalcentraal, gegevens, oranje, wk, nederland, nederlands elftal, soccer, news"> 

 <meta name="robots" content="index, follow"> 
 <meta name="revisit-after" content="1 days"> 
 <meta name="verify-v1" content="Kn+P65UHZY93u7ySkKBlm8P9w/1oC974L+Sf7bEtx8k="> 

 <link rel="alternate" type="application/rss+xml" title="RSS" href="http://voetbalcentraal.nl/rss.php" /> 
  
 <link rel="stylesheet" type="text/css" href="http://voetbalcentraal.nl/css/main.css" /> 
<!--[if IE]><link rel="stylesheet" type="text/css" href="http://voetbalcentraal.nl/css/ie.css" /><![endif]--> 
<!--[if IE 6]><link rel="stylesheet\" type="text/css" href="http://voetbalcentraal.nl/css/ie6.css" /><![endif]--> 


<title>De beste Avatar-Community fansite van Nederland | Kijk Avatar online of download ze!</title> 
<div id="header-photo"> 
<a href="http://avatar-community.awardspace.com/"><img src="http://avatarcommunity.wordpress.com/files/2008/02/avatar-communitybanner.jpg" align="center" alt="Avatar-Community Home" /></a> 
    </div> 
</head>
<body onload="javascript:voetbalcentraal_loaded();">
<?php
// Op de plaats in je layout waar je het inlogformulier wilt hebben doe je ( echo $a; ) 
echo $a;
}
?>
</body>
</html>
 
Top, bedankt voor de tips en het script werkt perfect :thumb:. Ik had hier en daar nog wat aangepast naar mijn wensen, maar erg bedankt voor je hulp!

EDIT: Ik weet eigelijk niet precies wat je nu hebt gedaan/veranderd met de scripts. Ik heb namelijk hetzelfde probleem dan met andere twee scripts, en ik kom er niet uit..
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan