• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

variablen mit header übergeben?

syuam

Neues Mitglied
hey leute, also grundsätzlich habe ich ein Affenformular welches das Formular solange aufruft bis alle Daten korrekt eingegeben wurden. Wenn alles korrekt ist, wird per header() eine neue Seite augerufen. Nun möchte ich zusätzlich noch zwei Variablen mit dem header mitschicken, so hatte ich es mir vorgestellt:
PHP:
 if(isset($_POST['senden'])) { // dann werden alle Daten überprüft, und wenn alles ok dann:                                             $var1 = $_POST['var1']; $var2 = $_POST['var2']; header("http://www.example.com/script.php"); exit; }
Allerdings werden nun die Variablen $var1 und $var2 nicht mitgesendet und ich wollte nachfragen, wie ich das nun anstellen sollte. Ich will nämlich mit den beiden Variablen in weiterarbeiten. LG
 
HAllo,

wie solte var1 und var2 auch übergeben werden?

speicher die in eine session oder keks oder sende die einfach mit per get ....com/script.php?var1=$_POST['var1']

Cheffchen
 
Du musst die Variablen natürlich an das Weiterleitungsziel anhängen. Etwa so:

PHP:
header("Location: http://www.example.com/script.php?var1=".$var1."&var2=".$var2);
 
Falls die durch PayPal per GET entgegen genommen werden, ja. Wenn nicht, dann musst Du sie per POST schicken, was aber nicht mit header() funktioniert. Das kann man bspw. mit fsockopen() erreichen.
 
es geht mir ja nur darum: Der user wählt z.B eine Eigenschaft für ein Produkt aus, dass er kaufen will. Dann wollte ich die Eigenschaft in einer Variablen abspeichern und dann in mein ipn-script bringen. Nur weíß ich halt nicht, wie ich die Variable von der Verkaufseite zum ipn script kriege, mit input-hidden?
 
Wie jemand mit so wenig Ahnung an einem PayPal-Bezahlsystem rumstricken kann, ist mir ein Rätsel?!?!?!?
threadi hat dir die richtige Antwort gegeben, es hängt davon ab, wie das Script die Daten erwartet. Und da wir das Script nicht kennen, sondern nur du, musst du dir die Frage wohl oder übel selber beantworten.
 
Hallo,

ah ipn warst du :O)

GET funzt bei PayPal.
Also das von @threadi ist schon richtig.
Ich hatte dir doch letztens ein beispiel paypal Link gezeigt wie de aussehen muss mit alles variablen.


Cheffchen
 
ok, also wenn ich eine individuelle Variable in meinem ipn-script haben will:
PHP:
<?php
$fehler=array();

if(isset($_POST['senden'])){

    
    if($_POST['wert']==''){
        $fehler['wert']='kein Wert gewählt.';
    }    
    
    if(empty($fehler)){
        #hier ist dann der link zu Paypal
        header('Location: https://www.sandbox.paypal.com/cgi-bin/webscr');
    }    
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unbenanntes Dokument</title>
</head>
<body>
<?php echo implode('<br>', $fehler); ?>
<form action="index.php" method="post">

    Wert:
    <select name="wert" size="1">  
    <?php
    foreach (array(''=>'Auswählen', 'wert1'=>'Wert1', 'wert2'=>'Wert2', 'wert3'=>'Wert3') as $value => $key) {
        echo '<option value="'.$value.'" ';      
        if (isset($_POST['wert']) && $_POST['wert']=="$value" ) {
            echo 'selected="selected" ';
        }
        echo '>'.$key.'</option>';
    }
    ?>
    </select><br>  

  <br>
  <input name="senden" type="submit" value="submit">
  </select>                                                                                                                                                               <input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" value="1.00">
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
</body>
</html>
Mir geht es jetzt erstmal um die Theorie, ich habe also ein Auswahlfeld mit drei Werten. Um zu wissen, welcher Wert gewählt wurde muss ich den ja mit übertragen, aber in einem neuen input-hidden-Feld?, habe den Link von dir durchgelesen, da war ich mir bisshen unsicher. Der gewählte Wert soll dann weiter zum ipn-script getragen werden, aber wird er das, wenn ich header() verwende?
 
Hallo,

du hast ein gedanken fehler drin oder drückst dich ungünstig aus.

Die rein folge ist
- Formular mit auswahlfeld (hast)
- nach senden wird geprüft, wenn fehler passiert nichts ausser der Formular kommt wieder mit fehlermdung (hast)
- wenn prüfung ok wird der Link zusammengesetzt für Paypal (das fehlt)
- Wenn der User bei Paypal war ob abgebrochen oder bazahlt schickt paypal infos an deine IPN und da musst halt ein Mail bauen oder das in eine DB speichern.

Die hidden dinge mach weck, bau das besser gleich in den Link ein. siehst ja dein hidden cmd steht ja im link schon drin.
Ersetzte im Link einach mit deinen sachen wie PAYPALKONTO-EMAIL oder ZURÜCKurlWENNbezahlt.de usw. dann funzt das. Die $_SESSION sind Artikel sachen da kannst ja auch feste sachen eintragen.
PHP:
$query="cmd=_xclick&business=PAYPALKONTO-EMAIL&notify_url=http://IPNURL/ipn.php&return=http://ZURÜCKurlWENNbezahlt.de&cancel_return=http:/ZURÜCKurlWENNangebrochen.de&lc=DE&currency_code=EUR&custom=WERSTECKTEinformationenDIEmitGESENDETwerdenABERkeinerSIEHTzbPREISidODERnichts&item_name=BESTELLUNGSnameArtikel&amount=".str_replace(",",  ".",  $_SESSION['summe'])."&shipping=".$_SESSION['versand']."&on0=Produkte  ".$_SESSION['anzahl']; 

      ob_end_clean();
      header("Location: https://www.sandbox.paypal.com/cgi-bin/webscr?".utf8_decode($query));
      exit;

wie gesagt der code funzt, nutze das selber, wenn nicht must einfach mal rum testen.

Cheffchen
 
@Cheffchen
Laut Aussage von syuam erwartet das Script die Daten per Post, da hilft dein zusammengebauter Link herzlich wenig.
 
nun ja so fängt das ipn-script an:
PHP:
if ($_SERVER['REQUEST_METHOD'] != "POST") die ("No Post Variables");
 
Hallo,

Die rein folge ist
- Formular mit auswahlfeld (hast)
- nach senden wird geprüft, wenn fehler passiert nichts ausser der Formular kommt wieder mit fehlermdung (hast)
- wenn prüfung ok wird der Link zusammengesetzt für Paypal (das fehlt)
- Wenn der User bei Paypal war ob abgebrochen oder bazahlt schickt paypal infos an deine IPN und da musst halt ein Mail bauen oder das in eine DB speichern.

Sind die 4 Punkte echt so schwer?
das der User Bezahlen kann ist punkt3, das IPN ist Punkt4.
ich habe die beführchtung das dir nicht klar ist was das IPN überhaupt macht oder für was das gut ist?

Und PayPal ist das würst wie die an die Daten kommen ob POST oder GET.

oben das ist für punkt3 damit der User Bezahlen kann.

Cheffchen
 
Zurück
Oben