Jump to content

Help me please I'm still learning


jimjimalabim

Recommended Posts

Can't figure out what is wrong with my function getVars here is my code

<?php
echo"<?xml version=\1.0\"encoding=\UFT-8\"\x3f>";
echo"\n";
?>

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
  xml:lang="en"lang="en">

<head>
  <title>My third PHP Generated Document</title>
</head>
<body>
<h2> My Third PHP Document </h2>
  <?php
  echo "<h3>Today is ".date('l, F d, Y')."</h3>";
  ?>

<?php
  //calculate the area of an equilateral triangle
  function calcTriangle($cVal) {
    $halfSide = $cVal/2;
    $otherSide = sqrt(($cVal*$cVal) - ($halfSide*$halfSide));
    $area = $otherSide * $halfSide;
    echo "<p>The area of an equilateral triangle whose sides are
    {$calcValue} is {$areaValue}.</p>\n";
  }
  //calculate the area of a circle
  function calcCircle($cVal) {
    $areaValue = $calcValue * $calcValue * pi();
    echo "<p>The area of a circle whose radius is
    {$calcValue} is {$areaValue}.</p>\n";
  }
  //calculate the area of s square
  function calcSquare($cVal) {
    $areaValue = $calcValue * $calcValue;
    echo "<p>The area of a square whose sides are
    {$calcValue} is {$areaValue}.</p>\n";
  }
  //function to test variables
  function testVars() {
    global $_POST;
    if (empty($_POST['vfld'])) {
      echo "<h3>Error</h3>";
      echo "<p>You must enter a value!</p>\n";
      return "no";
    }
    else {
      return "yes";
    }
}
  //function to get variables
  function getVars(&$a, &$b, &$c) {
    global $_POST;
    $a->$workValue = $_POST['vfld'];
    $b->$workType = $_POST['tfld'];
    $c->$calcValue = (float) $workValue;
    return;
  }

  $workValue = (isset($_POST['vfld']))?$_POST['vfld']:'';
  $workType = (isset($_POST['tfld']))?$_POST['tfld']:'';
  if (isset($_POST['submit'])) {
  if ($_POST['submit'] == "Clear") {
    clearVars();
  } elseif ($_POST['submit'] == "Calculate") {
    getVars();
  $continue = testVars();
    if ($continue == "yes") {
      switch ($workType) {
      case "circle":
        calcCircle($workVal);
        break;
      case "square":
        calcSquare($workVal);
        break;
      case "triangle":
        calcTriangle($workVal);
        break;
      }
    }
  }
}
<form method="post" action="hw06.php"
   id="form1" name="form1">
  <p>
  Enter a number here :
  <input type="text" id="vfld" name="vfld"
  value="<?php echo $workValue; ?>"/>
  </p>
  <p>
  This number is:
  <br />
  <input type="radio" name="tfld" value="circle"
  <?php if ($workType == "circle") {
    echo 'checked="checked"'; } ?> />
  : the radius of a circle
  <br />
  <input type="radio" name="tfld" value="square"
  <?php if ($workType == "square") {
    echo 'checked="checked"'; } ?> />
  : the length of one side of a square
  <br />
  <input type="radio" name="tfld" value="triangle"
  <?php if ($workType == "triangle") {
    echo 'checked="checked"'; } ?> />
  : the length of one side of an equilateral triangle
  </p>
  <p>
  <input type="submit" name="submit" value="Calculate" />
  <input type="submit" name="submit" value="Clear" />
  </p>
  </form>

<div id="footer">
</div>

</body>

</html>

 

and here are my errors

Warning: Missing argument 1 for getVars(), called in /studfs1/homepage/CISS-225/hw06.php on line 69 and defined in /studfs1/homepage/CISS-225/hw06.php on line 55

 

Warning: Missing argument 2 for getVars(), called in /studfs1/homepage/CISS-225/hw06.php on line 69 and defined in /studfs1/homepage/CISS-225/hw06.php on line 55

 

Warning: Missing argument 3 for getVars(), called in /studfs1/homepage/CISS-225/hw06.php on line 69 and defined in /studfs1/homepage/CISS-225/hw06.php on line 55

 

Notice: Undefined variable: workValue in /studfs1/homepage/CISS-225/hw06.php on line 57

 

Fatal error: Cannot access empty property in /studfs1/homepage/CISS-225/hw06.php on line 57

Any help would be greatly appreciated please explain too

Link to comment
Share on other sites

When you DEFINE a function like this..

function getVars(&$a, &$b, &$c)

You need to pass in the same number of variables (in this case 3) so your function calls would look like this..

$getVars($var1, $var2, $var3)

(or which ever variables you wanted to actually pass in.

 

You have it right on the function calcCircle

You define it with one variable like this..

function calcCircle($cVal) 

Then later call by passing a single variable to it like this..

calcCircle($workVal);

 

The end result is that the number of passed parameters need to match up from the call to the action function.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.