Yeni hat için php sözdizimi çalışmıyor

8 Cevap php

Ben oldukça basit bir soru yaşıyorum

can anyone tell me why this is not displaying each variable on a new line, well except for the <br>.

$curtime = gmdate("d/m/Y H:i:s");
    //capture the PayPal returned information as order remarks
$oremarks =
"##$curtime##<br>".
"PayPal Transaction Information...\n".
"Txn Id: ".$ppInfo["txn_id"]."\n".
"Txn Type: ".$ppInfo["txn_type"]."\n".
"Item Number: ".$ppInfo["item_number"]."\n".
"Payment Date: ".$ppInfo["payment_date"]."\n".
"Payment Type: ".$ppInfo["payment_type"]."\n".
"Payment Status: ".$ppInfo["payment_status"]."\n".
"Currency: ".$ppInfo["mc_currency"]."\n".
"Payment Gross: ".$ppInfo["payment_gross"]."\n".
"Payment Fee: ".$ppInfo["payment_fee"]."\n".
"Payer Email: ".$ppInfo["payer_email"]."\n".
"Payer Id: ".$ppInfo["payer_id"]."\n".
"Payer Name: ".$ppInfo["first_name"]." ".$ppInfo["last_name"]."\n".
"Payer Status: ".$ppInfo["payer_status"]."\n".
"Country: ".$ppInfo["residence_country"]."\n".
"Business: ".$ppInfo["business"]."\n".
"Receiver Email: ".$ppInfo["receiver_email"]."\n".
"Receiver Id: ".$ppInfo["receiver_id"]."\n";

//Update database using $orderno, set status to Paid
//Send confirmation email to buyer and notification email to merchant
//Redirect to thankyou page
echo $oremarks;

teşekkürler Richard

8 Cevap

Carriage returns have no effect if you're viewing this output as HTML, böylece ile <br> etiketleri dönüştürerek deneyin nl2br ...

echo nl2br($oremarks);

Eğer tarayıcı penceresinde sonuç çıktısı olduğundan, "<br />" yerine "\ n" deneyin.

Eğer PHP, HTML kaynak kodunu üreten ve düz metin değil edilir muhtemelen çünkü.

HTML, yeni bir satır başka bir boşluk karakteri gibi tedavi edilir. Bir <br> elemanı veya display: block (veya benzeri) bir satır sonu tetiklemek için bir şey gerekiyor.

Yerine tek tırnak kullanmak, sizin dizi değerleri için çift tırnak alternatif deneyin

$curtime = gmdate("d/m/Y H:i:s");
    //capture the PayPal returned information as order remarks
$oremarks =
"##$curtime##<br>".
"PayPal Transaction Information...\n".
"Txn Id: ".$ppInfo['txn_id']."\n".
"Txn Type: ".$ppInfo['txn_type']."\n".
"Item Number: ".$ppInfo['item_number']."\n".
"Payment Date: ".$ppInfo['payment_date']."\n".
"Payment Type: ".$ppInfo['payment_type']."\n".
"Payment Status: ".$ppInfo['payment_status']."\n".
"Currency: ".$ppInfo['mc_currency']."\n".
"Payment Gross: ".$ppInfo['payment_gross']."\n".
"Payment Fee: ".$ppInfo['payment_fee']."\n".
"Payer Email: ".$ppInfo['payer_email']."\n".
"Payer Id: ".$ppInfo['payer_id']."\n".
"Payer Name: ".$ppInfo['first_name']." ".$ppInfo['last_name']."\n".
"Payer Status: ".$ppInfo['payer_status']."\n".
"Country: ".$ppInfo['residence_country']."\n".
"Business: ".$ppInfo['business']."\n".
"Receiver Email: ".$ppInfo['receiver_email']."\n".
"Receiver Id: ".$ppInfo['receiver_id']."\n";

//Update database using $orderno, set status to Paid
//Send confirmation email to buyer and notification email to merchant
//Redirect to thankyou page
echo $oremarks;

Ama ben bir HEREDOC yerine kullanarak bir dizesinin tavsiye ederim

    $curtime = gmdate("d/m/Y H:i:s");
        //capture the PayPal returned information as order remarks
    $oremarks =<<<OREMARKS
##$curtime##
PayPal Transaction Information...
Txn Id: $ppInfo['txn_id']
Txn Type: $ppInfo['txn_type']
Item Number: $ppInfo['item_number']
Payment Date: $ppInfo['payment_date']
Payment Type: $ppInfo['payment_type']
Payment Status: $ppInfo['payment_status']
Currency: $ppInfo['mc_currency']
Payment Gross: $ppInfo['payment_gross']
Payment Fee: $ppInfo['payment_fee']
Payer Email: $ppInfo['payer_email']
Payer Id: $ppInfo['payer_id']
Payer Name: $ppInfo['first_name'] $ppInfo['last_name']
Payer Status: $ppInfo['payer_status']
Country: $ppInfo['residence_country']
Business: $ppInfo['business']
Receiver Email: $ppInfo['receiver_email']
Receiver Id: $ppInfo['receiver_id']
OREMARKS;

    //Update database using $orderno, set status to Paid
    //Send confirmation email to buyer and notification email to merchant
    //Redirect to thankyou page
    echo $oremarks;

Html, yeni satır hattına gitmek asla. Sen kaynak <br> koymak zorunda.

Php de bir komut satırı yardımcı olarak http sunucusundan bağımsız olarak çalışır ve mutlaka html oluşturmak değil dikkat edin.

Size dosyanın başında header("Content-type: plain/text"); ile düz / metin yerine html web sunucusu içerik türünü ayarlamak eğer beklendiği gibi Böylece metin satırına gider.

\ N sadece kaynağında bir yeni satır gösterir.
HTML için "satır" karakteridir.

'\ N' sadece görünür olan yeni bir çizgi oluşturarak değil, html kodu yeni bir çizgi yaratıyor. Sen yeni çizgi görünür olmasını almak için html kullanmak gerekir. Sen html mola <br> kullanabilir veya her satır bir paragraf <p> your text... </p> yapabilir veya bir liste kullanabilirsiniz:

 <ul>
   <li> your text... </li>
   <li> next item... </li>
   <li> more stuff.. </li>
 </ul>

Aşağıdaki koyarak deneyin:

<?php
echo "<pre>";
.
.
.
?>