Jump to content


Photo

adding a variable as a form is submitted


  • Please log in to reply
4 replies to this topic

#1 mattennant

mattennant
  • Members
  • PipPipPip
  • Advanced Member
  • 42 posts

Posted 25 April 2006 - 12:45 PM

hello

i posted this in dreamweaver help, but was advised to post here instead, hope that's ok



on the homepage of the site i am building the user can subscribe to an email newsletter. It's a simple text box which on submitting adds the email to a database. What i am trying to achieve is th add a thankyou for subscribing to the textbox after the user has submitted their details.

here's the code for the form


<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
            <table align="center">
              <tr valign="baseline">
                <td><input type="text" name="email" value="<?php 
         if ($thankyou == "yes") {
        echo "thankyou";
        }else{
         } 
         ?>
" size="23"></td>
              </tr>
              <tr valign="baseline">
                <td><input type="submit" value="submit"></td>
              </tr>
            </table>
            <input type="hidden" name="thankyou" value="thankyou">
            <input type="hidden" name="MM_insert" value="form1">


i now as far as i see it need to add

$thankyou = "yes";



somewhere in the insert record code that dreamweaver has spewed out

<?php require_once('Connections/balance.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$thankyou = "yes";
  $insertSQL = sprintf("INSERT INTO balance_newsletter (email, thankyou) VALUES (%s, %s)",
                       GetSQLValueString($_POST['email'], "text"),
                       GetSQLValueString($_POST['thankyou'], "text"));
                        
  mysql_select_db($database_balance, $balance);
  $Result1 = mysql_query($insertSQL, $balance) or die(mysql_error());
    
  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
  
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
   
}


but where

i have tried just about everywhere to no avail

any ideas mat

#2 mattennant

mattennant
  • Members
  • PipPipPip
  • Advanced Member
  • 42 posts

Posted 02 May 2006 - 09:38 AM

bump

#3 wildteen88

wildteen88
  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 02 May 2006 - 04:20 PM

You already have setup a hidden form field in your form called thankyou and the form is getting suvmitted to itself, so you can just do the following instead:
<input type="text" name="email" value="<?php if (isset($_POST['thankyou']))  { echo "thankyou"; }  ?>" size="23">


#4 mattennant

mattennant
  • Members
  • PipPipPip
  • Advanced Member
  • 42 posts

Posted 03 May 2006 - 10:54 PM

that makes sense, but for some reason it's still not working, i can't think of any reason why it shouldn't though. Thanks for having a look.

#5 cefalufr

cefalufr
  • New Members
  • Pip
  • Newbie
  • 6 posts

Posted 04 May 2006 - 03:33 PM

I tried using Dreamweaver to handle PHP Database Coding for about 2 days. Dont. Its horrible. Its better off learning how to do it.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users