Jump to content
Larry Ullman's Book Forums

MrJames

Members
  • Posts

    22
  • Joined

  • Last visited

Posts posted by MrJames

  1. I am looking to recreate the following function from PDO to MySQLi but having some problems, I've been over the PHP website to read the functions. I'm trying to modularize my code in like the MVC pattern. 

    public function bind($param, $value, $type=''){
    if(is_null($type)){
       switch(true){
        case is_int($value):
                //Thinking something like, for integer etc
                $type = mysqli_stmt::bind_param(i);
                $type = PDO::PARAM_INT;
                break;
        case is_bool($value):
                $type = PDO::PARAM_BOOL;
                break;
                default:
                $type = PDO::PARAM_STR;
       }
    }
    $this->stmt->bindvalue($param,$value,$type);
    }
    

    Is it as simple as just replacing PDO version line to :

    
    $type = mysqli_stmt::bind(i); or just putting $type = i;
    
    
    
    Then in my class I am trying to call the bind function:
     
    $database ->bind($stmt,$ype,$variables);
    $database->execute();
    

    Any help would be much appreciated 

     

    Regards

     

    My Setup

    Chrome

    Windows XP

    Wamp

    SublimeText

     

  2. My question was like:

     

    1) Are these graphical elements created in Photoshop which is why they look so perfect ?

    2) Are they also pictured through use of a MAC with retina displays rather than a PC ?

     

    regards

  3. Hi,

     

    I have been looking at profiles on Behance, some of which are what I would call 'pitches' (individuals putting their ideas/designs forward for how they would design/development popular websites), some of these designs are art/artistic, some are UI/UX. But one thing I have noticed is that all the images/pictures showcasing their work all look 'Clean, Crisp and really sharp'.

     

    Now when I develop a website on a PC it never looks as sharp as what some of these individuals are showcasing, So are they using MAC's with Retina displays which makes them look so nice, or is this web development done in Photoshop, below is an example of what I mean

     

    http://www.behance.net/gallery/E-mail-client/8626803

     

    So what do you think ?

  4. So I am looking at developing a jobsboard, which has three tables:

     

    Company - Store details of companies looking to advertise jobs, build profile.

    Jobs - Store details of Jobs being advertised for a certain period of time.

    Orders - Store details of the transactions for the jobs being posted.

     

    The way it works is the company completes registration form, then has the option of posting jobs which they will be charged a fix fee.

     

    Now what foreign key would I store in the Orders table? since I am using Paypal and don't know how much information you can carry over. Would I store the CompanyID or the JobsID or both?

     

     

    PHP5

    MySQL 5

    Chrome

  5. @Marie

    I have changed the login script to one a one page login script file. That works fine at the moment.

     

    @Larry

    When you say remove the "includes" from the include line, do you mean this:

     

    <?php
    include ('loginForm.php');
    ?>
    

     

    Because I tried that at that moment in time, but then brought up another few errors.

     

    Any comments, suggestions would be much appreciated.

  6. My Directory structure is set up exactly the same way as in the book:

     

    Index

    Includes

    - LoginForm.php (displays the form)

    - Login.inc.php (processes the form)

    - config.inc.php (setup for the website directory structure)

    - Header.php (display all relevant head information(titles, meta,)

    - Footer.php (holds all the Javascript files, also ends with the html,body)

     

     

    ==================================================================

    Top of my Index.php file

     

    <?php
    require ('./includes/config.inc.php');
    
    require (MYSQL);
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     include ('./includes/login.inc.php');
    }
    include ('./includes/header.php');
    ?>
    

     

    Now here is header.php file:

     

    <?php
    if (isset($_SESSION['user_id'])) {
    echo '<ul class="nav pull-right">
    <li><a href="http://www.webzoost.com/postJob.php">post job</a></li>
    <li class="divider-vertical"></li>
    <li><a href="http://www.webzoost.com/resumeSearch.php">search</a></li>
    <li class="divider-vertical"></li>
    <li class="dropdown">
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">Your Profile <strong class="caret"></strong></a>
    <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;">
    <ul class="unstyled">
    <li><a href="http://www.webzoost.com/change_password.php">Change Password</a></li>
    <li class="divider"></li>
    <li><a href="http://www.webzoost.com/logout.php">Logout</a></li>
    </ul>
    </div>
    </li>
    </ul>
    </div>
    </div>
    </div>
    </section>';
    } else {
    echo '<ul class="nav pull-right">
    <li><a href="http://www.webzoost.com/register.php">register</a></li>
    <li class="divider-vertical"></li>
    <li><a href="http://www.webzoost.com/search.php">search</a></li>
    <li class="divider-vertical"></li>
    <li class="dropdown">
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">sign in <strong class="caret"></strong></a>
    <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;">';
    require ('includes/loginForm.php');
    echo '</div>
    </li>
    </ul>
    </div>
    </div>
    </div>
    </section>';
    }
    ?>
    

     

    Now here is loginForm.php file:

     

    <?php
    if (!isset($login_errors)) $login_errors = array();
    require_once ('./includes/form_functions.inc.php');
    ?>
    <form action="index.php" id="form-search" method="post"  accept-charset="utf-8">
    <?php if (array_key_exists('login', $login_errors)) {
      echo '<span class="alert alert-error">' . $login_errors['login'] . '</span><br />';
     } ?>
     Email
     <?php create_form_input('email', 'text', 'input-large', $login_errors); ?>
     <br />
     Password
     <?php create_form_input('password', 'password', 'input-large', $login_errors); ?>
      <input class="btn btn-primary btn-block" type="submit" id="sign-in" value="Sign In">
    </form>
    <hr>
    <a href="http://www.webzoost.com/forgot_password.php" class="small">Forgotten Password</a>
    <br /><br />
    

     

    and here is the process part login.inc.php file:

     

    <?php
    $login_errors = array();
    if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $e = mysqli_real_escape_string ($dbc, $_POST['email']);
    } else {
    $login_errors['email'] = 'Enter a valid email address<br />';
    }
    if (preg_match ('/^(\w*(?=\w*\d)(?=\w*[a-z])(?=\w*[A-Z])\w*){1,32}$/',$_POST['password']) ) {
    $p = mysqli_real_escape_string($dbc,$_POST['password']);
    } else {
    $login_errors['password'] = 'You entered the wrong password<br />';
    }
    if (empty($login_errors)) { // OK to proceed!
    $q = "SELECT id, profile_type, date_joined FROM Profiles WHERE (email='$e' AND password='"  .  get_password_hash($p) .  "')"; 
    $r = mysqli_query ($dbc, $q);
    
    if (mysqli_num_rows($r) == 1) { // A match was made.
    
     $row = mysqli_fetch_array ($r, MYSQLI_NUM);
    
     $_SESSION['user_id'] = $row[0];
     $_SESSION['username'] = $row[1];
    
     // Store the data in a session:
     // Only indicate if the user's account is not expired:
     //if ($row[3] == 1) $_SESSION['user_not_expired'] = true;
    
    } else { // No match was made.
     $login_errors['login'] = 'Email address and password do not match those on file.';
    }
    } // End of $login_errors IF.
    

     

    When a visitor visits the site, they either click on 'register.php' or 'forgot_password.php' but when they do all they get is the 'header.php' file being displayed with the rest of the page white.

     

    Any comments, suggestions would be much appreciated.

  7. I have changed the directory structure, to the one that is the same as in the E-Commerce book, the only difference is that my Login form is in the header rather than the footer.

     

    Now for some reason whenever a user tries to go to any other page, all they get is a blank page with just the header displaying.

     

    I did have require ('./includes/login_form.inc.php');

     

    But that did not originally work so I changed it to include instead.

     

    How would the scripts change from example 1 in the E-Commerce book:

     

    My navigation is in the Header.html file rather than the Footer.html file, That is the only difference from the example in the book ?

     

    And all I am seeing on other pages is white space and the header file.

     

    Any comments, suggestions would be much appreciated.

  8. Hi,

     

    Having a bit of a problem with regard to someone logging in on my site. It will not display Register page if I include certain files.

     

    Here is my header.php file which stores all the navigation links, and the sign-in option or to display their profile options:

     

    <body>
    <section class="navbar navbar-fixed-top">
    <div class="navbar-inner">
    <div class="container">
    <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    </a>
    <a class="brand text-info" href="http://www.webzoost.com" name="top">abaloo</a>
    <div class="nav-collapse collapse">
    <ul class="nav pull-right">
     <li><a href="http://www.webzoost.com/profiles/register.php">register</a></li>
     <li class="divider-vertical"></li>
     <li><a href="#">search</a></li>
     <li class="divider-vertical"></li>
     <li class="dropdown">
    <?php
    if (isset($_SESSION['user_id'])) {
     echo '<a class="dropdown-toggle" href="#" data-toggle="dropdown">Your Profile <strong class="caret"></strong></a>
     <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;">';
    } else {
     echo '<a class="dropdown-toggle" href="#" data-toggle="dropdown">sign in <strong class="caret"></strong></a>
     <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;">';
    	 require ('includes/login_form.inc.php');
    }
    ?>
    
    
     </div>
     </li>
    </ul>
    </div>
    </div>
    </div>
    </section>
    

     

    Now the problem comes when i add the following files:

     

    - login.inc.php

     

    since when i put this file in my index.php file I cannot seem to link to any other part of the website such as "register" which then throws up a blank page, but if I take out the file all-together then register displays.

     

    So what I am saying is where do I put file (login.inc.php) with-out it interfering with other links on my website, also could it be a directory issue, I know larry has his navigation in the footer, but mine is in the header.php file.

     

    here is my directory setup:

     

    index

    profiles

    - register.php

    includes

    - login.inc.php

    - login_form.inc.php

    - header.php // This is where all my navigation is, and also the login form as well.

    - footer.php

     

    I am now getting the following error when I only view the source code, this error is not being displayed for some reason on output to the user(I can't find an option to paste a screenshot/image of the code):

     

    An error occurred in script '/home/sites/webzoost.com/public_html/includes/header.php' on line 52:<br />
    require(includes/login_form.inc.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory<br />
    <pre>Array<br />
    

     

     

    Any comments, suggestions would be much appreciated.

     

     

    PHP5

    MySQL5

    Chrome

  9. Hi,

     

    What I got is a log in screen, they enter their username and password then they are redirected to a screen that shows their twitter details/friends etc etc.

     

    So I have my SQL SELECT QUERY, I get back a number and I also want to select the users twitter name and put it into a Input box like below:

     

    * This is just an example*

     

    $num = mysqli_num_rows;

    $TwitterUsername = row[1];

     

    Then I would echo out a range of input boxes as below:

     

    for(i=$num;i<$num;i++) {

     

    echo '<input type="hidden" value="' . $TwitterUsername . '">';

    }

     

    Something along that line, then the JQuery would call Values from the Input boxes if that makes sense, is that possible, or would I be better using a while loop ?

     

    Appreciate any Feedback...

     

    Regards

     

    PHP 6

    MySQL 5.2

    HTML5

    CSS3

    Chrome / IE 8

  10. Hi,

     

    I have a couple of questions regarding PHP and JavaScript.

     

    1) What I would like to know is once I do a SELECT COUNT Query I want to then do a For-Loop to out put the same number of input boxes but with a PHP variable as the value so that JavaScript could pick that value up,

     

    Is that possible to be done, I mean can JavaScript/JQuery read PHP variables.

     

    They will be Hidden Input boxes as well.

     

     

    PHP 6

    MySQL 5.2

    HTML5

    CSS3

    Chrome / IE 8

  11. Hi,

     

    I like the examples 'Antonio Conte' as provided since I am also a football fan as well and it's also good to show what projects you have done as well.

     

    I tried to create my own custom theme in Wordpress and it took me hours, I have it up and running at http://www.webzoost.com.

     

    Can I ask what are the differences between TextPattern and Wordpress Antonio ? (I am not looking at developing plugins but I am someone who likes to change the HTML/CSS to make it fit my requirements and then just install plugins that I need).

     

     

    Regards

    • Upvote 1
  12. Hi.

     

    I was just wondering how facebook does it's continious updates on the wall if you know what I mean, I take it after a certain amount of time it calls a scripts which then gets the latest round of updates.

     

    So what technologies would be used here ? and also how would you stop it from repeating it's-self(i.e. calling the same data from before) ? Also does anyone know of any examples of this ?

     

    Regards

  13. Hello James. I'm not saying you're wrong, because you've seen what you think you've seen, but based upon what I know, it makes no sense at all that query errors in a PHP script would case a 500 error. In 12 years of PHP development, I've never seen a problem with a PHP script's queries causing a 500 error.

     

    Hi,

     

    As always I appreciate your input/views and opinions. I got in touch with my webhosting provider and they tell me its a shared

    hosting package and their is a certain URL you have to use. Now if I change my IPN script URL in paypal will that always try the

    old URL instead of the new one my hosting package gave me ?

    So I'll have to try and carry out another transaction with the new URL ?

     

    As always thanks for your help...

  14. I think you're overcomplicating this. As Abigail said, you need to be able to access www.example.com/ipn.php (or whatever the correct path and filename are) directly in your browser. This is the same as if it were any other PHP script. Understand what the proper URL is first, make sure that loads without error, then make sure PayPal has that proper URL.

     

    Okay Larry, I hear what you are saying, but from past experiences the only time I have really had HTTP 500 internal server errors is when a query has not been done properly or theirs a problem with the php code(NOT the URLS) ?

    The only only thing I can think of is the HTTP | HTTPS problems.

  15. I don't think you are even getting to your script. That is your problem.

    I think that 500 error might be because your directory is password protected, or a similar error to that.

     

    Hi,

     

    My Directories are not password protected though, could it be my SQL queries or the fact that the IPN script is in a sub-folder, and also

    what about http | https issues since in my config script i have the base url set as http first ?

    Would a session also work from a user entering job details then going through the paypal gateway and then being made available on the ipn script ?

     

    Look forward to your advice and help

     

    Kind Regards

  16. Hi,

     

    When I type in the URL on its own I get Internal Server Error / HTTP 500, so I am just wondering if it is something to do with the queries in the actual IPN script. The database didn't update nor did it insert the required information.

     

    I have my IPN script in a subfolder below the main domain, so would that make any difference ?

     

    Kind Regards

     

    I think either at PayPal you defined the wrong url for your script or the ipn.php file is not sitting in the right place. What happens when you type in the sitename.com/ipn.php to your browser. It should show a blank page and you can also put in debugging such as send yourself email.

  17. Hi,

     

    I am trying to create a Recruitment based website that allows the user to post jobs for three different lengths, i.e. 14 days, 1 month etc.

     

    Now I have it all working up to the point where paypal tries to send/carry out the IPN script. It does not send the values back to the database nor does it send the user to the Success page. When I look at the IPN history it says error response 404, but have looked at all the file paths and permissions and they all seem fine.

     

    Here is my PostJobs.php page where the user enters the job information:

     

    <?php
    require ('../jobAdmin/config.inc.php');
    include ('../includes/header.php');
    
    require (MySQL);
    
    $reg_errors = array();
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      	// ===================================== GET PACKAGE ID ===========================================
    	if ((isset($_GET['packageID'])) && (is_numeric($_GET['package_ID']))) {
    		$packageID = (int) $_GET['packageID'];
    	} elseif ((isset($_POST['packageID'])) && (is_numeric($_POST['packageID']))) {
    		$packageID = (int) $_POST['packageID'];
    	} else {
    	echo '<section class="wrapper">
    				<section class="page_wrap">
    					<article class="mainContent">';
    						echo '<div id="jobResults">';
    						echo '<h1 class="normal padding">No Package Found...</h1>';
    						echo '<p class="normal black textHeight padding">
    			  						Sorry you did not manage to select a package for your Job Advertisement, you cannot progress
    									you Job Advertisement without choosing a package.
    			  				  </p><br />';
    						echo '<p class="normal black textHeight padding">Please go back and select again.</p></div>
    					</article>';
    					echo '<aside class="sideBar padding">
    			<h5 class="normal padding blue capitals bottom">Job Post Features</h5>
    				<ul id="jobPost">
        			<li>	     
              			<img src="../images/email.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">FREE EMAIL LISTINGS</h6>
    	         			<p class="padding textHeight graw">Whatever Job Type you purchased your vacancy will be put into Emails that are sent out on a daily basis as long as your vacancy is still valid.</p>
        			</li>
    				<li>	     
              			<img src="../images/feed.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">FREE SOCIAL HUB LISTINGS</h6>
    	         			<p class="padding textHeight graw">With every Job that is posted it is automatically added to our Social Networks which include <a href="http://www.flockjobs.com/feeds/jobFeed.rss" class="keyword">RSS</a>, <a href="http://www.twitter.com/flockJobs" class="keyword">Twitter</a> and <a href="http://www.facebook.com/flockJobs" class="keyword">Facebook</a> as long as your vacancy is still valid.</p>
        			</li>
    				<li>	     
              			<img src="../images/lockblue.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">SAFE AND SECURE PAYMENT</h6>
    	         			<p class="padding textHeight graw">All transactions are processed by PayPal who accept most major credit cards.</p>
        			</li>
    				<li>	     
              			<img src="../images/clock.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">EASY AND EFFICIENT</h6>
    	         			<p class="padding textHeight graw">All Job posts are posted live and instantly there is no registration and no contracts saving you time.</p>
        			</li>
        		</ul>
    		</aside>
    </section>
    </section>';
    
    		include ('../includes/footer.php');
    		exit();
    	}
    
    	// ====================================== END PACKAGE ID ========================================== //
    	if (preg_match ('/^[A-Z \'.-]{2,100}$/i', $_POST['companyname'])) {
    		$companyName = mysqli_real_escape_string ($dbc, strip_tags($_POST['companyname']));
    	} else {
    		$reg_errors['companyname'] = 'Enter Your Company Name';
    	}
    
    	$companyWebsite = mysqli_real_escape_string ($dbc, strip_tags($_POST['companywebsite']));
    
    	if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['companyemail'])) {
    		$companyEmail = mysqli_real_escape_string ($dbc, strip_tags($_POST['companyemail']));
    	} else {
    		$reg_errors['companyemail'] = 'Enter A Valid Company Email Address';
    	}
    
    	if (filter_var($_POST['CountryCode'], FILTER_SANITIZE_STRING)) {
    		$companyLocation = mysqli_real_escape_string ($dbc, $_POST['CountryCode']);
    	} else {
    		$reg_errors['CountryCode'] = 'Select Your Companies Location';
    	}
    
    		if (isset($_FILES['new_image']['name'])) {
    				if (($_FILES['new_image']['type'] == "image/jpg") || ($_FILES['new_image']['type'] == "image/jpeg") && ($_FILES['new_image']['size'] < MAX_FILE_SIZE)) {
    
    					$imagename = $_FILES['new_image']['name'];
    					$source = $_FILES['new_image']['tmp_name'];
    					$target = "../pictures/".$imagename;
    					move_uploaded_file($source, $target);
    
    					$imagepath = $imagename;
    					$save = "../pictures/new_pictures/" . $imagepath;
    					$file = "../pictures/" . $imagepath;
    
    					list($width, $height) = getimagesize($file);
    
    					$modwidth = 500;
    					$diff = $width / $modwidth;
    					$modheight = $height / $diff;
    
    					$tn = imagecreatetruecolor($modwidth, $modheight);
    					$image = imagecreatefromjpeg($file);
    					imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);
    					imagejpeg($tn, $save, 100);
    
    					$save = "../pictures/new_pictures/sml_" . $imagepath;
    					$file = "../pictures/" . $imagepath;
    
    					list($width, $height) = getimagesize($file);
    
    					$modwidth = 150;
    
    					$diff = $width / $modwidth;
    
    					$modheight = $height / $diff;
    
    					$tn = imagecreatetruecolor($modwidth, $modheight);
    					$image = imagecreatefromjpeg($file);
    					imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);
    
    					imagejpeg($tn, $save, 100);
    
    					$newLogo = "/pictures/new_pictures/" . $_FILES['new_image']['name'];
    					$smallLogo = "/pictures/new_pictures/sml_" . $_FILES['new_image']['name'];		
    				}
    			$newLogo = '/pictures/new_pictures/no_image.jpg';
    		}
    
    
    		if (preg_match ('/^[A-Z \'.-]{2,100}$/i', $_POST['jobtitle'])) {
    			$jobTitle = mysqli_real_escape_string ($dbc, strip_tags($_POST['jobtitle']));
    		} else {
    			$reg_errors['jobtitle']='Enter A Job Title';
    		}
    
    		if (filter_var($_POST['SectorID'], FILTER_VALIDATE_INT, array('min_range' => 1))) {
    			$jobSector = mysqli_real_escape_string ($dbc, strip_tags($_POST['SectorID']));
    		} else {
    			$reg_errors['SectorID'] = 'Select Your Job Sector';
    		}
    
    		if (filter_var($_POST['jobtype'], FILTER_SANITIZE_STRING)) {
    			$jobType = mysqli_real_escape_string ($dbc, strip_tags($_POST['jobtype']));
    		} else {
    			$reg_errors['jobtype'] = 'Select A Job Type';
    		}
    
    		if (preg_match ('/^[A-Z \',.-]{2,100}$/i', $_POST['joblocation'])) {
    			$jobLocation = mysqli_real_escape_string ($dbc, strip_tags($_POST['joblocation']));
    		} else {
    			$reg_errors['joblocation']='Enter Location Of The Job';
    		}
    
    		if (!empty($_POST['JobContent'])) {
    			$allowed = '<div><p><span><br><a><img><h1><h2><h3><h4><ul><ol><li><blockquote><strong><em><del><ins>';
    			$jobDesc = mysqli_real_escape_string($dbc, strip_tags($_POST['JobContent'], $allowed));
    		} else {
    			$reg_errors['JobContent'] = 'Please Enter A Job Description';
    		}
    
    		if (!empty($_POST['JobApplyContent'])) {
    			$allowed = '<div><p><span><br><a><img><h1><h2><h3><h4><ul><ol><li><blockquote><strong><em><del><ins>';
    			$jobApply = mysqli_real_escape_string($dbc, strip_tags($_POST['JobApplyContent'], $allowed));
    		} else {
    			$reg_errors['JobApplyContent'] = 'Enter How To Apply For The Job';
    		}
    
    		// ====================================== END OF JOBS INFORMATION ========================================== //
    
    			if (empty($reg_errors)) { // if everythings okay
    
    				$q = "SELECT JobServiceID,JobServiceDesc,JobLength,Price FROM JobProducts WHERE JobServiceID = '$packageID'";
    				$r = mysqli_query($dbc, $q);  
    
    				if (mysqli_num_rows($r) == 1) {
    
    					$row = mysqli_fetch_array ($r, MYSQLI_NUM);
    
    					$productID = $row[0];
    					$productDescription = $row[1];
    					$productLength = $row[2];
    					$productPrice = $row[3];
    
    					$CompanyIP = $_SERVER['REMOTE_ADDR'];
    
    						$q = "INSERT INTO Company(CompanyName,CompanyWebsite,CompanyEmail,CountryCode,CompanyIP)VALUES('$companyName','$companyWebsite','$companyEmail','$companyLocation','$CompanyIP')";
    						$r = mysqli_query($dbc, $q);
    
    							if(mysqli_affected_rows($dbc) == 1) {
    
    								$companyID = mysqli_insert_id($dbc);
    								$_SESSION['companyID'] = $companyID;
    
    										$q = "INSERT INTO pictures(CompanyID,logoPath)VALUES({$_SESSION['companyID']},'$newLogo')";
    										$r = mysqli_query($dbc, $q);
    
    											if(mysqli_affected_rows($dbc) == 1) {
    
    													$a = md5(uniqid(rand(), true));
    
    													$q = "INSERT INTO JobAdvert(CompanyID,JobServiceID,JobCode,JobTitle,JobSector,JobType,JobLocation,JobDescription,JobApply,JobExpires)VALUES({$_SESSION['companyID']},'$productID','$a','$jobTitle','$jobSector','$jobType','$jobLocation','$jobDesc','$jobApply', SUBDATE(NOW(), INTERVAL 1 DAY) )";
    													$r = mysqli_query($dbc, $q);
    
    														$JobAdvert = mysqli_insert_id($dbc);
    														$_SESSION['JobAdvertID'] = $JobAdvert;
    
    														if(mysqli_affected_rows($dbc) == 1) {
    
    															$JobAdvertID = mysqli_insert_id($dbc);
    															//$_SESSION['JobAdvertID'] = $JobAdvert;
    
    															echo '<section class="wrapper">
    																  	<section class="page_wrap">
    																		<article class="mainContent">
    																			<h1 class="normal padding">Proceed With Payment...</h1>
    																				<span class="padding textHeight graw normal txt1">1. Complete Job Details </span><span class="padding textHeight bold blue capitals">2. Proceed With Payment </span><br /><br />';
    																			echo '<p class="padding textHeight">
    																  					Congratulations on completing step 1, To complete the process please proceed by clicking the button below so that you may pay for your Job Post via PayPal.';
    																			echo '</p><br />';
    
    																			//echo "{$_SESSION['JobPrice']}";
    
    																			echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    																					<input type="hidden" name="cmd" value="_xclick">
    																					<input type="hidden" name="business" value="customersupport@flockjobs.com"/>
    																					<input type="hidden" name="currency_code" value="GBP">
    																					<input type="hidden" name="email" value="' . $companyEmail . '"/>
    																					<input type="hidden" name="custom" value="' . $JobAdvertID . '"/>
    																					<input type="hidden" name="hosted_button_id" value="PF4VPS4ZM2384">
    																					<input type="hidden" name="item_name" value="' . $productDescription . '"/>
    																					<input type="hidden" name="amount" value="' . $productPrice . '"/>
    																					<input type="hidden" name="tax" value="20.0">
    
    																					<input type="image" src="https://www.paypal.com/en_GB/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online." class="padding">
    																					<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
    																					</form>';
    																			echo '
    																				</article>
    																					<aside class="sideBar padding">
    																						<h5 class="normal padding blue capitals bottom">Job Post Features</h5>
    																							<ul id="jobPost">
        																							<li>	     
              																							<img src="../images/email.png" align="left" alt="" title="" />
    	     																								<h6 class="normal blue">FREE EMAIL LISTINGS</h6>
    																										<p class="padding textHeight graw">Whatever Job Type you purchased your vacancy will be put into Emails that are sent out on a daily basis as long as your vacancy is still valid.</p>
    																								</li>
    																								<li>	     
    																									<img src="../images/feed.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">FREE SOCIAL HUB LISTINGS</h6>
    																										<p class="padding textHeight graw">With every Job that is posted it is automatically added to our Social Networks which include <a href="http://www.flockjobs.com/feeds/jobFeed.rss" class="keyword">RSS</a>, <a href="http://www.twitter.com/flockJobs" class="keyword">Twitter</a> and <a href="http://www.facebook.com/flockJobs" class="keyword">Facebook</a> as long as your vacancy is still valid.</p>
    																								</li>
    																																																	<li>	     
    																									<img src="../images/lockblue.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">SAFE AND SECURE PAYMENT</h6>
    																										<p class="padding textHeight graw">All transactions are processed by PayPal who accept most major credit cards.</p>
    																								</li>
    																								<li>	     
    																									<img src="../images/clock.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">EASY AND EFFICIENT</h6>
    																										<p class="padding textHeight graw">All Job posts are posted live and instantly there is no registration and no contracts saving you time.</p>
    																								</li>
    																							</ul>
    																						</aside>
    																				</section>
    																			</section>';
    
    
    
    															// SEND AN EMAIL LETTING THEM KNOW //
    
    																 $message = '<!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" xml:long="en" lang="en">
    																			<head>
    																			<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    																			<title>Flockjobs.com, Step 1, Post A Job</title>
    																			<style type="text/css">
    																				body,td,th {font-family: arial,sans-serif;font-size: 12px;}
    																				body {background-color: #F0f0f0;margin-left: 0px;margin-top: 0px;}
    																				p {color:#444;padding:0 0 0 8px;line-height:1.5em;}
    																				h4 {font-size:25;font-weight:400;color:#000000;}
    																				a{text-decoration:none;}
    																				a:hover{text-decoration:underline;}
    																			</style>
    																			</head>
    																			<body><center><br />';
    																 $message .="<table width=\"600\" border=\"0\" bgcolor=\"#FFFFFF\" cellpadding=\"25\">
    																			 <tr>
    																			 	<td align=\"left\" bgcolor=\"#FFFFFF\">
    																					<br /><br />
    																					<p><h4>Flockjobs.com Notification</h4></p><br />
    																					<p>
    																							Congratulations on deciding to advertise your Job vacancy with <a href=\"http://www.flockjobs.com\">flockjobs.com</a> whether you
    																							are a Recruitment company or an employer we hope you find your ideal Candidate.
    																					</p>
    																					<br />
    																					<p>
    																							This is a notification email to tell you that your Job Advertisement has nearly been completed all that is required for you to do
    																							is to continue with your online payment via PayPal. Once this has been completed you will then be able to Edit /  Delete your
    																							Job Vacancy whenever you feel like it as long as your Job Advertisement is still Valid. 
    																					</p>
    																					<br />
    																					<p>
    																							We use free advertising methods in which other recruitment boards would charge for and help get your Job advertisement noticed by
    																							tapping into the social networking areas such as <a href=\"http://www.facebook.com/flockjobs\">Facebook</a>, 
    																							<a href=\"http://www.twitter.com/flockjobs\">Twitter</a> and our own RSS feed 
    																							<a href=\"http://www.flockjobs.com/jobFeeds/jobFeed.php\">flockjobs.com</a>.
    																					</p>
    																					<br /><br />
    																					<p>
    																							Yours Sincerely<br /><br />flockjobs.com
    																					</p>
    																			 </tr>
    																			 </table>
    																			 <br /></center></body>
    																			 </html>";
    
    																 $headers = 'MIME-Version: 1.0' . "\r\n";
    																 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    																 $headers .='From: Flockjobs.com <customersupport@flockjobs.com>' . "\r\n" .
    																			'Reply-To: Admin@webzoost.com' . "\r\n" .
    																			'X-Mailer: PHP/' . phpversion();
    
    																 mail($_POST['companyemail'],'Flockjobs, Step 1, Post A Job',$message,$headers);
    
    															//mail ($_POST['companyemail'], 'Step 1, Complete Job Details', $body, 'From: CustomerSupport@flockjobs.com');
    
    
    
    															include('../includes/footer.php');
    															exit();
    
    														} else {
    															echo 'Problem with job info with image';
    														}
    											 } else {
    
    											 		$a = md5(uniqid(rand(), true));
    
    													$q = "INSERT INTO JobAdvert(CompanyID,JobServiceID,JobCode,JobTitle,JobSector,JobType,JobLocation,JobDescription,JobApply,JobExpires)VALUES({$_SESSION['companyID']},'$productID','$a','$jobTitle','$jobSector','$jobType','$jobLocation','$jobDesc','$jobApply', SUBDATE(NOW(), INTERVAL 1 DAY) )";
    													$r = mysqli_query($dbc, $q);
    
    														if(mysqli_affected_rows($dbc) == 1) {
    
    														$JobAdvertID = mysqli_insert_id($dbc);
    														$_SESSION['JobAdvertID'] = $JobAdvert;
    
    															echo '<section class="wrapper">
    																  	<section class="page_wrap">
    																		<article class="mainContent">
    																			<h1 class="normal padding">Proceed With Payment...</h1>
    																				<span class="padding textHeight graw normal txt1">1. Complete Job Details </span><span class="padding textHeight bold blue capitals">2. Proceed With Payment </span><br />';
    																			echo '<p class="padding textHeight">
    																  					Congratulations on completing step 1, To complete the process please proceed by clicking the button below so that you may pay for your Job Post via PayPal.';
    																			echo '</p>
    																				</article>
    																					<aside class="sideBar padding">
    																						<h5 class="normal padding blue capitals bottom">Job Post Features</h5>
    																							<ul id="jobPost">
        																							<li>	     
              																							<img src="../images/email.png" align="left" alt="" title="" />
    	     																								<h6 class="normal blue">FREE EMAIL LISTINGS</h6>
    																										<p class="padding textHeight graw">Whatever Job Type you purchased your vacancy will be put into Emails that are sent out on a daily basis as long as your vacancy is still valid.</p>
    																								</li>
    																								<li>	     
    																									<img src="../images/feed.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">FREE SOCIAL HUB LISTINGS</h6>
    																										<p class="padding textHeight graw">With every Job that is posted it is automatically added to our Social Networks which include <a href="http://www.flockjobs.com/feeds/jobFeed.rss" class="keyword">RSS</a>, <a href="http://www.twitter.com/flockJobs" class="keyword">Twitter</a> and <a href="http://www.facebook.com/flockJobs" class="keyword">Facebook</a> as long as your vacancy is still valid.</p>
    																								</li>
    																																																	<li>	     
    																									<img src="../images/lockblue.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">SAFE AND SECURE PAYMENT</h6>
    																										<p class="padding textHeight graw">All transactions are processed by PayPal who accept most major credit cards.</p>
    																								</li>
    																								<li>	     
    																									<img src="../images/clock.png" align="left" alt="" title="" />
    																									<h6 class="normal blue">EASY AND EFFICIENT</h6>
    																										<p class="padding textHeight graw">All Job posts are posted live and instantly there is no registration and no contracts saving you time.</p>
    																								</li>
    																							</ul>
    																						</aside>
    																				</section>
    																			</section>';
    
    																			//echo "{$_SESSION['JobPrice']}";
    
    																			// Process Payments
    																			echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    																					<input type="hidden" name="cmd" value="_xclick">
    																					<input type="hidden" name="business" value="customersupport@flockjobs.com"/>
    																					<input type="hidden" name="currency_code" value="GBP">
    																					<input type="hidden" name="email" value="' . $companyEmail . '"/>
    																					<input type="hidden" name="custom" value="' . $JobAdvertID . '"/>
    																					<input type="hidden" name="hosted_button_id" value="PF4VPS4ZM2384">
    																					<input type="hidden" name="item_name" value="' . $productDescription . '"/>
    																					<input type="hidden" name="amount" value="' . $productPrice . '"/>
    																					<input type="hidden" name="tax" value="20.0">
    																					<input type="image" src="https://www.paypal.com/en_GB/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online." class="padding">
    																					<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
    																					</form>';
    																				//END Payments
    
    															// SEND AN EMAIL ====================================================================//
    															   $message = '<!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" xml:long="en" lang="en">
    																			<head>
    																			<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    																			<title>Flockjobs.com, Step 1, Post A Job</title>
    																			<style type="text/css">
    																				body,td,th {font-family: arial,sans-serif;font-size: 12px;}
    																				body {background-color: #F0f0f0;margin-left: 0px;margin-top: 0px;}
    																				p {color:#444;padding:0 0 0 8px;line-height:1.5em;}
    																				h4 {font-size:25;font-weight:400;color:#000000;}
    																				a{text-decoration:none;}
    																				a:hover{text-decoration:underline;}
    																			</style>
    																			</head>
    																			<body><center><br />';
    																 $message .="<table width=\"600\" border=\"0\" bgcolor=\"#FFFFFF\" cellpadding=\"25\">
    																			 <tr>
    																			 	<td align=\"left\" bgcolor=\"#FFFFFF\">
    																					<br /><br />
    																					<p><h4>Flockjobs.com Notification</h4></p><br />
    																					<p>
    																							Congratulations on deciding to advertise your Job vacancy with <a href=\"http://www.flockjobs.com\">flockjobs.com</a> whether you
    																							are a Recruitment company or an employer we hope you find your ideal Candidate.
    																					</p>
    																					<br />
    																					<p>
    																							This is a notification email to tell you that your Job Advertisement has nearly been completed all that is required for you to do
    																							is to continue with your online payment via PayPal. Once this has been completed you will then be able to Edit /  Delete your
    																							Job Vacancy whenever you feel like it as long as your Job Advertisement is still Valid. 
    																					</p>
    																					<br />
    																					<p>
    																							We use free advertising methods in which other recruitment boards would charge for and help get your Job advertisement noticed by
    																							tapping into the social networking areas such as <a href=\"http://www.facebook.com/flockjobs\">Facebook</a>, 
    																							<a href=\"http://www.twitter.com/flockjobs\">Twitter</a> and our own RSS feed 
    																							<a href=\"http://www.flockjobs.com/jobFeeds/jobFeed.php\">flockjobs.com</a>.
    																					</p>
    																					<br /><br />
    																					<p>
    																							Yours Sincerely<br /><br />flockjobs.com
    																					</p>
    																			 </tr>
    																			 </table>
    																			 <br /></center></body>
    																			 </html>";
    
    																 $headers = 'MIME-Version: 1.0' . "\r\n";
    																 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    																 $headers .='From: Flockjobs.com <customersupport@flockjobs.com>' . "\r\n" .
    																			'Reply-To: Admin@webzoost.com' . "\r\n" .
    																			'X-Mailer: PHP/' . phpversion();
    
    																 mail($_POST['companyemail'],'Flockjobs, Step 1, Post A Job',$message,$headers);
    
    
    															//mail ($_POST['companyemail'], 'Step 1, Complete Job Details', $body, 'From: CustomerSupport@flockjobs.com');
    
    
    															//End Email Send
    															include('../includes/footer.php');
    															exit();
    
    														} else {
    															trigger_error('Problem with job info without image');
    														}
    											  }
    
    							} else {
    								trigger_error('problem with company insert');
    							}
    				} else {
    					trigger_error('error');
    				}
    			} // End Errors Condition
    
    } // End Main Conditional Operator
    ?>
    <section class="splash_wrap bottom">
    <section class="page_wrap">
    	<article class="jobSlogan">
    		<h1 class="normal padding">Post a Job</h1>
    			<p class="padding textHeight">
    				<span class="keyword">flockJobs.com</span> is an easy to use, automated <span class="keyword">Jobs Board</span> that 
    				allows <span class="keyword">Employers</span> and <span class="keyword">Recruitment Companies</span> to promote
    				their Job vacancies with one of the fastest growing <span class="keyword">Job Boards</span> in the UK. 
    				We try to make the whole process of Job posting as easy and efficient as possible, NO registration, NO 
    				need to login and NO contracts. We give <span class="keyword">Employers</span> and <span class="keyword">Recruitment 
    				Companies</span> unrivalled response at a fraction of the cost, while providing extra features listed below 
    				at no extra cost.
    			</p>
    	</article>
    	<div class="clear"></div>
    </section>
    </section><!-- END JOB SPLASH MESSAGE -->
    <section class="wrapper">
    <section class="page_wrap">
    	<article class="mainContent">
    		<h1 class="normal padding">Post a Job...</h1>
    			<span class="padding textHeight blue capitals bold">1. Complete Job Details </span><span class="padding textHeight txt1 graw">2. Proceed With Payment </span>
    			<?php require ('../jobAdmin/functions.php'); ?>
    			<form class="padding" id="jobPost" method="post" enctype="multipart/form-data" action="http://www.flockjobs.com/postJobs/jobPost.php" accept-charset="utf-8">
    			<fieldset>   
    				<legend><span>1. Select Job Package</span></legend>
    					<ol>   
    						<li>
    						<?php
    								$q = "SELECT * FROM JobProducts";
    								$r = mysqli_query($dbc, $q);
    
    								if($r) {
    									echo '<table width="660px" border="0" cellpadding="2" cellspacing="2">';
    									while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
    										  echo '<tr>
    												<td width="90px" align="right"><h4 class="normal blue">£' . $row['Price'] . '</h4><span class="graw normal txt1 capitals">' . $row['JobLength'] . '</span></td>  
    												<td width="15px"> </td>
    												<td width="200px" align="left" valign="top"><p class="normal black textHeight padding txt3">' . $row['JobServiceDesc'] . '</p></td> 
    												<td width="5px"> </td>
    												<td width="60px"><input id="name" name="packageID" type="radio" value="' . $row['JobServiceID'] . '" /></td>
    												</tr> 
    								                <tr><td colspan="5"> </td></tr>';
    									 }
    										   echo '</table><br />';
    										 //mysqli_free_result($r);
    								 } else {
    								 	echo 'No Job Packages Available At This Moment In Time';
    								}
    							 //mysqli_close($dbc);
    							?>
    								<tr><td colspan="5"><span class="txt1 padding graw">All prices are exclusive of V.A.T</span></td></tr>
    							</table>
    						</li>
    					</ol>
    			</fieldset>   
    			<fieldset>   
    				<legend><span>2. Company Details</span></legend>
    				<ol>
    					<li>   
    						<label for="name">Company Name:</label>   
    						<?php formElements('companyname', 'text', $reg_errors); ?>
    					</li> 
    					<li>   
    						<label for="email">Company Website:</label>   
    						<?php formElements('companywebsite', 'text', $reg_errors); ?>  
    						<span class="small">(Website Optional)</span> 
    					</li>
    					<li>   
    						<label for="email">Company Email:</label>   
    						<?php formElements('companyemail', 'text', $reg_errors); ?>  
    					</li>
    					<li>   
    						<label for="email">Company Country:</label>   
    						<select name="CountryCode"<?php if (array_key_exists('CountryCode', $reg_errors)) echo ' class="error"'; ?>>
    							<option>Select Country</option>
    						<?php
    							$q = "SELECT CountryCode, CountryName FROM Countries ORDER BY CountryName ASC";
    							$r = mysqli_query($dbc, $q);
    								while ($row = mysqli_fetch_array ($r, MYSQLI_NUM)) {
    									echo "<option value=\"$row[0]\"";
    										if (isset($_POST['CountryCode']) && ($_POST['CountryCode'] == $row[0])) echo ' selected="selected"';
    											echo ">$row[1]</option>\n";
    								}
    						?>
    						</select>
    							<?php if (array_key_exists('CountryCode', $reg_errors)) echo ' <span class="errorMSG">' . $reg_errors['CountryCode'] . '</span>'; ?>
    					</li>
    					<li>   
    						<label for="email">Company Logo:</label>   
    							<input id="new_image" name="new_image" class="text" type="file" />
    							<input name="MAX_FILE_SIZE" type="hidden" value="2000000" />
    
    							<span class="small">(Logo Optional, JPG's Only)</span> 
    					</li>
    				</ol>
    			</fieldset>  
    			<fieldset>   
    				<legend><span>3. Job Advertisement</span></legend>
    					<ol>   
    						<li>   
    							<label for="name">Job Title:</label> 
    							<?php formElements('jobtitle', 'text', $reg_errors); ?>    
    							<span class="small">..."Administrator", "Marketing Manager", "Web Developer"</span>
    						</li>   
    						<li>   
    							<label for="email">Job Sector:</label>
    							<select name="SectorID" <?php if (array_key_exists('SectorID', $reg_errors)) echo ' class="error"'; ?>>
    							<option>Select Sector</option>
    							<?php
    								$q = "SELECT SectorID, SectorName FROM Sectors ORDER BY SectorName ASC";
    								$r = mysqli_query($dbc, $q);
    								while ($row = mysqli_fetch_array ($r, MYSQLI_NUM)) {
    									echo "<option value=\"$row[0]\"";
    										if (isset($_POST['SectorID']) && ($_POST['SectorID'] == $row[0])) echo ' selected="selected"';
    											echo ">$row[1]</option>\n";
    								}
    						?>
    						</select>
    							<?php if (array_key_exists('SectorID', $reg_errors)) echo ' <span class="errorMSG">' . $reg_errors['SectorID'] . '</span>'; ?>
    						</li>
    						<li>   
    							<label for="email">Job Type:</label> 
    							<select name="jobtype" class="subject">  
    								<option value="Please Select">Please Select</option><option value="Full Time">Full Time</option><option value="Part Time">Part Time</option><option value="Temporary">Temporary</option><option value="Contract">Contract</option>  
    							</select>
    						</li>
    						<li>   
    							<label for="email">Job Location:</label> 
    							<?php formElements('joblocation', 'text', $reg_errors); ?>    
    							<span class="small">..."Paris, France", "London, United Kingdom"</span>
    						</li>
    						<li>   
    							<label for="email">Job Description:</label>
    							<?php formElements('JobContent', 'textarea', $reg_errors); ?>  
    							<span class="small smalllabel">..."Responsibilities, Duties, Qualifications, Benefits, No Tags"</span>
    						</li>
    						<li>   
    							<label for="email">How To Apply:</label>
    							<?php formElements('JobApplyContent', 'textarea', $reg_errors); ?>  
    							<span class="small smalllabel">..."Email Address, Telephone, Address"</span>
    						</li>
    					</ol> 
    				</fieldset>
    				<fieldset class="submit">   
    					<input class="button" type="submit" value="POST JOB" />   
    				</fieldset> 
    			</form>
    	</article>
    		<aside class="sideBar padding">
    			<h5 class="normal padding blue capitals bottom">Job Post Features</h5>
    				<ul id="jobPost">
        			<li>	     
              			<img src="../images/email.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">FREE EMAIL LISTINGS</h6>
    	         			<p class="padding textHeight graw">Whatever Job Type you purchased your vacancy will be put into Emails that are sent out on a daily basis as long as your vacancy is still valid.</p>
        			</li>
    				<li>	     
              			<img src="../images/feed.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">FREE SOCIAL HUB LISTINGS</h6>
    	         			<p class="padding textHeight graw">With every Job that is posted it is automatically added to our Social Networks which include <a href="http://www.flockjobs.com/feeds/jobFeed.rss" class="keyword">RSS</a>, <a href="http://www.twitter.com/flockJobs" class="keyword">Twitter</a> and <a href="http://www.facebook.com/flockJobs" class="keyword">Facebook</a> as long as your vacancy is still valid.</p>
        			</li>
    									<li>	     
              			<img src="../images/lockblue.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">SAFE AND SECURE PAYMENT</h6>
    	         			<p class="padding textHeight graw">All transactions are processed by PayPal who accept most major credit cards.</p>
        			</li>
    				<li>	     
              			<img src="../images/clock.png" align="left" alt="" title="" />
    	     			<h6 class="normal blue">EASY AND EFFICIENT</h6>
    	         			<p class="padding textHeight graw">All Job posts are posted live and instantly there is no registration and no contracts saving you time.</p>
        			</li>
        		</ul>
    		</aside>
    </section>
    </section>
    <?php
         include ('../includes/footer.php');
    ?>
    

     

    Then I have my IPN Script as below:

     

    <?php
    
    require ('http://www.flockjobs.com/jobAdmin/config.inc.php');
    
    $file = fopen('http://www.flockjobs.com/postJobs/ipn.txt', 'a');
    
    fwrite ($file, "Received:\n");
    fwrite ($file, print_r($_POST, true));
    fwrite ($file, "\n");
    
    $req = 'cmd=_notify-validate';
    
    foreach ($_POST as $key => $value) {
    	$value = urlencode(stripslashes($value));
    	$req .= "&$key=$value";
    }
    
    //$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
    $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
    
    if (!$fp) {
    	trigger_error{'Could Not Connect For The IPN');
    } else {
    	$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
    	$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    	$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    	fputs ($fp, $header . $req);
    
    	// Write the paypal request to the text file:
    	fwrite ($file, "Sent:\n");
    	fwrite ($file, "$header\n");
    	fwrite ($file, "$req\n");
    
    	//Read In The Response:
    	while (!feof($fp)) {
    
    		$res = fgets ($fp, 1024);
    
    			// Write the paypal response to the text file:
    			fwrite ($file, "Received:\n");
    			fwrite ($file, "$res\n");
    
    			if (strcmp ($res, "VERIFIED") == 0) {
    			//if(strcmp ($res, "VERIFIED") == 0 || 1 == 1)
    				//Check For The Right Values
    				if (isset($_POST['payment_status']) 
    					&& ($_POST['payment_status'] == 'Completed')
    					&& ($_POST['receiver_email'] == 'customersupport@flockjobs.com')
    					&& ($_POST['mc_currency'] == 'GBP')
    					&& (!empty($_POST['mc_gross']))
    					&& (!empty($_POST['txn_id']))
    				) {
    						require (MySQL);
    
    						$txn_id = mysqli_real_escape_string($dbc, $_POST['txn_id']);
    
    						$q = "SELECT OrderID FROM Orders WHERE Transaction_id='$tx_id'";
    						$r = mysqli_query($dbc, $q);
    
    						if (mysqli_num_rows($r) == 0) {
    
    								$companyEmail = mysqli_real_escape_string ($dbc, $_POST['email']);
    								$jobAdvertID = (isset($_POST['custom'])) ? (int) $_POST['custom'] : 0;
    								$status = mysqli_real_escape_string ($dbc, $_POST['payment_status']);
    								$amount = (float) $_POST['mc_gross'];
    
    								$q = "SELECT JobProducts.JobServiceID,JobAdvert.JobCode,Company.CompanyEmail FROM JobProducts,JobAdvert 
    								      WHERE JobProducts.JobServiceID=JobAdvert.JobServiceID
    									  AND JobAdvert.JobAdvertID = '$JobAdvertID' AND Company.CompanyID=JobAdvert.JobAdvertID"; 
    								$r = mysqli_query($dbc, $q);
    
    									if (mysqli_num_rows($r) == 1) {
    
    										$row = mysqli_fetch_array ($r, MYSQLI_NUM); 
    
    										$productID = $row[0];
    										$jCode = $row[1];
    										$cEmail = $row[2];
    
    										if ($productID == 1) {
    
    												$q = "INSERT INTO Orders(JobAdvertID,TransactionID,Payment_Status,Payment_Amount,Payment_Date_Time)VALUES($JobAdvertID,'$txn_id','$status','$amount',NOW())";
    												$r = mysqli_query($dbc, $q);
    
    												if (mysqli_affected_rows($dbc) == 1) {
    
    													$q = "UPDATE JobAdvert SET JobExpires = IF(JobExpires > NOW(), ADDDATE(JobExpires, INTERVAL 1 MONTH), ADDDATE(NOW(), INTERVAL 1 MONTH)) WHERE JobAdvert.JobAdvertID='$JobAdvertID'";
    													$r = mysqli_real_escape_string($dbc, $q);
    
    													//=====================================================================
    													$message = '<!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" xml:long="en" lang="en">
    																<head>
    															    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    																	<title>Flockjobs.com, Step 1, Post A Job</title>
    																	<style type="text/css">
    																		body,td,th {font-family: arial,sans-serif;font-size: 12px;}
    																		body {background-color: #F0f0f0;margin-left: 0px;margin-top: 0px;}
    																		p {color:#444;padding:0 0 0 8px;line-height:1.5em;}
    																		h4 {font-size:25;font-weight:400;color:#000000;}
    																		a{text-decoration:none;}
    																		a:hover{text-decoration:underline;}
    																	</style>
    																	</head>
    																	<body><center><br />';
    													 	$message .="<table width=\"600\" border=\"0\" bgcolor=\"#FFFFFF\" cellpadding=\"25\">
    																    <tr>
    																		<td align=\"left\" bgcolor=\"#FFFFFF\"><br /><br />
    																		<p>
    																			<h4>Flockjobs.com Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			Your Job Advertisement has been completed, below you will find your links to Edit or Delete your
    																			Job post (as long as it is still valid).
    																		</p><br />
    																		<p>
    																			<h4>Edit Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/editJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Edit Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/editJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			<h4>Delete Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/deleteJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Delete Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/deleteJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			DO NOT DELET THIS EMAIL OTHERWISE YOU WILL NOT BE ABLE TO GAIN ACCESS TO YOUR JOB ADVERTISEMENT! TO EDIT OR DELETE IT.
    																		</p><br />
    
    																		<p>
    																			PLEASE NOTE: Once your Job Advertisement has been deleted it cannot be returned, if you want to re-post then you will
    																						 have to re-advertise the same vacancy and then purchase another package.
    																		</p><br />
    																		<p>
    																			Yours Sincerely<br /><br />flockjobs.com
    																		</p>
    																	</tr>
    																	</table><br /></center></body>
    																	</html>";
    
    																 $headers = 'MIME-Version: 1.0' . "\r\n";
    																 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    																 $headers .='From: Flockjobs.com <customersupport@flockjobs.com>' . "\r\n" .
    																			'Reply-To: Admin@webzoost.com' . "\r\n" .
    																			'X-Mailer: PHP/' . phpversion();
    
    																 mail($companyEmail,'Flockjobs, Step 1, Post A Job',$message,$headers);
    														//=====================================================================
    
    														if (mysqli_affected_rows($dbc, $q) != 1) {
    															trigger_error('The User\'s expiration date could not be updated');
    														}
    												} else {
    													trigger_error('Problem Inserting Order');
    												}
    										  } elseif ($productID == 2) {
    
    														$q = "INSERT INTO Orders(JobAdvertID,TransactionID,Payment_Status,Payment_Amount,Payment_Date_Time)VALUES($JobAdvertID,'$txn_id','$status','$amount',NOW())";
    														$r = mysqli_query($dbc, $q);
    
    															if (mysqli_affected_rows($dbc) == 1) {
    
    																$q = "UPDATE JobAdvert SET JobExpires = IF(JobExpires > NOW(), ADDDATE(JobExpires, INTERVAL 14 DAY), ADDDATE(NOW(), INTERVAL 14 DAY)) WHERE JobAdvert.JobAdvertID='$JobAdvertID'";
    																$r = mysqli_real_escape_string($dbc, $q);
    
    																//=====================================================================
    													$message = '<!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" xml:long="en" lang="en">
    																<head>
    															    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    																	<title>Flockjobs.com, Step 1, Post A Job</title>
    																	<style type="text/css">
    																		body,td,th {font-family: arial,sans-serif;font-size: 12px;}
    																		body {background-color: #F0f0f0;margin-left: 0px;margin-top: 0px;}
    																		p {color:#444;padding:0 0 0 8px;line-height:1.5em;}
    																		h4 {font-size:25;font-weight:400;color:#000000;}
    																		a{text-decoration:none;}
    																		a:hover{text-decoration:underline;}
    																	</style>
    																	</head>
    																	<body><center><br />';
    													 	$message .="<table width=\"600\" border=\"0\" bgcolor=\"#FFFFFF\" cellpadding=\"25\">
    																    <tr>
    																		<td align=\"left\" bgcolor=\"#FFFFFF\"><br /><br />
    																		<p>
    																			<h4>Flockjobs.com Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			Your Job Advertisement has been completed, below you will find your links to Edit or Delete your
    																			Job post (as long as it is still valid).
    																		</p><br />
    																		<p>
    																			<h4>Edit Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/editJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Edit Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/editJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			<h4>Delete Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/deleteJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Delete Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/deleteJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			DO NOT DELET THIS EMAIL OTHERWISE YOU WILL NOT BE ABLE TO GAIN ACCESS TO YOUR JOB ADVERTISEMENT! TO EDIT OR DELETE IT.
    																		</p><br />
    
    																		<p>
    																			PLEASE NOTE: Once your Job Advertisement has been deleted it cannot be returned, if you want to re-post then you will
    																						 have to re-advertise the same vacancy and then purchase another package.
    																		</p><br />
    																		<p>
    																			Yours Sincerely<br /><br />flockjobs.com
    																		</p>
    																	</tr>
    																	</table><br /></center></body>
    																	</html>";
    
    																 $headers = 'MIME-Version: 1.0' . "\r\n";
    																 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    																 $headers .='From: Flockjobs.com <customersupport@flockjobs.com>' . "\r\n" .
    																			'Reply-To: Admin@webzoost.com' . "\r\n" .
    																			'X-Mailer: PHP/' . phpversion();
    
    																 mail($companyEmail,'Flockjobs, Step 1, Post A Job',$message,$headers);
    														//=====================================================================
    
    																	if (mysqli_affected_rows($dbc, $q) != 1) {
    																		trigger_error('The User\'s expiration date could not be updated');
    																	}
    															} else {
    																trigger_error('Problem Inserting Order');
    															}
    											} else {
    
    														$q = "INSERT INTO Orders(JobAdvertID,TransactionID,Payment_Status,Payment_Amount,Payment_Date_Time)VALUES($JobAdvertID,'$txn_id','$status','$amount',NOW())";
    														$r = mysqli_query($dbc, $q);
    
    															if (mysqli_affected_rows($dbc) == 1) {
    
    																$q = "UPDATE JobAdvert SET JobExpires = IF(JobExpires > NOW(), ADDDATE(JobExpires, INTERVAL 7 DAY), ADDDATE(NOW(), INTERVAL 7 DAY)) WHERE JobAdvert.JobAdvertID='$JobAdvertID'";
    																$r = mysqli_real_escape_string($dbc, $q);
    
    																//=====================================================================
    													$message = '<!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" xml:long="en" lang="en">
    																<head>
    															    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    																	<title>Flockjobs.com, Step 1, Post A Job</title>
    																	<style type="text/css">
    																		body,td,th {font-family: arial,sans-serif;font-size: 12px;}
    																		body {background-color: #F0f0f0;margin-left: 0px;margin-top: 0px;}
    																		p {color:#444;padding:0 0 0 8px;line-height:1.5em;}
    																		h4 {font-size:25;font-weight:400;color:#000000;}
    																		a{text-decoration:none;}
    																		a:hover{text-decoration:underline;}
    																	</style>
    																	</head>
    																	<body><center><br />';
    													 	$message .="<table width=\"600\" border=\"0\" bgcolor=\"#FFFFFF\" cellpadding=\"25\">
    																    <tr>
    																		<td align=\"left\" bgcolor=\"#FFFFFF\"><br /><br />
    																		<p>
    																			<h4>Flockjobs.com Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			Your Job Advertisement has been completed, below you will find your links to Edit or Delete your
    																			Job post (as long as it is still valid).
    																		</p><br />
    																		<p>
    																			<h4>Edit Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/editJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Edit Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/editJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			<h4>Delete Your Job Advertisement</h4>
    																		</p><br />
    																		<p>
    																			<a href=\"" . BASE_URL .'jobAccount/deleteJob.php?x=' . urlencode($jCode) . "&y=$cEmail\" />Edit Your Job Advertisement</a><br /><br />
    
    		   											  						If the above Delete Link does not work please copy and paste the code below into your browser address bar 
    													  						to activate your account:<br /><br />";
    
    		    							 					$message .= BASE_URL.'jobAccount/deleteJob.php?x='.urlencode($jCode)."&y=$cEmail
    																		</p><br />
    																		<p>
    																			DO NOT DELET THIS EMAIL OTHERWISE YOU WILL NOT BE ABLE TO GAIN ACCESS TO YOUR JOB ADVERTISEMENT! TO EDIT OR DELETE IT.
    																		</p><br />
    
    																		<p>
    																			PLEASE NOTE: Once your Job Advertisement has been deleted it cannot be returned, if you want to re-post then you will
    																						 have to re-advertise the same vacancy and then purchase another package.
    																		</p><br />
    																		<p>
    																			Yours Sincerely<br /><br />flockjobs.com
    																		</p>
    																	</tr>
    																	</table><br /></center></body>
    																	</html>";
    
    																 $headers = 'MIME-Version: 1.0' . "\r\n";
    																 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    																 $headers .='From: Flockjobs.com <customersupport@flockjobs.com>' . "\r\n" .
    																			'Reply-To: Admin@webzoost.com' . "\r\n" .
    																			'X-Mailer: PHP/' . phpversion();
    
    																 mail($companyEmail,'Flockjobs, Step 1, Post A Job',$message,$headers);
    														//=====================================================================
    
    																	if (mysqli_affected_rows($dbc, $q) != 1) {
    																		trigger_error('The User\'s expiration date could not be updated');
    																	}
    															} else {
    																trigger_error('Problem Inserting Order');
    															}
    												}
    
    									}
    						} // Order Has Already Been Stored
    
    				} // Right Values Don't Exist
    			} elseif (strcmp ($res, "INVALID") == 0) {
    				//Log For Manual Investigation
    			}
    	} // End of While Loop
    	//Close The Connection
    	fclose ($fp);
    } // End fp Connection
    
    fwrite ($file, "-------------------------------------------------\n");
    fclose ($file);
    ?>										
    
    

     

    And here is the paypal description of the problem:

     

    Message ID0FB64761XU9543332

    Date/time created07/07/2011 11:04 BST

    Original/ResentOriginal

    Latest delivery attempt date/time07/07/2011 11:25 BST

    Notification

    HTTP response code 404

    Delivery statusRetrying

    No. of retries8

    Transaction ID1PN79280FG9078117

    IPN typeTransaction made

     

    Hope it helps, I am just wondering if the SQL queries in the IPN script are working properly, any help would be much appreciated

  18. Is the redirect actually occurring?

     

    You are calling headers.php at the top of this file you embedded above, unless ob_end_clean function counteracts the headers already called error you may not be redirecting in the failure ELSE statement.

     

    What is in your index.php file? The file you are redirecting to.

     

     

     

    FYI: I would suggest naming files with lowercase letters 100%, some servers have problems with camel case names plus how many pages on sites out there do you see camel case names in url?

     

    Hi,

     

    I have changed my files to a lower case file standard. Also my script should re-direct to

     

    $url = 'http://<hidden>/members/myDashboard.php'; 
    ob_end_clean(); 
    header("Location: $url"); 
    exit; 
    

     

    if it is successful but doesn't even if it the username and password were right. Also in my index file I have at the top:

     

    include('../functions/config.inc.php');
    include('../includes/header.php');
    

     

    Would I need an ob_start() in the top of the header file ?

     

    Just to let you know I re-did the scripts today and they seem to function properly as far as I know, my site is no where near complete yet.

     

    Thanks for all your help.

     

    Kind Regards

  19. Also what version of PHP 5 are you using? 5.2 or 5.3 ?

     

    Hi Terry,

     

    I am using 5.2, I did change the file name and took out BASE_URL and just used the full

    url instead. I am still getting problems though. Like I can log in with the right username and password but then

    if someone enters a wrong username and password the screen just outputs the header information.

     

    <?php
    require ('../functions/config.inc.php');
    include ('../includes/header.php');
    
    require(MySQL);
    
    $log_errors = array();
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    	if (preg_match ('/^[A-Z0-9]{2,30}$/i', $_POST['userName'])) {
    		$u = mysqli_real_escape_string($dbc, $_POST['userName']);
    	} else {
    		$log_errors['userName'] = 'Please enter a Username';
    	}
    
    	if (!empty($_POST['userPassword'])) {
    		$p = mysqli_real_escape_string($dbc, $_POST['userPassword']);
    	} else {
    		$log_errors['userPassword'] = 'Please Enter Password';
    	}
    
    		if(empty($log_errors)) {
    
    			$q = "SELECT userID,eMail,userName, DATE_FORMAT(dateAccountCreated, '%e %b %Y - %T %p') AS userJoined
    			      FROM tbl_Users 
    				  WHERE (userName='$u' AND userPassword='" . get_password_hash($p) . "') AND userActivate IS NULL";
    			$r = mysqli_query($dbc, $q);
    
    					if (mysqli_num_rows($r) == 1) { // A match was made.
    
    						// Get the data:
    						$row = mysqli_fetch_array ($r, MYSQLI_NUM); 
    
    						//Store the data in a session:
    						$_SESSION['userID'] = $row[0];
    						$_SESSION['eMail'] = $row[1];
    						$_SESSION['userName'] = $row[2];
    						$_SESSION['userJoined'] = $row[3];
    
    
    						$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
    						$token = md5(uniqid(rand(), true));
    						$_SESSION['token'] = $token;
    
    						$url = 'http://<hidden>/members/myDashboard.php';
    						ob_end_clean();
    						header("Location: $url");
    						exit;
    
    				    } else { // No match was made. I did originally have error messages here. But they didn't display anything
    						$url = 'http://<hidden>/index.php';
    						ob_end_clean();
    						header("Location: $url");
    						exit;
    			}
    
    		}
    } //END SERVER REQUEST
    ?>
    
    

  20. Hi,

     

    I am trying to do a re-direct based on the user's Email and Password, but for some reason I keep getting 404 errors, I have included a copy of the code below, I did try echo-ing out the variables but still got the error 404 problem.

    The login form is on the index page and then when the user processes the form it goes to a script called login. If the Email and password are found

    then the user should be re-directed to their page called 'home.php'.

     

    <?php
    require_once ('../functions/config.inc.php');
    include ('../includes/header.html');
    
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    $login_errors = array();
    
    require(MySQL);
    
    		if(filter_var($_POST['userEmail'], FILTER_VALIDATE_EMAIL)) {
    			$e = mysqli_real_escape_string ($dbc, $_POST['userEmail']);
    		} else {
    			$login_errors['userEmail'] = 'Please enter a valid Email address';
    		}
    
    		if(!empty($_POST['userPassword']) ) {
    			$p = mysqli_real_escape_string ($dbc, $_POST['userPassword']);
    		} else {
    			$login_errors['userPassword'] = 'Please enter a password';
    		}
    
    			if(empty($login_errors)) {
    
    				$q = "SELECT userID,userName FROM tbl_Users WHERE (eMail='$e' AND userPassword='" . get_password_hash($p) . "' AND userActivate IS NULL)";
    				$r = mysqli_query($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
    
    					if(mysqli_num_rows($r) == 1) {
    
    						$row = mysqli_fetch_array($r, MYSQLI_NUM);
    
    						$_SESSION['userID'] = $row[0];
    						$_SESSION['eMail'] = $row[1];
    
    						//$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
    						//$token = md5(uniqid(rand(), true));
    						//$_SESSION['token'] = $token;
    
    						$url = BASE_URL . 'Members/home.php';
    						//ob_end_clean();
    						header("Location: $url");
    						exit();
    
    			  		} else {
    						$login_errors['login'] = 'The email address and password do not match those on file.';
    
    			   		}
    			 } 
    	}
    
    include ('../includes/footer.html');
    ?>
    
    

     

    Regards

     

    PHP 5, MYSQL 5, CSS, HTML5

  21. Hi,

     

    I just have a couple of questions regarding the MVC patterns in example 2. I understand the view files and that they are plain HTML what the end user sees basically, but what files are considered the Models and Controllers.

     

    Also moving away from the example 2 method if I was to use OOP methods what would make up the Models and controllers, for example would models be the classes and controllers be the methods used to pass the database information from model to view. Then also would it affect performance since files would need to be loaded from different parts ?

     

    I am fairly new to the MVC methods within PHP.

     

    Kind Regards

     

    PHP 5

    MySQL 5

    Windows XP

    IE 8/ Firefox

×
×
  • Create New...