Integrate email field only into existing yahoo store sidebar

larryhir

New Member
Currently had a sidebar on this site: exertools.com, and wanted to know if possible to integrate the form subscribe_single_fixed.php so it would just have an email entry and submit.

My rtml programer reworked the subscribe_single_fixed.php script for this only and successfully did get it to work in an iframe on the sidebar of a yahoo site, but we ran into some issues.

In order to get an appropriate success message formatted within the same frame we added js script to mlm.php to redirect a success message like this:

<SCRIPT language="JavaScript">
<!--
window.location="http://site.exertools.com/submission.html";
//-->
</SCRIPT>

This caused the MBM program to not run mlm.php and access remote list.

Here's the subscribe_single_fixed.php edit he came up with that dos work in an iframe. The issue that remains is getting a custom redirect success. With a little effort I guess we could rework the subscribe_single_fixed.php to do it. But then I need to understand how to handle unsubscribe links or general subscription when those are not done not though the sidebar. I am guessing do those the multiple list script? I haven't tested how that would work, but it may be fine that way. Any thoughts?


Here's the edit to the subscribe_single_fixed.php that works in an iframe:

<?php

if ( isset( $_REQUEST['cmd'] ) && !empty( $_REQUEST['cmd'] ) ) { $cmd = $_REQUEST['cmd']; }
if ( isset( $_REQUEST['email'] ) && !empty( $_REQUEST['email'] ) ) { $email = $_REQUEST['email']; }
if ( isset( $_REQUEST['list'] ) && !empty( $_REQUEST['list'] ) ) { $list = $_REQUEST['list']; }

if ( isset( $_REQUEST['submit'] ) ) {
$errors = array();
if ( $email == "" ) { $errors[] = "Enter your email address in the email address text box"; $wrong['email'] = TRUE; }
if ( $email !== "" && ( stristr( $email, "." ) == FALSE || stristr( $email, "@" ) == FALSE ) ) { $errors[] = "The e-mail address you have entered is not valid"; $wrong['email'] = TRUE; }
if ( count( $errors ) == 0 ) {
$url = "../mlm.php";
$url .= "?cmd=$cmd&list=$list&email=$email&firstname=$firstname&lastname=$lastname";
header("Location: $url");
}
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Adobe GoLive" />
<title>Mailing List Subscription - Exertools.com</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
#exertools-newsletter {
background:#D2DFFF none repeat scroll 0 0;
color:#293A85;
float:left;
font-family:arial;
font-size:10px;
height:64px;
padding:10px 0 4px 10px;
position:relative;
width:187px;
}
* html #exertools-newsletter {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-SIZE: 10px; BACKGROUND: #d2dfff; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 167px; COLOR: #293a85; PADDING-TOP: 10px; FONT-FAMILY: arial; POSITION: relative; HEIGHT: 64px
}
* +html #exertools-newsletter {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-SIZE: 10px; BACKGROUND: #d2dfff; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 167px; COLOR: #293a85; PADDING-TOP: 10px; FONT-FAMILY: arial; POSITION: relative; HEIGHT: 64px
}
exertools-newsletter FORM {
DISPLAY: inline
}
#exertools-newsletter .nletter {
BORDER-RIGHT: 0px; PADDING-RIGHT: 1px; BORDER-TOP: 0px; PADDING-LEFT: 1px; FONT-SIZE: 11px; BACKGROUND: url(http://lib.store.yahoo.net/lib/exertools/nletter-bg.gif) no-repeat; MARGIN-BOTTOM: 3px; PADDING-BOTTOM: 1px; BORDER-LEFT: 0px; WIDTH: 120px; PADDING-TOP: 1px; BORDER-BOTTOM: 0px; FONT-FAMILY: arial; HEIGHT: 14px
}
#imageField2 {
MARGIN-LEFT: 10px
}

-->
</style></head>
<body>
<div id="exertools-newsletter">
<form id="FormName" action="subscribe_single_fixed.php" method="get" name="FormName">
<input type="text" name="email" <?php echo " value=\"$email\""; ?> onfocus="clearMe(this)" onblur="if(this.value=='') {this.value='enter email address';}" class="nletter" />
<div style="display:none; visibility:hidden;">
<input type="hidden" name="list" value="Specials and News List" />
<input type="radio" name="cmd" value="subscribe" <?php if ( $cmd == "" || $cmd == "subscribe" ) { echo "checked=\"checked\""; } ?> />
<font size="2" face="Arial"> Subscribe
<input type="radio" name="cmd" value="unsubscribe" <?php if ( $cmd == "unsubscribe" ) { echo "checked=\"checked\""; } ?> />
Unsubscribe</font></div>
<input type="image" name="submit" value="Submit" src="http://lib.store.yahoo.net/lib/exertools/go2.gif" style="margin-bottom:-5px;" />
<br />Get the latest on new products <br /> special and accessories. <br /> <a href="http://www.exertools.com/privacypolicy.html">Privacy Policy</a>
</form>
</div>
<?php

// --- ERROR CHECKING ---

if ( isset( $_REQUEST['submit'] ) ) {
if ( count( $errors ) > 0) {
echo "<table width=\"500\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
echo "<tr bgcolor=\"#ff0000\" height=\"22\">";
echo "<td height=\"22\">";
echo "<div align=\"center\">";
echo "<font color=\"white\" face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Sorry but we can't process your request</b></font></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<font size=\"-1\" color=\"red\" face=\"Verdana, Arial, Helvetica, sans-serif\"\>";
echo "<b/>Please fix the following issues</b/><br />";
for($i=0; $i<count($errors); $i++){
echo $errors[$i]."<br />";
}
} else if ( count( $successes ) > 0) {
echo "<font color=\"blue\" face=\"Verdana, Arial, Helvetica, sans-serif\"\>";
echo "<b/>Your request has been processed successfully:</b/><br />";
for($i=0; $i<count($successes); $i++){
echo $successes[$i]."<br />";
}
}
}

?>
</body>
</html>

Note that styles are particular for our layout. The iframe call looked like this:
<iframe src="http://site.exertools.com/mlm/html/subscribe_single_fixed.php" name="newsletter" scrolling="no" frameborder="no" align="left" height = "78px" width = "197px" style="margin:0; padding:0;"></iframe>

Until we figure out a way to make this all work we are using a straight text link though to the original script.

But this may be useful for development. I think most subscription services offer sidebar inclusion code which would be a great feature for future release.
 

almedajohnson

New Member
Re: Integrate email field only into existing yahoo store sid

Thanks for sharing the important source code. That was really helpful. Do you have any share for yahoo store redesigning??
 
Top