Funktion i .inc fil

PHP

9 svar · 214 visningar · startad av Fuel

Medlem sedan okt. 20001 285 inlägg
Trådstart#1

Jag har lite problem med att kunna köra en funktion från en inc fil..

<?

if ((!$anamn) &#0124;&#0124; (!$losenord)) {
	header("Location: <A HREF="http://localhost/loginform.php");" TARGET=_blank>http://localhost/loginform.php");</A> 
	exit;
} 
//
// Här låg koden som nu ligger i inc filen..
//
// Gjorde en require och anropade funktionen..

require "conf.inc";
kolla();

?>

Sen har vi inc filen..

<?

$db_doman = "localhost";
$db_namn = "test_1";
$db_tabell = "medlemmar";
$db_anamn = "RutgerJönåker";
$db_losen = "pEnGaR";

function kolla() {

$connection = "mysql_connect('$db_doman', '$db_anamn', '$db_losen') or die('Kunde inte ansluta.')";
$db = "mysql_select_db('$db_namn', $connection) or die('Kunde inta välja databas.')";
$sql = "SELECT * FROM $db_tabell WHERE anamn = '$anamn' AND losenord = '$losenord'"; 
// bla bla bla ...
// bla bla bla ...

?>

Mer kod...

Får detta felmeddelande:

Warning: No MySQL-Link resource supplied in conf.inc on line 33
Warning: Undefined variable: db_doman in conf.inc on line 11
Warning: Undefined variable: db_anamn in conf.inc on line 11
Warning: Undefined variable: db_losen in conf.inc on line 11
Warning: Undefined variable: db_namn in conf.inc on line 13
Warning: Undefined variable: db_tabell in conf.inc on line 15
Warning: Undefined variable: anamn in conf.inc on line 15
Warning: Undefined variable: losenord in conf.inc on line 15

Det fungerade bra innan jag fick idén att lägga koden i en inc fil och göra en funktion av det :(

Tacksam för hjälp..

Medlem sedan jan. 20001 006 inlägg
#2

Eftersom du använder localhost antar jag att du kan redigera php.ini. Kontrollera så att error_reporting är satt till E_ALL & ~E_NOTICE.

Är det inte din egen server kan du prova att skriva error_reporting(7); överst i ditt script.

http://www.php.net/manual/en/phpdevel-errors.php

/j

Medlem sedan okt. 20001 285 inlägg
#3

Nu har jag ändrat i php.ini.. och det flyter lite bättre nu. Jag är lite förundrad varför! .. ska läsa mer om reporting errors sen. Huvudsaken att det fungerar nu. Tack för hjälpen..

Medlem sedan feb. 20001 270 inlägg
#4

Du måste köra global på variablerna inne i funktionen.

function kolla() {
global $db_doman, $db_namn, $db_losen,$db_tabell, $anamn, $losenord;
$connection = "mysql_connect('$db_doman', '$db_anamn', '$db_losen') or die('Kunde inte ansluta.')";
$db = "mysql_select_db('$db_namn', $connection) or die('Kunde inta välja databas.')";
$sql = "SELECT * FROM $db_tabell WHERE anamn = '$anamn' AND losenord = '$losenord'";
// bla bla bla ...
// bla bla bla ...
}

Medlem sedan jan. 20012 204 inlägg
#5

vet inte om det blir något skillnad men testa och byt ut

require "conf.inc";

mot

include "conf.inc";
Medlem sedan okt. 20001 285 inlägg
#6

Är det global som gäller på variabler i en funktion? .. försökte läsa om det i manualen , men hittade inget speciellt. Require tänkte jag ha på conf filen för att scriptet ska göra stopp där om den inte finns.

Medlem sedan jan. 20001 006 inlägg
#7

När du är inne och rotar i php.ini, kontrollera så du har register_globals samt track_vars satt till On.

/j

Medlem sedan okt. 20001 285 inlägg
#8

Jo register_globals var på on och gällande track_vars så stod det:

Note - track_vars is ALWAYS enabled as of PHP 4.0.3

Medlem sedan feb. 20001 270 inlägg
#9

Fuel
Är det global som gäller på variabler i en funktion?

Har Du en variabel som är satt utanför en funktion som Du sedan vill använda dig av i funktionen så är det GLOBAL som gäller..
Likaså om det är vice versa (variabel som är definierad inne i functionen som även ska användas utanför funktionen).

Medlem sedan okt. 20001 285 inlägg
#10

Bra att det finns folk som vet :e
nu vart livet ett snäpp lättare igen..

370 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
245 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)