www.webdeveloper.com
Results 1 to 3 of 3

Thread: Need help with insert form

Hybrid View

  1. #1
    Join Date
    Jun 2008
    Posts
    33

    Need help with insert form

    Hi,

    I have the insert form below which works just fine except for the if else condition.
    If the name already exists, i'd like it to echo name already exists.
    I know that I am doing something wrong. Can someone help?
    Thanks much !


    PHP Code:


    if(isset($_REQUEST['add_group']))
    {



    $result_content = mysql_query ("SELECT * FROM $table_group WHERE first_name = '" . $first_name. "' limit 1 ");

    if ( mysql_num_rows($result_content)==0){

    $sql="INSERT INTO $table_group (first_name, last_name)VALUES('$first_name', '$last_name')"; }else { echo  "Name already exists"; }

    $result=mysql_query($sql);

    // if successfully insert data into database, displays message "Successful".
    if($result){
    echo "Successful";
    echo "<BR>";
    echo "<a href='insert.php'>Back to main page</a>";
    }

    else {
    echo "ERROR";
    }
    }
    // close connection
    mysql_close();


    ?>

    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr>
    <td><form name="form1" method="post" action="insertTest.php">
      
    <?php

        
    if (isset($data_content["first_name"]) and
                
    $data_content["first_name"] != '' and
                !isset(
    $_POST['first_name'])) {
            
    $first_name $data_content["first_name"];
        } elseif (isset(
    $_POST['first_name'])) {
            
    $first_name $_POST['first_name'];
        } else {
            
    $first_name '';
        } 
        
    $first_name htmlentities(stripslashes($first_name), ENT_QUOTES$character_set);

        if (isset(
    $data_content["last_name"]) and
                
    $data_content["last_name"] != '' and
                !isset(
    $_POST['last_name'])) {
            
    $last_name $data_content["last_name"];
        } elseif (isset(
    $_POST['last_name'])) {
            
    $last_name $_POST['last_name'];
        } else {
            
    $last_name '';
        } 
        
    $last_name htmlentities(stripslashes($last_name), ENT_QUOTES$character_set);
    ?>

    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td colspan="3"><strong>Insert Data Into mySQL Database </strong></td>
    </tr>
    <tr>
    <td width="71">First name</td>
    <td width="6">:</td>
    <td width="301"><input name="first_name" type="text" id="first_name" value="<?php echo $first_name ?>"></td>
    </tr>
    <tr>
    <td>Lastname</td>
    <td>:</td>
    <td><input name="last_name" type="text" id="last_name" value="<?php echo $last_name ?>"></td>
    </tr>

    <tr>
    <td colspan="3" align="center"><input type="submit" name="add_group" value="Submit"></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    Last edited by fagin; 02-22-2013 at 02:51 PM.

  2. #2
    Join Date
    Nov 2012
    Location
    Jakarta
    Posts
    42
    I am not sure what the problem here. But, looking at the code, check this lines:
    Code:
    if ( mysql_num_rows($result_content)==0){
    
    $sql="INSERT INTO $table_group (first_name, last_name)VALUES('$first_name', '$last_name')"; }else { echo  "Name already exists"; }
    
    $result=mysql_query($sql);
    the line:
    Code:
    $result=mysql_query($sql);
    is outside the "if then else" loops which means, the query is always executed.

    This is a problem if name already exists, because the string $sql is empty.

    So, try moving the code inside the if then loop.

    Good luck!

  3. #3
    Join Date
    Jun 2008
    Posts
    33

    Solved

    thanks for your response. talking about putting it in the loop got me to thinking...and here is the code that works.

    I added these also:
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];


    PHP Code:
      if(isset($_REQUEST['add_group'])) {

     // Get values from form
        $first_name = $_POST['first_name'];
        $last_name = $_POST['last_name']; 

    $result_content = mysql_query ("SELECT * FROM $table_group WHERE first_name = '" . $first_name. "' limit 1 ");

         if ( mysql_num_rows($result_content) == 0) {
          $sql = "INSERT INTO $table_group (first_name, last_name) VALUES ('$first_name', '$last_name')";
        } else {
          echo "Name already exists";
        }
        $result = mysql_query($sql);
        // if successfully insert data into database, displays message "Successful".
        if($result) {
          echo "Successful<br />\n
          <a href='insert.php'>Back to main page</a>";
        } else {
          echo "ERROR";
        }
      }
      // close connection
      mysql_close();
    ?>
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1">
      <tr>
        <td>
          <form name="form1" method="post" action="test.php">
            <?php
              
    if(isset($data_content["first_name"]) && $data_content["first_name"] != '' && !isset($_POST['first_name'])) {
                
    $first_name $data_content["first_name"];
              } elseif(isset(
    $_POST['first_name'])) {
                
    $first_name $_POST['first_name'];
              } else {
                
    $first_name '';
              }
              
    $first_name htmlentities(stripslashes($first_name), ENT_QUOTES$character_set);
              if(isset(
    $data_content["last_name"]) && $data_content["last_name"] != '' && !isset($_POST['last_name'])) {
                
    $last_name $data_content["last_name"];
              } elseif(isset(
    $_POST['last_name'])) {
                
    $last_name $_POST['last_name'];
              } else {
                
    $last_name '';
              }
              
    $last_name htmlentities(stripslashes($last_name), ENT_QUOTES$character_set);
            
    ?>
            <table width="100%" border="0" cellspacing="1" cellpadding="3">
              <tr>
                <td colspan="3">
                  <strong>Insert Data Into mySQL Database </strong>
                </td>
              </tr>
              <tr>
                <td width="71">First name</td>
                <td width="6">:</td>
                <td width="301"><input name="first_name" type="text" id="first_name" value="<?php echo $first_name ?>"></td>
              </tr>
              <tr>
                <td>Lastname</td>
                <td>:</td>
                <td><input name="last_name" type="text" id="last_name" value="<?php echo $last_name ?>"></td>
              </tr>
              <tr>
                <td colspan="3" align="center"><input type="submit" name="add_group" value="Submit"></td>
              </tr>
            </table>
          </form>
        </td>
      </tr>
    </table>

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles