PHP 4.0 Bug #7985 Updated: All PHP 3 scripts have "Undefined Variable" Warnings

From: Date: Mon, 27 Nov 2000 02:36:56 +0000
Subject: PHP 4.0 Bug #7985 Updated: All PHP 3 scripts have "Undefined Variable" Warnings
Groups: php.dev 
Request: Send a blank email to php-dev+get-39177@lists.php.net to get a copy of this message
ID: 7985 Updated by: rasmus Reported By: richlacroix@home.com Status: Closed Bug Type: MySQL related Assigned To: Comments: Those are very valid warnings. You get them in PHP 3 as well if you set your error_reporting level high enough. If you don't want to see these warnings change your error_reporting level in your php.ini file. Previous Comments: --------------------------------------------------------------------------- [2000-11-26 21:24:34] richlacroix@home.com Running the PHP tutorial on the latest Apache build with the latest MySQL available (all for win 32k) the example scripts that were written for PHPv3 always come back with Warning: Undefined variable, i.e. Warning: Undefined variable: submit in d:program filesapache groupapachehtdocsmysqltest.php on line 21 Warning: Undefined variable: delete in d:program filesapache groupapachehtdocsmysqltest.php on line 41 Warning: Undefined variable: id in d:program filesapache groupapachehtdocsmysqltest.php on line 55 from the following script (taken from the tutorial located at: http://hotwired.lycos.com/webmonkey/99/21/index2a.html ) Script: <html> <body> <?php $db = mysql_connect("localhost", "Web User"); mysql_select_db("mydb",$db); if ($submit) { // here if no ID then adding else we're editing if ($id) { $sql = "UPDATE employees SET first='$first',last='$last',address='$address',position='$position' WHERE id=$id"; } else { $sql = "INSERT INTO employees (first,last,address,position) VALUES ('$first','$last','$address','$position')"; } // run SQL against the DB $result = mysql_query($sql); echo "Record updated/edited!<p>"; } elseif ($delete) { // delete a record $sql = "DELETE FROM employees WHERE id=$id"; $result = mysql_query($sql); echo "$sql Record deleted!<p>"; } else { // this part happens if we don't press submit if (!$id) { // print the list if there is not editing $result = mysql_query("SELECT * FROM employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("<a href="%s?id=%s">%s %s</a> n", $PHP_SELF, $myrow["id"], $myrow["first"], $myrow["last"]); printf("<a href="%s?id=%s&delete=yes">(DELETE)</a><br>", $PHP_SELF, $myrow["id"]); } } ?> <P> <a href="<?php echo $PHP_SELF?>">ADD A RECORD</a> <P> <form method="post" action="<?php echo $PHP_SELF?>"> <?php if ($id) { // editing so select a record $sql = "SELECT * FROM employees WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); $id = $myrow["id"]; $first = $myrow["first"]; $last = $myrow["last"]; $address = $myrow["address"]; $position = $myrow["position"]; // print the id for editing ?> <input type=hidden name="id" value="<?php echo $id ?>"> <?php } ?> First name:<input type="Text" name="first" value="<?php echo $first ?>"><br> Last name:<input type="Text" name="last" value="<?php echo $last ?>"><br> Address:<input type="Text" name="address" value="<?php echo $address ?>"><br> Position:<input type="Text" name="position" value="<?php echo $position ?>"><br> <input type="Submit" name="submit" value="Enter information"> </form> <?php } ?> </body> </html> I'm new to PHP, but not development, I've checked the script against every bit of documentation I could find - spending an entire day doing so, but I can't understand why this is happening - according to everything I've seen so far, this should not be happening. Please advise. Thanks Richard P.S. Simple scripts work fine, as long as I don't try anything like a $submit, $delete, and so on from a form. --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=7985

« previous php.dev (#39177) next »