2013-11-29 3 views
0

Я не знаю, возможно ли это или нет. Мое требование таково:Как сохранить PHP + HTML-скрипт в одну переменную и вставить эту переменную в базу данных MySQL?

<?php 
$str=<<<abc 
$sql=mysql_query("select * from links where column='value'"); 
$sq1=mysql_fetch_row($sql); 
$s1=$rec[13]; 
$s2='Done'; 
if($s1==$s2) { 
<form name=f1 method=post action=\"xxx.php\"> 
<input type=hidden name=income value=$rec[value]> 
<input type=submit value=\"Accept\" id=submit2 name=submit2 disabled=\"disabled\"> 
</form> 
} 
else 
<form name=f1 method=post action=\"xxx.php\"> 
<input type=hidden name=uname value=$rec[value]> 
<input type=submit value=\"Accept\" id=submit2 name=submit2 "> 
</form> 
abc;   
?> 

Я не знаю, что указанный выше формат является правильным или нет. Пожалуйста, предложите поддерживаемый формат.

В приведенном выше формате я использовал PHP + HTML-скрипт в переменной str. Я слышал о функциях htmlentities() и htmlspecialcharecters(), но я не знаю, как их использовать.

Если значение вставлено, это значение будет доступно с лицевой стороны, используя mysql_fetch_row(), чтобы отобразить эти вставленные значения.

Если выше поддерживается, предложите мне на хорошем примере. Если нет, то подскажите, что лучше хранить PHP + HTML-скрипт в переменной.

MySQL поддерживает этот тип запросов.

Помогите любому

Большое спасибо.

+2

Я думаю, что, вероятно, всегда неправильно вводить такой код в вашу БД. Я знаю, что не отвечает на ваш вопрос, но есть почти наверняка лучший способ добиться того, что вы пытаетесь сделать. – DanSingerman

+1

Я чувствую тремор в Силе –

ответ

0

В вашем примере вы используете синтаксис heredoc, который функционирует как строки с двумя кавычками. Это означает, что переменные в содержимом расширяются.

В РНР 5.3 вы можете использовать nowdoc синтаксис, который

в одиночные кавычки, что heredocs являются двойными кавычками

Источник: PHP Manual on Nowdoc

Этот пример demostrates использование этого синтаксиса:

$name = 'MyName'; 

$str = <<<'EOT' 
My name is "$name". 
EOT; 

echo $str; 

Будет выведено

Меня зовут "$ name".

Вы можете сохранить содержимое $ str в соответствующее поле базы данных после его очистки для SQL-запроса вставки.

+0

Хорошо, но я хочу отображать кнопку формы на основе условия, которое я не знаю, как этого достичь, вышеупомянутое условие должно выполнить скрипт php. Я не знаю, что heredoc будет поддерживать это. Основной сценарий - это я хотите отобразить кнопку формы на панели пользователя, чтобы принять или не использовать некоторые ссылки. Все предлагают мне наилучшую идею о том, как добиться этого. Большое спасибо. – user3049432

+0

Вопрос в том, как хранить PHP + HTML в переменной. Вероятно, вы должны открыть другой вопрос по этой проблеме кнопки условной формы. Если вы хотите выполнить сохраненный скрипт php, используйте eval(). – myrho

0

Я должен согласиться с замечаниями выше. Вы должны NOT сделать это. Однако, у вас есть несколько проблем в вашем коде:

  • На else кнопку отправки, вы имеете " в конце, который не должен быть там.
  • У вас есть HTML внутри PHP, без звонков echo.
  • У вас есть пробелы после строки abc.
  • ; После строки abc строка должна быть на новой строке.

Вот "правильный" код:

<?php 
$str=<<<abc 
$sql=mysql_query("select * from links where column='value'"); 
$sq1=mysql_fetch_row($sql); 
$s1=$rec[13]; 
$s2='Done'; 
if($s1==$s2) 
{ 
echo " 
<form name=f1 method=post action=\"xxx.php\"> 
<input type=hidden name=income value=$rec[value]> 
<input type=submit value=\"Accept\" id=submit2 name=submit2 disabled=\"disabled\"> 
</form> 
"; 
} 
else 
echo " 
<form name=f1 method=post action=\"xxx.php\"> 
<input type=hidden name=uname value=$rec[value]> 
<input type=submit value=\"Accept\" id=submit2 name=submit2 /> 
</form>"; 
abc 
; 

echo $str; 

Надежда, что помогает.

+0

В основном нормально. Но когда я пытаюсь сохранить его в базе данных, используя регистрационную форму, он отображает сообщения об ошибках, такие как неопределенная переменная sql, s1, rec in in C: \ xampp \ htdocs \ xxxx, пожалуйста, помогите мне решить эту проблему. – user3049432

+0

Ну, без сообщение об ошибке и код, генерирующий ошибку, трудно помочь. – Thibault

Смежные вопросы