---
title: "Öppna och stänga databas...."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/78718-öppna-och-stänga-databas"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Proton"
published: "2003-06-02T16:33:30.000Z"
updated: "2004-04-24T14:21:57.000Z"
replies: 2
views: 296
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/78718-öppna-och-stänga-databas"
---

# Öppna och stänga databas....

## #1 — Proton, 2003-06-02T16:33Z

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&ouml;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&auml;ndarnamn:\<SPAN STYLE='color: red'\>\*\</SPAN\>\</TD\>".
      "\<TD\>\<INPUT TYPE=TEXT NAME=Anv&auml;ndarnamn value=\\"$kundrad\[9\]\\" SIZE=15 MAXLENGTH=20\>\</TD\>".
      "\<TD\>L&ouml;senord:\<SPAN STYLE='color: red'\>\*\</SPAN\>\</TD\>".
      "\<TD\>\<input type=password name=L&ouml;senord value=\\"$kundrad\[10\]\\" size=13 maxlength=20\>\</TD\>".
    "\</TR\>".
	"\<TR\>". 
      "\<TD COLSPAN=4\>&nbsp;\</TD\>".
    "\</TR\>".
	"\<TR\>".
	  "\<TD COLSPAN=3\>&nbsp;\</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***

Permalänk: https://www.webforum.nu/p/78718

## #2 — Proton, 2003-06-02T20:39Z

Löste det själv...

räcker att ta 

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

Hälsningar
Johnny

Permalänk: https://www.webforum.nu/p/1072643

## #3 — Josef, 2004-04-24T14:21Z

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

Permalänk: https://www.webforum.nu/p/1330034

---

Tråden på webben: https://www.webforum.nu/amne/php/78718-öppna-och-stänga-databas
