Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How can i integrate my own forms?
#1
Hi,

i want to use this form... Bute the formprocess doesn´t work. Is this the problem?

This is my component, i load this component with

Code:
<?PHP
   $path = GSROOTPATH;
   $path .= "/apps/scripts/settings.php";
   include_once($path);

?>

This is the code of settings.php... Is this my problem: ".$_SERVER['PHP_SELF']."

Code:
<html>
<head>
<title>Manage contact's data</title>
</head>
<body>
<?php
/*************************************************************************
               control code for application
*************************************************************************/

//submit button was pressed so call the process form function
if (isset($_POST['submit']))
{
  process_form();
  die();
}//end if


//call the get_data function
if (isset($_GET['id']))
{
  get_data();
}//endif


//nothing chosen so list the kids
if ((empty($_POST))&&(empty($_GET)))
{
  list_users();
  die();
}//end if


//request to add a new contact so call the show_form function
if ((isset($_GET['action']))&&($_GET['action']=='add'))
{
  show_form();
}//endif



/*************************************************************************
               get the data for an individual contact
*************************************************************************/

function get_data()
{
    //validate the id has been passed at that it is a number
    if ((empty($_GET['id']))||(is_nan($_GET['id'])))
    {
        //there was a problem so list the users again
      list_users();
      //kill the script
      die();
    }else{
      //all is ok and assign the data to a local variable
      $id = $_GET['id'];
    }//end if
    $sql = "select * from contacts where id = $id";
    $result = conn($sql);
    if (mysql_num_rows($result)==1){
      //call the form and pass it the handle to the resultset
      show_form($result);
    }else{
      $msg = "No data found for selected contact";
      confirm($msg);
      //call the list users function
      list_users();
    }//end if
}//end function


/*************************************************************************
               show the input / edit form
*************************************************************************/
function show_form($handle='',$data='')
{
  //$handle is the link to the resultset, the ='' means that the handle can be empty / null so if nothing is picked it won't blow up

  //set default values
  $first_name = '';
  $last_name  = '';
  $email      = '';
  $status     = '';
  $id         = '';
  $value      = 'Add';  //submit button value
  $action     = 'add';  //default form action is to add a new kid to db

  //set the action based on what the user wants to do
  if ($handle)
  {
    //set form values for button and action
    $action = "edit";
    $value  = "Update";
  
    //get the values from the db resultset
    $row = mysql_fetch_array($handle);
    $first_name = $row['first_name'];
    $last_name  = $row['last_name'];
    $email      = $row['email'];
    $status     = $row['contact_status'];
    $id         = $row['id'];

  }//end if

  //error handling from the processing form function
  if($data != '')
  {
    $elements = explode("|",$data);
        $first_name     = $elements[0];
        $last_name      = $elements[1];
        $email          = $elements[2];
        $id             = $elements[3];
  }
?>
    <body>
    <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?action=<?php  echo $action?>">
    <table width="400" align="center" border="0" cellspacing="0" cellpadding="0">
      <tr>
          <td colspan="2" align="center" style="font-size:18px; font-weight:bold;">Manage Contact's Data Form</td>
          <input type="hidden" value="<?php echo $id?>" name="id">
      </tr>
      <tr>
        <td> </td>
        <td> </td>
      </tr>
      <tr>
        <td align="right">First Name: </td>
        <td><input name="first_name" type="text" value="<?php echo $first_name?>"> </td>
      </tr>
      <tr>
       <td align="right">Last Name: </td>
       <td><input name="last_name" type="text" value="<?php echo $last_name?>"> </td>
      </tr>
      <tr>
        <td align="right">Email Address: </td>
        <td><input name="email" type="text" value="<?php echo $email?>"> </td>
      </tr>
      <tr>
        <td align="right">Stop Contact? </td>
        <td><input name="status" type="checkbox" value="1" <?php if ($status==1){ echo " checked=CHECKED "; } ?>> </td>
      </tr>
      <tr>
        <td> </td>
        <td> </td>
      </tr>
      <tr>
        <td colspan="2" align="center"><input name="submit" type="submit" value="<?php echo $value?>"> <input name="reset" type="reset" value="Clear Form"></td>
      </tr>
    </table>
  
    </form>
    </body>

<?
}//end function


