/ / Wprowadź tag HTML bez poprawnego parsowania w php [duplikat] - php, html, mysql

Wstaw tag HTML nie parsujący się poprawnie w php [duplikacie] - php, html, mysql

Możliwe duplikaty:
Błąd analizy składni: błąd składni, nieoczekiwany T_STRING 59

Mam bazę danych z nazwami, które chciałbymwyświetlane w formie tabeli z polami wyboru. Wszystko działa, dopóki nie spróbuję umieścić tagu HTML w moim kodzie php. Gdy umieściłem tag wejściowy, wyświetla mi się błąd:

Błąd analizy składni: błąd składni, nieoczekiwany T_STRING, oczekiwanie „,” lub „;”

Nie mogę zobaczyć, gdzie umieściłbym przecinek lub średnik.

<form>
<?php
$name = $_POST["name"];

$host = "mysql16.000webhost.com";
$user_name = "a1611480_akaash";
$pwd = "****";
$database_name = "a1611480_akaash";
$db = mysql_connect($host, $user_name, $pwd);

mysql_select_db($database_name);

$result = mysql_query("SELECT name FROM Sort");

$var = array();
while ($row = mysql_fetch_array($result)) {
$var[] = $row["name"];
}

$unique = array_unique($var);

foreach ($unique as $value) {

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>n";
}
?>
</form>

Odpowiedzi:

1 dla odpowiedzi № 1

Zastąp to:

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>n"

z tym:

echo <<<EOD
<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>
EOD;

... To używa Składnia HEREDOC, który z łatwością omija większość problemów z cytatem. Jednak pojawia się ważne zastrzeżenie: linia EOD; nie możesz być wcięty i nie może być nic innego w tej linii (takich jak spacje końcowe).


2 dla odpowiedzi nr 2

Na twojej linii echa cała rzecz musi być otoczona podwójnymi cudzysłowami. Otwierasz podwójne cudzysłowy przed polem wyboru, aby było widoczne pole wyboru jako nieznane wywołanie PHP. Użyj kombinacji pojedynczych i podwójnych cudzysłowów.


1 dla odpowiedzi nr 3

zmień tę linię .. musisz uciekać z podwójnych cytatów

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>n";

0 dla odpowiedzi nr 4

Zamień linię „echo” na

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>n";

Ponieważ używasz podwójnych cudzysłowów jako ogranicznika ciągu, a także dla samego pola wyboru, wyłamuje się ono z łańcucha php.


0 dla odpowiedzi № 5

Musisz uciec ze swoich odwrotnych ukośników lub użyć składni heredoc. Poniżej znajdziesz kilka przykładów, w których złamałeś swój kod PHP:

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>n";
^^^      ^^^