Avatar billede buchi Nybegynder
02. juli 2006 - 22:26 Der er 12 kommentarer

problem med funktion

jeg får fejlen herunder på min webside:

Fatal error: Cannot redeclare start_conn() (previously declared in /var/www/html/functions/mysql_functions.php:2) in /var/www/html/functions/mysql_functions.php on line 2

problemet er bare at funktionen kun bliver defineret en gang, og fejlen er der heller ikke altid:

hvis man surfer rund på siden, forsvinder fejlen.

jeg vil blive taknemlig for et svar da jeg har rodet med problemet i temmelig lang tid.

jeg har også erfaret at det ikke kun er denne funktion den er gal med. jeg har også oplevet fejlen med nogle andre af mine funktioner.
Avatar billede michael_stim Ekspert
02. juli 2006 - 22:29 #1
include_once();
eller
require_once();
Avatar billede michael_stim Ekspert
02. juli 2006 - 22:31 #2
Den ville ikke sige det hvis du kun kaldte den en gang. Formodentlig bliver den kaldt igennem en anden funktion, eller også er det en loop eller lign.
Avatar billede buchi Nybegynder
02. juli 2006 - 22:36 #3
nej, den bliver ikke kaldt to gange.

Men mit system er bygget op på den måde at der er en "master" index fil, der includere en anden index fil, der includere alt det der med funktioner og sådan noget, samt den egentlige side.

den bliver ikke kaldt mere end én gang.
Avatar billede michael_stim Ekspert
02. juli 2006 - 22:45 #4
Jamen, så har du jo fundet en bug i PHP ;o)
Avatar billede michael_stim Ekspert
02. juli 2006 - 22:46 #5
Det den klager over er jo start_conn(), og formodentlig pröver du at åbne connectionen når den allerede er åben, eller?
Avatar billede michael_stim Ekspert
02. juli 2006 - 22:47 #6
Og desuden er det umuligt at give dig et svar med ovenstående forklaring.
Avatar billede buchi Nybegynder
02. juli 2006 - 22:49 #7
funktionen start_conn() starter en forbindelse til mysql serveren, og det er det eneste den gør. forbindelsen er ikke åben før jeg bruger den.
Avatar billede buchi Nybegynder
02. juli 2006 - 22:51 #8
Dette er min kildekode for index-filen:


<?php
//function hentmicrotime()
//{
//list($usec, $sec) = explode(" ",microtime());
//return ((float)$usec + (float)$sec);
//}
//$start = hentmicrotime();
session_start();
require_once ("functions/mysql_functions.php");
require_once ("functions/stat.php");
start_conn('xxxxx', 'xxxxx', 'xxxxx', 'xxxxx');
$parametre = explode("/", $_SERVER['REQUEST_URI']);
if ($parametre['2'] == 'out') {
update_hits("$parametre[3]", "$parametre[4]");
}
echo '<?xml version="1.0" encoding="iso-8859-1"?>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<meta name="description" content="Buchi - en side om mig" />
<meta name="keywords" content="Buchi, buchi, computer, tromme, trommer, Mads Buch, Mads, Buch" />
<title>Buchi</title>
<link rel="stylesheet" type="text/css" href="/buchi/style/style.css" />
<link rel="stylesheet" type="text/css" href="/buchi/style/link.css" />
<link rel="stylesheet" type="text/css" href="/buchi/style/img.css" />
<script type="text/javascript" src="/buchi/js/drop.js"></script>
<script type="text/javascript" src="/buchi/js/ie5.js"></script>
</head>
<body>
<div id="center">
<div id="top_billede">
  <img src="/images/banner.png" alt="banner" />
