webForumDet fria alternativet

Öppna och stänga databas....

2 svar · 291 visningar · startad av Proton

ProtonMedlem sedan okt. 2000242 inlägg
#1

Hej,

Jag får problem när jag öppnar och stänger kopplingen till en databasen...

Fatal error: Cannot redeclare opendb() (previously declared in C:\Inetpub\wwwroot\php\condb.php:5) in C:\Inetpub\wwwroot\php\condb.php on line 3

Koden...
<?php
session_register("inloggning");
?>
<?php

//Lägg till en kund
if ($\_POST\['ny_kund'\] == "Skicka") {
     require "condb.php";
     $link=openDB();

     $query="SELECT \* FROM customer WHERE Username='".$\_POST\['Användarnamn'\]."' AND Password='".$\_POST\['Användarnamn'\]."'";
     $result = queryDB($query, $link);
	 
       if(!($rad=mysql_fetch_array($result))) {
        $query = "INSERT INTO customer (Firstname, Lastname, Address, ZipCode, City, Country, Phone, Email, Username, Password, RegDate) 
                        VALUES ('".$\_POST\['Förnamn'\]."', '".$\_POST\['Efternamn'\]."', 
                        '".$\_POST\['Adress'\]."', ".$\_POST\['Postnummer'\].", '".$\_POST\['Ort'\]."', '".$\_POST\['Land'\]."', ".$\_POST\['Telefon'\].",
						'".$\_POST\['E-post'\]."', '".$\_POST\['Användarnamn'\]."', '".$\_POST\['Lösenord'\]."', NOW())";
           
		   $result= queryDB($query, $link);
		    echo "\<SCRIPT language=\\"JavaScript\\"\>\\n";
            echo "alert (\\"Välkommen som kund till oss, om du loggar in kan du ändra dina uppgifter och förenklar ett köp.\\")";
			echo "\</SCRIPT\>\\n";
	    
		}else {  //Om Username redan finns...
           	echo "\<SCRIPT language=\\"JavaScript\\"\>\\n";
            echo "alert (\\"Tyvärr, ditt användarnamn var upptaget. Prova ett annat.\\")";
			echo "\</SCRIPT\>\\n";
			$registrera=back;
		   }
	closeDB($link);
}

