2010-08-04 15 views
5

To jest szybkie, ale proste pytanie. Mam zły dzień i nie wiem jak to zrobić:Jak uruchomić funkcję w ramach wywołania echa

Co muszę zrobić to ...

jestem sprawdzanie PMD w url jeśli tak to echo:

<?php 
     if (isset($_GET['pmd'])) { 
      echo"<div class=\"response\"><p style=\"width:350px; height:200px; vertical-align:middle;\"><strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! Your name will now appear on our virtual wall.<br><br>You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p></div>"; 
     }else { etc... 

Co muszę uwzględnić w tym obrazie takim, który uruchamia piksel śledzący.

<img src="url.com?cid=12345&aid=1234&oid=<?php echo mt_rand(); ?>&quantity=1" height="1" width="1" /> 

Co chciałbym mieć to:

<?php 
     if (isset($_GET['pmd'])) { 
      echo"<div class=\"response\"><p style=\"width:350px; height:200px; vertical-align:middle;\"><strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! Your name will now appear on our virtual wall.<br><br>You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p> 
      <br /> 
      <img src="url.com?cid=12345&aid=1234&oid=<?php echo mt_rand(); ?>&quantity=1" height="1" width="1" /> 
      </div>"; 
     }else { 

Co muszę zrobić, aby uzyskać ten mt_rand function(), aby ogień?

Dzięki,

Matt

+0

Powinieneś używać '&' w adresach URL, a nie 'i'. – Artefacto

+0

Jeśli nie chcesz uciec od cudzysłowu w ciągu znaków (utrudnia czytanie), po prostu zamknij ciąg w '' 'zamiast' ''. –

Odpowiedz

11

Można użyć tej składni zamiast:

<?php if (isset($_GET['pmd'])): ?> 
    <div class="response"><p style="width:350px; height:200px; vertical-align:middle;"><strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! Your name will now appear on our virtual wall.<br><br>You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p> 
     <br /> 
     <img src="url.com?cid=12345&aid=1234&oid=<?php echo mt_rand(); ?>&quantity=1" height="1" width="1" /> 
    </div> 
<?php else: ?> 
    etc 
<?php endif; ?> 
+0

Dziękuję za odpowiedź – TikaL13

3

coś takiego:

<?php 
      if (isset($_GET['pmd'])) { 
       echo "<div class=\"response\"><p style=\"width:350px; height:200px; vertical-align:middle;\"><strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! Your name will now appear on our virtual wall.<br><br>You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p> 
       <br /> 
       <img src=\"url.com?cid=12345&aid=1234&oid=".mt_rand()."&quantity=1\" height=\"1\" width=\"1\" /> 
       </div>"; 
      }else { 
+0

dodaj spację po echo – Emyr

1

Twoim problemem jest to, że otwieramy tag PHP (<?php) wewnątrz innej zmiennej PHP (trzeba zamknąć z ?> najpierw:

Jednym ze sposobów na zrobienie czegoś takiego (uprościłem twój przykład pod względem czytelności):

<?php 

echo '<img src="foo.jpg?oid=', mt_rand(), '">'; 

?> 

Niektóre punkty do rozważenia:

  • Zazwyczaj użyć urlencode podczas dodawania parametrów do adresu URL, ale mt_rand zwraca całkowitymi, więc nie trzeba w tym przypadku.
  • W przypadku echa lepiej jest używać go z , zamiast łączenia stałych z ., a następnie echo wynikowego ciągu znaków. W ten sposób zużywa się mniej pamięci i wykonuje się mniej operacji (ale to wykracza poza zakres tego pytania).
1

taki sam sposób, w jaki to zrobił - przez otwieranie i zamykanie tagi php

<?php if (isset($_GET['pmd'])) { ?> 
<div class=\"response\"><p style=\"width:350px; height:200px; vertical-align:middle;\"> 
<strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! 
Your name will now appear on our virtual wall.<br><br> 
You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p> 
<br /> 
<img src="url.com?cid=12345&aid=1234&oid=<?php echo mt_rand(); ?>&quantity=1" height="1" width="1" /> 
      </div> 
<?php  }else { ?> 

nie zapomnij, aby pozbyć się tych wszystkich brzydkie ukośniki

1

Nie powinieneś dodawać dużych bloków statycznego kodu HTML za pomocą echa. Wypróbuj:

<?php 
     if (isset($_GET['pmd'])) { 
?> 
      <div class="response"><p style="width:350px; height:200px; vertical-align:middle;"> 
      <strong>Thank you for acting as a &quot;watchman on the walls&quot; of Jerusalem! Your name will now appear on our virtual wall.<br><br>You can also catch up on the latest news from Israel by visiting our news feed below.</strong></p> 
      <br /> 
      <img src="url.com?cid=12345&aid=1234&oid=<?php echo mt_rand(); ?>&quantity=1" height="1" width="1" /> 
      </div> 
<?php 
     }else {//... 
     } 
?> 
Powiązane problemy