No value on next page

Discussion in 'PHP' started by mark103, Sep 29, 2008.

  1. #1
    Hi guys,

    I need your help. When I entered the value number on the form one-line textbox and when I submits the button to redirect to the next page, there is no value displaying next to the amount when I entered the value on my form.


    Here it is the code:

    <?php
    $p = new paypal_class;
    $p->add_field('business',  'me@mail.com');
    $p->add_field('first_name',  $_POST['first_name']);
    $p->add_field('shipping',  '');
    $p->add_field('',  'http://www.domain.com/logo.jpg');
    $p->add_field('return',  'http://www.domain.com/success.php');
    $p->add_field('cancel_return',  'http://www.domain.com/cancelled.php');
    $p->add_field('notify_url',  '2');
    $p->add_field('cmd',  '_xclick');
    $p->add_field('currency_code',  'USD');
    $p->add_field('lc',  'US');
    $p->add_field('bn',  'toolkit-php');
    $p->add_field('no_shipping',  '');
    $p->add_field('no_note',  '1');
    $p->add_field('cn',  'Comments');
    $p->add_field('cs',  '');
    $p->add_field('quantity',  '1');
    $p->add_field('item_name',  'Add fund to my account');
    $p->add_field('amount',  $_POST['script.php', formtext1']);
    $p->add_field('item_number',  '777');
    $p->add_field('undefined_quantity',  '');
    $p->add_field('on1',  '');
    $p->add_field('os1',  '');
    $p->add_field('shipping',  '');
    $p->add_field('shipping2',  '');
    $p->add_field('handling',  '');
    $p->add_field('tax',  ''); 
    $p->add_field('custom',  ''); 
    $p->add_field('invoice',  ''); 
    $p->add_field('first_name',  'test');
    $p->add_field('last_name',  '');
    $p->add_field('address1',  '');
    $p->add_field('address2',  '');
    $p->add_field('city',  $_POST['MyTown']);
    $p->add_field('state',  '');
    $p->add_field('zip',  '');
    $p->add_field('login_email',  'me@mail.com');
    $p->add_field('night_phone_a',  '');
    $p->add_field('night_phone_b',  '');
    $p->add_field('night_phone_c',  '');
    $p->submit_paypal_post();
    $p = new paypal_class;
    if ($p->validate_ipn()) {
    }
    class paypal_class {
    var $last_error;
    var $ipn_log;
    var $ipn_log_file;
    var $ipn_response;
    var $ipn_data = array();
    var $fields = array();
    function paypal_class() {
    $this->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';
    $this->last_error = '';
    $this->ipn_log_file = 'ipn_log.txt';
    $this->ipn_log = true;
    $this->ipn_response = '';
    $this->add_field('rm', '2');
    $this->add_field('cmd', '_xclick');
    }
    function add_field($field,  $value) {
    $this->fields["$field"] = $value;
    }
    function submit_paypal_post() {
    echo "<html>\n";
    echo "<head><title>Processing Payment...</title></head>\n";
    echo "<body onLoad=\"document.form.submit();\">\n";
    echo "<h3>Please wait,  your order is being processed...</h3>\n";
    echo "<form method=\"post\" name=\"form\" action=\"".$this->paypal_url."\">\n";
    foreach ($this->fields as $name => $value) {
    echo "<input type=\"hidden\" name=\"$name\" value=\"$value\">";
    }
    echo "</form>\n";
    echo "</body></html>\n";
    }
    function validate_ipn() {
    $url_parsed=parse_url($this->paypal_url);  
    $post_string = ''; 
    foreach ($_POST as $field=>$value) { 
    $this->ipn_data["$field"] = $value;
    $post_string .= $field.'='.urlencode($value).'&'; 
    }
    $post_string.="cmd=_notify-validate"; // append ipn command
    // open the connection to paypal
    if(!$fp) {
    $this->last_error = "fsockopen error no. $errnum: $errstr";
    $this->log_ipn_results(false); 
    return false;
    } else {
    // Post the data back to paypal
    fputs($fp,  "POST $url_parsed[path] HTTP/1.1\r\n"); 
    fputs($fp,  "Host: $url_parsed[host]\r\n"); 
    fputs($fp,  "Content-type: application/x-www-form-urlencoded\r\n"); 
    fputs($fp,  "Content-length: ".strlen($post_string)."\r\n"); 
    fputs($fp,  "Connection: close\r\n\r\n"); 
    fputs($fp,  $post_string . "\r\n\r\n"); 
    // loop through the response from the server and append to variable
    while(!feof($fp)) { 
    $this->ipn_response .= fgets($fp,  1024); 
    } 
    fclose($fp); // close connection
    }
    if (eregi("VERIFIED", $this->ipn_response)) {
    // Valid IPN transaction.
    $this->log_ipn_results(true);
    return true; 
    } else {
    $this->last_error = 'IPN Validation Failed.';
    $this->log_ipn_results(false);   
    return false;
    }
    }
    function log_ipn_results($success) {
    if (!$this->ipn_log) return;  // is logging turned off?
    $text = '['.date('m/d/Y g:i A').'] - '; 
    // Success or failure being logged?
    if ($success) $text .= "SUCCESS!\n";
    else $text .= 'FAIL: '.$this->last_error."\n";
    
    // Log the POST variables
    $text .= "IPN POST Vars from Paypal:\n";
    foreach ($this->ipn_data as $key=>$value) {
    $text .= "$key=$value,  ";
    }
    $text .= "\nIPN Response from Paypal Server:\n ".$this->ipn_response;
    $fp=fopen($this->ipn_log_file, 'a');
    fwrite($fp,  $text . "\n\n"); 
    
    fclose($fp);  // close file
    }
    function dump_fields() {
    echo "<h3>paypal_class->dump_fields() Output:</h3>";
    echo "<table width=\"95%\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\">
    <tr>
    <td bgcolor=\"black\"><b><font color=\"white\">Field Name</font></b></td>
    <td bgcolor=\"black\"><b><font color=\"white\">Value</font></b></td>
    </tr>"; 
    
    ksort($this->fields);
    foreach ($this->fields as $key => $value) {
    echo "<tr><td>$key</td><td>".urldecode($value)."&nbsp;</td></tr>";
    }
    echo "</table><br>"; 
    }
    }
    Code (markup):

    The problem that comes with this line:
    $p->add_field('amount',  $_POST['script.php', formtext1']);
    Code (markup):


    How can I send the information to paypal site and changes the amount when I entered the value on my form from test_script.php??




    Please help!!!!!!!!!!



    Thanks,
    Mark
     
    mark103, Sep 29, 2008 IP
  2. JAY6390

    JAY6390 Peon

    Messages:
    918
    Likes Received:
    31
    Best Answers:
    0
    Trophy Points:
    0
    #2
    change it to
    $p->add_field('amount', $_POST['formtext1']);
     
    JAY6390, Sep 29, 2008 IP
  3. mark103

    mark103 Active Member

    Messages:
    110
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    53
    #3
    It don't work :(




    Any idea??




    Thanks,
    Mark
     
    mark103, Sep 30, 2008 IP
  4. mark103

    mark103 Active Member

    Messages:
    110
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    53
    #4
    anyone?????????????
     
    mark103, Oct 1, 2008 IP