Jump to content

Sending textbox data to database causing two elements to disappear. Help?


Benjigga

Recommended Posts

Here is a link to screenshots of what is happening, because I'm crappy at describing things: http://imgur.com/a/ahvPA

 

Of course I've messed the code up somewhere, but I can't for the life of me figure out where. I have a simple page for someone to enter text in a textbox to save in a database to display on another page. There are 10 textboxes on the page. I can enter text into any and all textboxes and it'll save the data in the database, EXCEPT if I enter text into the 2nd textbox. If there's anything in the 2nd textbox after I click submit, it will delete whatever was in the 2nd textbox and move all data in each textbox (except textbox 1, which stays in the same place) down one element. And it pushes the data in the final textbox off the page (presumably because there's no other textbox to accept its data). Here is the code to the two pages affected. Any help would be appreciated! :)

 

 

<?php

// start the session
session_start();

if (!session_is_registered($_SESSION['myusername'])) {
   header ('location:./login.php');
}
$i=1; 
require_once('./dbconnect.php');
$sql="SELECT `event` FROM `events`";
$result=mysql_query($sql);
mysql_close();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
   <title>Admin Portal</title>
</head>
   <body>
      <form name="events" method="post" action="eventlogging.php">
         <table width="800" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
            <tr>
               <td>
                  <table width="100%" border="0" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
                     <tr>
                        <td colspan="3" bgcolor="#CCCCCC">
                           <strong><p><strong>Admin Portal</strong></p><p align="right"><small><a href="./logout.php">Logout</a></small>
                        </td>
                     </tr>
<?php
while ($i<11) {	
   echo '                     <tr align="center">
                        <td align="right" width="100">Event ' . $i . '
                        </td>
                        <td width="800">
                           <textarea name=event' . $i . ' cols=40 rows=5>'; 
   $row = mysql_fetch_array($result); 
   if ($row) {
      $msg=$row[0];
      echo $msg; 
   }; 
$i++;
echo  '</textarea>
                        </td>
                     </tr>
';
} 
?>
                     <tr>
                        <td colspan="2">
                           <center><input type="submit" name="Submit" value="Submit" /></center>
                           <input type="hidden" name="submitted" value="true" />
                        </td>
                     </tr>
                        </td>
                     </tr>
                  </table>
               </td>
            </tr>
         </table>
      </form>
   </body>
</html>

 

<?php
$position = 1;
$dbControl = 9;
$event = array();

if (!empty($_POST['event1'])) {
   $event[] = $_POST['event1'];
}

if (!empty($_POST['event2'])) {
   $event[] = $_POST['event'];
}

if (!empty($_POST['event2'])) {
   $event[] = $_POST['event'];
}

if (!empty($_POST['event3'])) {
   $event[] = $_POST['event3'];
}

if (!empty($_POST['event4'])) {
   $event[] = $_POST['event4'];
}

if (!empty($_POST['event5'])) {
   $event[] = $_POST['event5'];
}

if (!empty($_POST['event6'])) {
   $event[] = $_POST['event6'];
}

if (!empty($_POST['event7'])) {
   $event[] = $_POST['event7'];
}

if (!empty($_POST['event8'])) {
   $event[] = $_POST['event8'];
}

if (!empty($_POST['event9'])) {
   $event[] = $_POST['event9'];
}

if (!empty($_POST['event10'])) {
   $event[] = $_POST['event10'];
}

include ('./dbconnect.php');
mysql_query("DELETE FROM `events`");
foreach ($event as $msg) {
   mysql_query("INSERT INTO `events` (`position`, `event`, `date`) VALUES ('$position', '$msg', curdate() )") or die(mysql_error());
   $position++;
}

mysql_close();


$position=1;

/* foreach ($event as $msg) {
   echo $position . '. ' . $msg . '<br />';
   $position++;
} */
header("location:./admin.php");

?>

Here is where your error is:

 

if (!empty($_POST['event2'])) {
   $event[] = $_POST['event'];
}

if (!empty($_POST['event2'])) {
   $event[] = $_POST['event'];
}

 

You're checking event2 twice and assigning it to the undefined 'event' value.

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.