</div>
<div id="top_text">
    <table cellspacing="0" cellpadding="0" id="menu1" class="ddm1">
    <tr>
        <td>
            <a class="item1" href="http://www.buchi.dk">Hjem</a>
        </td>
        <td>
            <a class="item1" href="?/mig" onmouseover="java script:void(0)">Om mig</a>
            <div class="section">
                <div><a class="item2" href="/?/tromme">&nbsp;Trommer&nbsp;&nbsp;&nbsp;</a></div>
                <a class="item2" href="/?/computer">&nbsp;Computer&nbsp;</a>
            </div>
        </td>
        <td>
            <a class="item1" href="/?/projekter" onmouseover="java script:void(0)">Projekter</a>
            <div class="section">
                <a class="item2" href="/?/portfolie">&nbsp;Portfolie&nbsp;&nbsp;&nbsp;</a>
                <a class="item2" href="/?/temp">&nbsp;Igangværende projekter&nbsp;</a>
            </div>
        </td>
        <td>
            <a class="item1" href="/?/blank" onmouseover="java script:void(0)">Forum</a>
            <div class="section">
                <a class="item2" href="/?/blank">&nbsp;Spørgsmål&nbsp;&nbsp;&nbsp;</a>
                <a class="item2" href="/?/forum_new">&nbsp;Opret spørgsmål&nbsp;</a>
            </div>
        </td>
        <td>
            <span class="right">
            <a class="item1" href="/?/blank" onmouseover="java script:void(0)">Andet</a>
            </span>
            <div class="section">
                <a class="item2" href="/?/upload">&nbsp;Upload&nbsp;&nbsp;&nbsp;</a>
                <a class="item2" href="/?/db">&nbsp;Databaser&nbsp;&nbsp;&nbsp;</a>
            </div>
        </td>
    </tr>
    </table>
    <script type="text/javascript">
    var ddm1 = new DropDownMenu1('menu1');
    ddm1.position.top = -1;
    ddm1.init();
    </script>
</div>
<?
//loguot
if ($parametre['3'] == 'logout'){
session_destroy();
}
//nyheder
//laver random tal mellem 1 og 3
$random = rand(0, 3);
echo '<div id="left">';

if ($parametre['2'] == 'hjem'||!isset($parametre['2'])) {
    include('left.php');
}
else {
switch ($random) {
      case '0' : include('left.php');
      break;   
      case '1' : include('left1.php');
      break;       
    case '2' : include('left2.php');
    break;   
    case '3' : include('left3.php');
    break;       
}
}
echo '</div>';
//(/) nyheder
//indhold
echo '<div id="context">';
switch ($parametre['2']) {
//om mig menu
      case 'mig' : include('mig.php');
      break;   
      case 'tromme' : include('tromme.php');
      break;       
    case 'computer' : include('computer.php');
      break;
//Projekter menu
    case 'portfolie' : include('portfolie.php');
      break;
    case 'projekter' : include('projekter.php');
      break;   
    case 'temp' : include('temp.php');
      break;   
//forum
      case 'forum_new' : include('tilfoej.php');
      break;
//andet
      case 'blank' : include('blank.php');
      break;
      case 'db' : include('db.php');
      break;
    case 'job' : include('job.php');
      break;
    case 'upload' : include('./upload.php');
      break;
    case 'lan' : include('lan.php');
      break;
    case 'lol' : include('lol.php');
      break;
    default : include('index1.php');
}
echo '</div>';
?>


<div id="bund_text">
<? // udskrift af antal online personer og genereringstid
//$slut = hentmicrotime();
//$tiden = $slut - $start;
//$tiden = substr($tiden,0,6);
?>&copy; Mads Buch 2006<?//echo "| Genereringstid: $tiden sec.";?></div>
</div>
<script language="javascript"><!--
try {var ref = document.referrer;}catch(e) {var ref = '';}
navigator.appName!="Netscape"?colors=screen.colorDepth:colors=screen.pixelDepth;
document.write("<a href=\"http://www.webstat.dk/lists.php?sid=1019\" target=\"_blank\"><img src=\"http://www.webstat.dk/e/?sid=1019&style=2&colors="+colors+"&screen="+screen.width+"x"+screen.height+"&ref="+escape(document.referrer)+"&ce="+navigator.cookieEnabled+"&je="+navigator.javaEnabled()+"\" alt=\"WebStat.dk\" height=11 width=11 border=0></a>");//-->
</script>
<noscript>
<a href="http://www.webstat.dk/lists.php?sid=1019" target="_blank">
<img src="http://www.webstat.dk/e/?sid=1019&style=2&njs=1" alt="WebStat.dk - gratis tæller til din hjemmeside" height=11 width=11 border=0></a>
</noscript>
</body>
</html>
Avatar billede erikjacobsen Ekspert
02. juli 2006 - 23:34 #9
Og ingen af dine andre inkluderede php-filer siger noget med:     
        include("functions/mysql_functions.php");  // eller require
??
Avatar billede buchi Nybegynder
02. juli 2006 - 23:52 #10
nej. jeg har været dem alle igennem mange gange.
Avatar billede michael_stim Ekspert
02. juli 2006 - 23:57 #11
Så må jeg nok stå af. For skal jeg sätte min hat på om fejlen ligger i PHP eller hos dig, sätter jeg den nok på PHP.
Avatar billede erikjacobsen Ekspert
03. juli 2006 - 00:01 #12
Og jeg vil sætte min højre strømpe på at fejlen ligger hos spørgeren ... ;)
Men det er jo ikke til at vide hvor, når vi ikke kan se koden.
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