/*************************************************************************
               list all the contacts in the db
*************************************************************************/
function list_users()
{
    $y = 0; //counter
  
    $sql = "select * from contacts ";  //may want to add the option where clause to only take kids with an active status
    $result = conn($sql);

  echo "<table width='400' align='center' cellpadding='0' cellspacing='0'>
        <tr><td colspan='2' align='center' style='font-size:18px; font-weight:bold;'>Manage Contacts Data Form</td></tr>
        <tr><td colspan='2'> </td></tr>
        <tr><td colspan='2'><a href='".$_SERVER['PHP_SELF']."?action=add'>Add a new contact</a></td></tr>
        <tr><td colspan='2'> </td></tr>";
      
     if (mysql_num_rows($result)){
      //show a list of kids with name as a link to the prepopulated form with their data in it
      while($rows = mysql_fetch_array($result)){
      
        //change row background color
        (($y % 2) == 0) ? $bgcolor = "#8FBC8F" : $bgcolor=" #9ACD32";
      
        //build strings to make life easier
        $name   = $rows['first_name'].' '.$rows['last_name'];
        $status = $rows['contact_status'];
        $id     = $rows['id'];
      
        //convert status to readable string from 1 or 0
        ($status == 0) ? $status = "Available to contact" : $status = "Do not contact at present.";
      
        //echo out the row
        echo "<tr style='background-color:$bgcolor;'><td><a href='".$_SERVER['PHP_SELF']."?id=$id'>$name</a></td><td>$status</td><tr>";
        $y++;  //increment the counter
      }//end while
      echo "</table>";
  }else{
    //handle no results
    echo "<tr><td colspan='2' align='center'><b>No data found.</b></td></tr>";
  }//endif
}


/*************************************************************************
               add / update the contact's data
*************************************************************************/
function process_form()
{
  $fname  = '';
  $lname  = '';
  $email  = '';
  $id     = '';
  $action = '';
  $status = 0;    //default value

  $fname  = @$_POST['first_name'];
  $lname  = @$_POST['last_name'];
  $email  = @$_POST['email'];    
  $id     = @$_POST['id'];        
  $action = @$_GET['action'];
  $status = @$_POST['status'];

  //if no status is set, defaults to 0 (allow contact)
  if ($status == ''){$status = 0; }
  
  if (($fname=='')||($lname=='')||($email==''))
  {
    $msg = "Some data from the form was forgotten. Please fill in the entire form.";
    confirm($msg);
    $data = "$fname|$lname|$email|$id";
    show_form('',$data);
    die();
  }//end if

  //You could add some validation of the data ( I recommend it and its a great way to get your feet wet with php )


  if ($action == "add")
  {
    $sql = "insert into contacts (first_name, last_name, email, contact_status) values('$fname','$lname','$email',$status)";
    $msg = "Record successfully added";
  }elseif($action=="edit"){
    $sql = "update contacts set first_name = '$fname', last_name = '$lname', email = '$fname', contact_status = '$status' where id = $id";
    $msg = "Record successfully updated";
  }
  $result = conn($sql);
  if (mysql_errno()==0)
  {
    confirm($msg);
    list_users();
  }else{
    $msg = "There was a problem adding the user to the database. Error is:".mysql_error();
    confirm($mag);
  }//end if
    
}


/*************************************************************************
               db connection function
*************************************************************************/
function conn($sql)
{  

$host = "localhost";
$user = "root";
$pass = "test";
$db     = "test";


    //echo "commnecing connection to local db<br>";
  
    if (!($conn=mysql_connect($host, $user, $pass)))  {
        printf("error connecting to DB by user = $user and pwd=$pass");
        exit;
    }
    $db3=mysql_select_db($db,$conn) or die("Unable to connect to local database");

    $result = mysql_query($sql) or die ("Can't run query because ". mysql_error());
  
    return $result;
  
}//end function    

/*************************************************************************
               alert box popup confimation message function
*************************************************************************/
function confirm($msg)
{
  echo "<script langauge=\"javascript\">alert(\"".$msg."\");</script>";
}//end function

?>
Reply
#2
this is a much easier form....

Code:
<?php
if(isset($_POST['submit']))
{
    $name = $_POST['name'];
    echo "User Has submitted the form and entered this name : <b> $name </b>";
    echo "<br>You can use the following form again to enter a new name.";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <input type="text" name="name"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
</form>

How can i integrate this form? Whats wrong?
Reply
#3
http://www.html-form-guide.com/php-form/...-self.html
We had all been beginners :)
Reply




Users browsing this thread: 1 Guest(s)