2016-08-25 17 views
2

Ich habe den folgenden Code, aber die echo $jsonData[$i] Zeile gibt einen Fehler. Ich weiß, dass Sie PHP nicht in PHP ausführen sollen. Was ist der richtige Weg, dies zu erreichen?PHP in einem Echo PHP

<?php 
if(!is_user_logged_in()){ 
    echo 'Im online. Login to Chat'; 
} else { 
echo '<input type=\"submit\" onclick=\"javascript:jqcc.cometchat.chatWith(' <?php echo $jsonData[$i]; ?> ');\" value=\"Chat Now\" class=\"success button small\" 
\" >'; 
} 
?> 
+0

http://php.net/manual/en/function.echo.php –

+3

Dies ist keine schlechte Frage. Lassen Sie sich nicht enttäuschen von Stimmen. –

+0

Dies ist eine schlechte Frage, weil dies eine grundlegende Sprachfunktion ist. Manchmal werden viel interessantere Fragen abgelehnt, weil sie der Site-Richtlinie nicht folgen, wenn sie Fragen stellen. Eine dieser Richtlinien besteht darin, nach der Forschung zu fragen, diese Frage zeigt zum Beispiel überhaupt keine Forschung, da dies eines der ersten Dinge ist, die jeder PHP-Lernende lernt. –

Antwort

6

Sie verwenden den Verkettungsoperator . statt Echo, wenn Sie bereits im Rahmen eines Strings:

echo '<input type="submit" onclick="javascript:jqcc.cometchat.chatWith(' . $jsonData[$i] . ');" value="Chat Now" class="success button small">'; 

Auch brauchen Sie nicht die Schrägstriche, wenn Sie die verwenden Gleiche Anführungszeichen zum Starten und Beenden der Zeichenfolge. In Ihrem Fall öffnen/schließen Sie mit einfachen Anführungszeichen, so dass doppelte Anführungszeichen nicht maskiert werden müssen.

0

Sobald Sie in den PHP-Modus sind (das heißt die <?php Tag Öffnung erreichen), wird alles als Code gelesen, bis Sie PHP-Modus verlassen (heißt erreichen das Schließen ?> Tag). Sie müssen diese Tags also nicht erneut öffnen, wenn sie bereits geöffnet sind. Weitere Informationen hierzu finden Sie unter basic syntax section of the manual.

Eine der besten Funktionen von PHP ist, dass Sie Code in HTML einbetten können, anstatt HTML in Code einbetten zu müssen. Es ist eigentlich viel einfacher, den Code zu lesen, wenn Sie es so schreiben, zum Beispiel ...

<input type="submit" onclick="javascript:jqcc.cometchat.chatWith(<?= $jsonData[$i]; ?>);" value="Chat Now" class="success button small"> 

Hinweis wir nur PHP, um den Wert von $jsonData[$i] zu drucken, wo es gebraucht wird und alles andere ist einfach nur/Text oder HTML, das gedruckt wird.

Beachten Sie auch, ich verwende die Kurzform von <?php echo, die nur <?= ist.


auf diesen ein wenig zu erweitern, einer der Gründe, diese Idee Code in HTML von embeding so nützlich ist, ist, dass es einfach und transparent Code innerhalb von Daten ermöglicht.

<?php 
$loggedIn = is_user_logged_in(); 

if ($loggedIn) { 
?> 
<input type="submit" onclick="javascript:jqcc.cometchat.chatWith(<?= $jsonData[$i]; ?>);" value="Chat Now" class="success button small"> 
<?php 
} else { 
?> 
<h1>ohnoes, you're not logged in :(</h1> 
<?php 
}