Jump to content
  • 0

проблемы у новичка


Dmitry.Doronin
 Share

Question

Доброе время суток!

Начал изучать пиэйчпи по учебнику Энди Харриса и столкнулся с проблемой его неактуальности, хотя, насколько могу судить, учебник очень хорош, с множеством примеров и подсказок. Себе установил пиэйчпи пятой версси, так как не вижу смысла изучать то, что уже не используется, а другого учебника такого же качества найти не могу, и пытаюсь те примеры актуализировать ( хотя, наверно. дурацкая затея). Но ближе к делу:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251"
http-equiv="content-type">
<title>Styled text</title>
</head>
<body>
<h3> Your output</h3>
<center>
<?php $myStyle=<<<HERE
"border-size:$_POST['borderSize']$_POST['sizeType'];
border-type:$_POST['borderType'];
border=color:green"
HERE;
print "<div style=$mystyle>";
print $_POST['text1'];
print "</div>";
?>
</center>
</body>
</html>

Код должен форматировать рамку текста text1 в соответствии с выбором пользователя, но в логе ошибок появляться уведомление что

PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\web\www\php\styler.php on line 18

Причем, номер строки не меняется при измениении кода. С чем это может быть связано?

И да, если знаете, посоветуйте актуальный учебник с примерами для самостоятельного изучения.

Спасибо!

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

подправил ошибки. Пробуйте.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251"
http-equiv="content-type">
<title>Styled text</title>
</head>
<body>
<h3> Your output</h3>
<center>
<?php $myStyle="\"border-size:".$_POST['borderSize']." ".$_POST['sizeType']."; border-type:".$_POST['borderType']."; border=color:green\"";
print "<div style=$mystyle>";
print $_POST['text1'];
print "</div>";
?>
</center>
</body>
</html>

Edited by LunatiK
Link to comment
Share on other sites

  • 0

Чтобы кавычки постоянно не экранировать, лучше использовать одинарные. Всё равно же разрыв в строке делаешь, так что преимущество двойных кавычек ты не используешь, так и нафиг они не нужны здесь.

Link to comment
Share on other sites

  • 0

Если этот коментарий мне, то я исправил что было, на то что работать должно отсебятины никакой не добавлял, поэтому и сохранил исходное оформление.

Если уж критиковать - то там помимо этого полно байды на которое стоит обратить внимание, но это как бы в задачу не входило.

Link to comment
Share on other sites

  • 0
Спасибо, все заработало! Буду разбираться с "байдой".

Удачи!

А как это выглядело бы с <<<HERE?

как то так:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251"
http-equiv="content-type">
<title>Styled text</title>
</head>
<body>
<h3> Your output</h3>
<center>
<?php

$borderSize = $_POST['borderSize'];
$sizeType = $_POST['sizeType'];
$borderType = $_POST['borderType'];

$myStyle = <<<HERE
"border-size: $borderSize $sizeType; border-type: $borderType; border-color:green"
HERE;

print "<div style=$myStyle>";
print $_POST['text1'];
print "</div>";
?>
</center>
</body>
</html>

Edited by LunatiK
Link to comment
Share on other sites

  • 0
Удачи!

как то так:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251"
http-equiv="content-type">
<title>Styled text</title>
</head>
<body>
<h3> Your output</h3>
<center>
<?php

$borderSize = $_POST['borderSize'];
$sizeType = $_POST['sizeType'];
$borderType = $_POST['borderType'];

$myStyle = <<<HERE
"border-size: $borderSize $sizeType; border-type: $borderType; border-color:green"
HERE;

print "<div style=$myStyle>";
print $_POST['text1'];
print "</div>";
?>
</center>
</body>
</html>

то есть в многострочную переменную нельзя запихнуть сверхглобальную?

Link to comment
Share on other sites

  • 0

Прошу прощения за извращение, жарко, да и бес попутал, вот так:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title>Styled text</title>
</head>
<body>
<h3> Your output</h3>
<center>
<?php

$myStyle = <<<HERE
"border-size: {$_POST['borderSize']} {$_POST['sizeType']}; border-type: {$_POST['borderType']}; border-color:green"
HERE;

print "<div style=$myStyle>";
print $_POST['text1'];
print "</div>";
?>
</center>
</body>
</html>

P.S. Подскажите люди как в bb-коде code сделать скрол ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy