0

I have a newbie issue with PHP functions calls. File:

 <?php session_start(); include("../conexionbbdd.php"); include("../conexionapi.php"); $id = $_SESSION['id']; $inclass = $_SESSION['inclass']; if($_SESSION['estado'] == 'activo'){ if($inclass==='1'){ checkCost(); } else{ sendMessage(); } function checkCost(){ //DO WHATEVER } function sendMessage(){ //DO WHATEVER } }else{ header('location:../login.php'); } ?> 

Console emerges an error ( ! ) Fatal error: Call to undefined function checkCost() in C:\wamp\www[removedbyme]\actions\msg_newMessage.php on line 14

1
  • 1
    put the function before it's call, especially in case it's not at top-level.. Commented Sep 11, 2015 at 10:25

3 Answers 3

3

Functions must be declared before they are used.

This will work:

function doSomething(){ } doSomething(); 

This won't:

doSomething(); function doSomething(){ } 
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you. I'lll tick in 3 minutes
1

Try this:

 session_start(); include("../conexionbbdd.php"); include("../conexionapi.php"); function checkCost(){ //DO WHATEVER } function sendMessage(){ //DO WHATEVER } $id = $_SESSION['id']; $inclass = $_SESSION['inclass']; if($_SESSION['estado'] == 'activo'){ if($inclass==='1'){ checkCost(); } else{ sendMessage(); } }else{ header('location:../login.php'); } 

Comments

0

PHP code is read from top to bottom, so when you call checkCost, php is not aware that checkCost exist:

<?php session_start(); include("../conexionbbdd.php"); include("../conexionapi.php"); function checkCost(){ //DO WHATEVER } function sendMessage(){ //DO WHATEVER } $id = $_SESSION['id']; $inclass = $_SESSION['inclass']; if($_SESSION['estado'] == 'activo'){ if($inclass==='1'){ checkCost(); } else{ sendMessage(); } }else{ header('location:../login.php'); } ?> 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.