undifined function

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Grizz

Grizz

19/07/2006 17:41:00
Quote Anchor link
Beste phpers.
ik ben een beetje aan het klooien met OOP.
maar kom echter tegen een probleem aan. Als ik het script uitvoer krijg ik een error namelijk:

Fatal error: Call to undefined function test() in c:\wamp\www\oop.php on line 32

hier is de code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!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" />
<title>PHP OOP TEST</title>
</head>

<body>

<?php

 Class test {
    var
$name;
    var
$age;
    var
$gender;

 function
test(){
 
     $this -> name = $_POST['name'];
     $this -> age = $_POST['age'];     
     $this -> gender = $_POST['gender'];     
    
 return $this;    
                
 }
}

    if(isset($_POST['submit'])){

        if(!empty($_POST['name']) && !empty($_POST['name']) && !empty($_POST['name'])){
        
        define ("ERROR", "FALSE");

    echo test();

 }
else {            

echo 'Please enter all the information';

 }
}


    if(!defined(ERROR)){

 echo '<form action="" method="post">';
 echo '<input name="name" type="text" id="name" value="name" />';
 echo '<input name="age" type="text" id="age" value="age" />';
 echo '<input name="gender" type="text" id="gender" value="gender" />';
 echo '<input type="submit" name="submit" value="Submit" />';
 echo '</form>';

}

    
?>
    

</body>
</html>


Iemand die de fout ziet ?
Gewijzigd op 01/01/1970 01:00:00 door Grizz
 
PHP hulp

PHP hulp

05/05/2024 06:12:40
 
Vdleije .

vdleije .

19/07/2006 17:48:00
Quote Anchor link
Uhm.. Probeer is enkele quotes!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
define ("ERROR", "FALSE");

?>
 
Grizz

Grizz

19/07/2006 17:50:00
Quote Anchor link
dat verhelpt de error niet.
 
Gerben G

Gerben G

19/07/2006 17:55:00
Quote Anchor link
zet dit even boven aan je script
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>
 
Grizz

Grizz

19/07/2006 17:58:00
Quote Anchor link
Fatal error: Call to undefined function test() in c:\wamp\www\oop.php on line 35
 
Erik Rijk

Erik Rijk

19/07/2006 17:59:00
Quote Anchor link
undefined function betekend dat je een functie probeerd op te vragen die niet bestaat
 
Jelmer -

Jelmer -

19/07/2006 17:59:00
Quote Anchor link
test is een object, niet een functie!

$test = new test();
var_dump($test);
 
Joren de Wit

Joren de Wit

19/07/2006 18:00:00
Quote Anchor link
Ehm, ik zie een aantal fouten...

Allereerst op regel 28:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(!empty($_POST['name']) && !empty($_POST['name']) && !empty($_POST['name']))


Lijkt me dat hier niet 3x name moet staan ;)

Daarnaast roep je de functie uit je class verkeerd aan. Als je het op jouw manier wilt doen, zul je de volgende code in plaats van regel 33 moeten gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$test
= new test() // Eerst een nieuw object maken mbv je class.
echo $test -> test() // Dan pas kun je de functie gebruiken.

?>


En dan nog zal het niet goed gaan, maar dat komt omdat de functie die je geschreven hebt niet klopt. De opdracht 'return $this;' geeft namelijk gewoon het object $test terug, meer niet.

Je zult dus binnen je class iets moeten doen als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

function test()
{

     $this -> name = $_POST['name'];
     $this -> age = $_POST['age'];    
     $this -> gender = $_POST['gender'];

     return $this -> name;
}


?>


Dit geeft dan alleen de naam terug, maar ik zie het doel er al niet van in om dit in een class te zetten terwijl je ook alleen de functie in je PHP code kan plaatsen...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Grizz

Grizz

19/07/2006 18:06:00
Quote Anchor link
Thanks.. :P ik zal verder nog wat documentatie... doorlezen :)
 
Vdleije .

vdleije .

19/07/2006 18:36:00
Quote Anchor link
MAg er bij zijn rang gelijk professional komen?

Blanche
newbie
 
Grizz

Grizz

19/07/2006 18:43:00
Quote Anchor link
:P
Gewijzigd op 01/01/1970 01:00:00 door Grizz
 
Arend a

Arend a

20/07/2006 01:29:00
Quote Anchor link
De rating heeft geen enkele betrekking op je php kunsten, maar op hoe snel je berichtjes kan intikken op phphulp ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.