//Uppdatera kunduppgifter
if ($\_POST\['uppdatera_kund'\] == "Uppdatera") {
  	 require "condb.php";
     $link=openDB();
	 
	    $cid = $\_SESSION\['inloggning'\]\[$id\]\["CID"\];
        $result= queryDB("UPDATE customer SET Firstname='".$\_POST\['Förnamn'\]."' , Lastname='".$\_POST\['Efternamn'\]."' ,
		Address='".$\_POST\['Adress'\]."' , ZipCode='".$\_POST\['Postnummer'\]."' , City='".$\_POST\['Ort'\]."' , Country='".$\_POST\['Land'\]."' ,
		Phone='".$\_POST\['Telefon'\]."' , Email='".$\_POST\['E-post'\]."' , Username='".$\_POST\['Användarnamn'\]."' , Password='".$\_POST\['Lösenord'\]."'  WHERE CID=$cid", $link);
  	
	closeDB($link);
}

?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="webshop.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms*[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers*.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args*);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+', felaktig e-postadress.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+', får bara innehålla siffror.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+', måste innehålla ett nummer mellan '+min+' och '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+', uppgift saknas.\n'; }
} if (errors) alert('Följande inmatning(ar) innehåller fel:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body bgcolor="#ffffff" background="images/main_bg.gif" leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" background="images/left.png">
<tr>
<td align="left" valign="top">
<?php
if($_POST['action']=='Skicka') {
kolla_inloggning();
}
if($registrera=="" && $_SESSION['inloggning'][$id]["inloggad"]=="") {
logga_in();
}
if ($_SESSION['inloggning'][$id]["inloggad"]=="ja") {
kund_meny();
}
if($registrera=="nykund") {
nykund();
}
if($registrera=="back") { //Om nykunds användarnamn redan finns kommer man att gå ett steg tillbaka för att slippa skriva om allt.
echo "<SCRIPT language=\"JavaScript\">\n";
echo "history.go(-1)";
echo "</SCRIPT>\n";
}
?>
</td>
</tr>
</table>
</body></html>

<?php
function logga_in() {

	echo "\<table width=\\"98%\\" align=\\"right\\"\>\\n";
	echo "\<p\>\<span class=\\"rubrik\\"\>Logga in\</span\>\</p\>";	
	echo "\<tr class='head'\>\<th\>\<div align=\\"left\\"\>Användarnamn\</div\>\</th\>\<th\>\<div align=\\"left\\"\>Lösenord\</div\>\</th\>\<th\>\</th\>\</tr\>";	

			echo( 
               "\<tr align=\\"left\\" valign=\\"top\\" class=\\"even\\"\>".				
				 "\<td\>
				      \<form method='post' action='login.php'\>
				      \<input type='text' name='user'\>
				 \</td\>".
				 "\<td\>
				      \<input type='text' name='pass'\>
				 \</td\>".
				 "\<td\>	  
			          \<input type='submit' name='action' class='buttons' value='Skicka'\>
					  \</form\>
				 \</td\>".
			   "\<tr align=\\"left\\" valign=\\"top\\"\>".
                 "\<td colspan=\\"3\\"\>
					  \<p align=\\"left\\"\>&nbsp;&nbsp;\<img src=\\"images/pilhoger.gif\\" alt=\\"Ny kund?\\"\>&nbsp;\<a href=\\"login.php?registrera=nykund\\"\>Ny kund?\</a\>\</p\>
				 \</td\>". 
			   "\</tr\>\\n");
	echo "\</table\>";

}
?>

<?php
function kund_meny() { //Meny när man loggat in.

  require "condb.php";
  $link=openDB();

$cid = $\_SESSION\['inloggning'\]\[$id\]\["CID"\]; //Den inloggades CID (customer id).
$result= queryDB("SELECT \* from customer WHERE CID=$cid", $link);
   if (mysql_num_rows($result) \> 0) 
      $kundrad = mysql_fetch_row($result);

echo "<form action=\"login.php\" method=\"POST\" name=\"nykund\" onSubmit=\"MM_validateForm('Förnamn','','R','Efternamn','','R','Adress','','R','Postnummer','','RisNum','Ort','','R','Land','','R','Telefon','','RisNum','E-post','','RisEmail','Användarnamn','','R','Lösenord','','R');return document.MM_returnValue\">";
echo "<table width=\"98%\" align=\"right\">\n";
echo "<p><span class=\"rubrik\">Dina kunduppgifter</span></p>";

echo (
"<TR>".
"<TD COLSPAN=4>Fält markerat med <SPAN STYLE='color: red'>*</SPAN>
är obligatoriskt.</TD>".
"</TR>".
"<TR>".
"<TD>Förnamn: <SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD COLSPAN=3><input type=text name=Förnamn value=\"$kundrad[1]\" SIZE=25 MAXLENGTH=50></TD>".
"</TR>".
"<TR>".
"<TD>Efternamn: <SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD COLSPAN=3><INPUT TYPE=TEXT NAME=Efternamn value=\"$kundrad[2]\" SIZE=25 MAXLENGTH=50></TD>".
"</TR>".
"<TR>".
"<TD>Gatuadress: <SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD COLSPAN=3><INPUT TYPE=TEXT NAME=Adress value=\"$kundrad[3]\" SIZE=25 MAXLENGTH=50></TD>".
"</TR>".
"<TR>".
"<TD>Postnr:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><INPUT TYPE=TEXT NAME=Postnummer value=\"$kundrad[4]\" SIZE=6 MAXLENGTH=6></TD>".
"<TD>Ort:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><INPUT TYPE=TEXT NAME=Ort value=\"$kundrad[5]\" SIZE=15 MAXLENGTH=50></TD>".
"</TR>".
"<TR>".
"<TD>E-post:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><INPUT TYPE=TEXT NAME=E-post value=\"$kundrad[8]\" SIZE=15 MAXLENGTH=50></TD>".
"<TD>Telefon:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><input type=TEXT name=Telefon value=\"$kundrad[7]\" size=15 maxlength=50></TD>".
"</TR>".
"<TR>".
"<TD>Land:</TD>".
"<TD COLSPAN=3><SELECT SIZE=1 NAME=Land>
<OPTION SELECTED VALUE=Sverige>Sverige</OPTION>
</SELECT></TD>".
"</TR>".
"<TR>".
"<TD>Användarnamn:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><INPUT TYPE=TEXT NAME=Användarnamn value=\"$kundrad[9]\" SIZE=15 MAXLENGTH=20></TD>".
"<TD>Lösenord:<SPAN STYLE='color: red'>*</SPAN></TD>".
"<TD><input type=password name=Lösenord value=\"$kundrad[10]\" size=13 maxlength=20></TD>".
"</TR>".
"<TR>".
"<TD COLSPAN=4> </TD>".
"</TR>".
"<TR>".
"<TD COLSPAN=3> </TD>".
"<TD align=\"center\"><input class=\"buttons\" type=\"submit\" name=\"uppdatera_kund\" value=\"Uppdatera\"></TD>".
"</TR>\n");

echo "</table>";
echo "</form>";
closeDB($link);
}
?>

<?php
function kolla_inloggning() {

require "condb.php";
$link=openDB();

$username = $_POST['user'];
$password = $_POST['pass'];

$result = queryDB("SELECT CID, Username, Password FROM customer WHERE Username='$username' AND password='$password'", $link);
if(!($user=mysql_fetch_array($result))) {
echo "<SCRIPT language=\"JavaScript\">\n";
echo "alert (\"Tyvärr, felaktigt användarnamn eller lösenord, prova igen?\")";
echo "</SCRIPT>\n";
} else {
$inloggad = "ja";
$CID = "$user[CID]";
$_SESSION['inloggning'][$id]["inloggad"]=$inloggad;
$_SESSION['inloggning'][$id]["CID"]=$CID;
kund_meny();
}
closeDB($link);
}
?>

Koden är något stympad....

condb.php tror jag är rätt men är inte säker... Är det någon som ser felet i kodan ovan? Tillägas bör att allt funkar, dvs logga in, lägga in en användara och uppdatera en användare. Bara det att felmedellande poppar upp varje gång något i formulär ska skickas.

/Johnny***

ProtonMedlem sedan okt. 2000242 inlägg
#2

Löste det själv...

räcker att ta

require "condb.php"; en gång.... inte i varje funktion.... =)

Hälsningar
Johnny

JosefMedlem sedan mars 20023 561 inlägg
#3

Markera gärna inlägget med lösningen på problemet som slutgiltigt svar, genom att trycka på "Acceptera som slutgiltigt svar" på det inlägget. Plus att du gärna i fortsättningen får använda [kod]-taggen eller [php]-taggen när du postar kod. Om du orkar får du gärna redigera ditt första inlägg i tråden så att koden hanmnar inom ett [php]-block. ;)

Polis, jag vet... ,)

/red: Oops... Märkte inte att inlägget var så gammalt. :r

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