Ich habe, was mir scheint, ein bisschen ein seltsames Szenario, vielleicht nicht so seltsam, aber ich habe es noch nie zuvor gemacht.Senden von Daten über Header-Methode PHP
Wie auch immer, ich habe ein Zahlungssystem, das Moneybookers (oder Skrill) verwendet, um eine Zahlung zu nehmen, dieses System sendet Datenbank an eine Datei auf meinem Server, wo ich die Daten überprüfe, und dann Datensätze in meinen Datenbanken entsprechend aktualisieren.
Aber vor kurzem habe ich System namens iDevAffiliate integriert, dieses System verfolgt Affiliate-Zahlungen und um es voll zu integrieren, wenn Moneybooker sendet Daten und unsere Datensätze sind Update müssen wir ein Signal an das iDevAffiliate-System zu sagen, dass ein Zahlung wurde getätigt und ist mit einem Affiliate-Datensatz verbunden.
Nun, dies zu tun Ich dachte, es einfach wäre:
header("location: http://www.mysite.com/affiliate/sale.php?profile=72198&idev_saleamt=2500&affiliate_id=$aff_id");
aber ich war nicht sicher, ob ich es eine andere Art und Weise, wie dies zu tun hatte:
header("location: http://www.mysite.com/affiliate/sale.php?profile=72198&idev_saleamt=2500&affiliate_id=" . $aff_id);
Aber sie beide scheint zu funktionieren. Wenn ich jedoch diesen Link in meinen Browser setze, ersetze ich $ aff_id durch die tatsächliche Affiliate-ID, stellt er alles richtig ein, ist die Kopfzeile nicht das richtige zu verwenden? wie könnte ich das sonst tun?
Es gibt keinen Unterschied zwischen '$ x = 'a'. $ b' und '$ x =" a $ b "'. Beide erzeugen am Ende die gleiche Saite. Der Aufruf von header() sieht keinen String-Verkettungsvorgang, noch wird $ aff_id angezeigt. Es wird nur die von beiden Operationen erzeugte Zeichenfolge abgerufen. –
@MarcB Sie haben den gleichen Effekt, aber es gibt einen großen Unterschied. Doppelt zitierte Strings müssen analysiert werden, was Zeit benötigt; Strings mit einem einfachen Anführungszeichen nicht. –
@ryanP: Wenn Ihr Betrieb genug PHP ausführt, dass der Parsing-Overhead eines Strings die Performance beeinträchtigt, sollten Sie PHP vielleicht gar nicht erst verwenden. Ich sehe Ihre zusätzlichen paar Mikrosekunden und hebe Sie $ 0,00000000001. –