ジメジメする梅雨のお悩み、一挙解決! >>

Parse error: syntax error, unexpected T_STRING in 。。。 on line 118
とでるのですが対処はどうすればよろしいでしょうか?

A 回答 (2件)

118行目をみてみてください。


ダブルクォーテーションのなかでダブルクォーテーションを使ったり
してませんか?
基本的な文法ミスなので、自己解決できないと今後きびしいですよ。
    • good
    • 2
この回答へのお礼

回答ありがとうございます
さっきの問題をなおしたら
こんなのでてきてしまったのですが・・・・
初心者ですいません^^;

Parse error: syntax error, unexpected '<' in 。。。on line 118

お礼日時:2007/07/02 14:32

syntax errorはいわゆる書き間違いですので実際のプログラムを見ないとどこが間違っているのか分かりません。


一般にはエラー行の直前の行に間違いがあることが多いですがかなり前にあることもあります。
" "の閉じ忘れとかをチェックしてみてください。
↓でも同様のエラーになります。
117行:$a = "aaa;
118行:$b = "bbb";
    • good
    • 4
この回答へのお礼

解決できました^^;
ありがとうございます^^;

お礼日時:2007/07/02 14:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Qphpエラーについて

おはようございます。
PHPにて掲示板を作成しています。
(全文は文字数制限にて掲載することができなかったため、主要な部分を掲載しております)

一通り作成した後、
ブラウザから参照したところ、
Parse error: parse error, unexpected ';', expecting '{' in /***/***.php on line 44
が出力されました。

line 44行目は「function convstr ( $str );」の行を指します。
この場合、問題となっているのは、
44行目から57行目の間と考えてよろしいのでしょうか?
もし、違っていたとするならば、どこまで追っていけばよろしいのでしょうか?

また、errorに対するデバッグ手法がありましたら、
具体的な手法を教えて頂けないでしょうか?
例:printfを*行目にprint()の構文で設置する。

どうぞよろしくお願いします。


42:<?php
43: //タグ無効化等の処理をする関数
44: function convstr ( $str );
45: {
46: //タグを無効化する
47: $str = htmlspecialchars ( $str );
48:
49: //「'」「"」を全角に置換する
50: $str = stripslashes ( $str );
51: $str = ereg_replace ( "'", "’", $str );
52: $str = ereg_replace ( """, "”", $str );
53:
54: //文字列内の改行を<br>に変換する
55: $str = ereg_replace ("\r\n|\r|\n", "<br>", $str);
56: return $str;
57: }
58:
59: //DBに接続する
60: $conn = mysql_connect ( "localhost", "root", "mysql" );
61: if ( $conn == false )
62: {
63: print ( "DB接続エラーです<br>\n" );

おはようございます。
PHPにて掲示板を作成しています。
(全文は文字数制限にて掲載することができなかったため、主要な部分を掲載しております)

一通り作成した後、
ブラウザから参照したところ、
Parse error: parse error, unexpected ';', expecting '{' in /***/***.php on line 44
が出力されました。

line 44行目は「function convstr ( $str );」の行を指します。
この場合、問題となっているのは、
44行目から57行目の間と考えてよろしいのでしょうか?
もし、違っていたとするならば、ど...続きを読む

Aベストアンサー

44行目が間違っていることを意味します。
関数の始まりは、
function convstr ( $str )
{
のように、;は不要です。

英語のエラーメッセージは、{があるべきところに;がある、ということを言っています。

Qなぜ、unexpected T_VARIABLEになるのでしょうか? 

WindowsXP機に、PHP5とPEARを入れています。
あるWebサイトに記述されている下記のサンプルスクリプトをコピペして(PEARは絶対パスに書き換えて)実行しましたが、次のエラーが出ます。全角スペースは入っていませんし、原因が分かりません。
なぜ、unexpected T_VARIABLEになるのでしょうか? どのようにすれば解決できるでしょうか?
エラー
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in C:\Program Files\Apache Group\Apache2\htdocs\HQuickForm_test\QfrmSmpl.php on line 14

サンプルスクリプト一部抜粋:
<?php
require_once("C:\php\PEAR\HTML\QuickForm.php");
class QfrmSmpl{
var $_form;
function QfrmSmpl($sbmtAct){
$this -> _form = new HTML_QuickForm("frmSmpl","post",$sbmtAct); }
function setForm(){
$this -> _form -> addElement("text","txtName","名前(全角日本字):");
$this -> _form -> addElement("text","txtEname","名前(半角英字):");
$this -> _form -> addElement("text","txtEmail","E-mail:");
$this -> _form -> addElement("text","txtEmail2","E-mail(確認用):");
$this -> _form -> addElement("textarea","txtrComment","コメント:");
}
$this -> _form -> applyFilter(__ALL__,"trim");
$this -> _form -> addRule("txtName","名前を入力!","required", null, "client");
$this -> _form -> addRule("txtEname","半角英字で入力!","alphanumeric", null, "client");
$this -> _form -> addRule(array("txtEmail","txtEmail2"),"メールアドレス不一致!","compare", null, "client");
$this -> _form -> addRule("txtEmail","無効なメールアドレス!","email", null, "client");
$this -> _form -> addRule("txtrComment","コメントを入力!","required", null, "client");
$this -> _form -> setRequiredNote("<font color='red'>*</font>必須入力");
}
以下略

WindowsXP機に、PHP5とPEARを入れています。
あるWebサイトに記述されている下記のサンプルスクリプトをコピペして(PEARは絶対パスに書き換えて)実行しましたが、次のエラーが出ます。全角スペースは入っていませんし、原因が分かりません。
なぜ、unexpected T_VARIABLEになるのでしょうか? どのようにすれば解決できるでしょうか?
エラー
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in C:\Program Files\Apache Group\Apache2\htdocs\HQuickForm_test\QfrmSmpl.php...続きを読む

Aベストアンサー

検索したら似たようなスクリプトがあったんですが
http://digit-01.com/ownpage/ownpage_quickform.html
これの
//フォーム入力チェックの定義(, null, "client")で、クライアント側でチェック function checForm(){
は function checForm(){ の前で改行が必要なようです

Qillegal string offset

php5.3では動いていたプログラムをphp 5.4 で動かしたらwarning illegal string offsetが出て困っています。以下のプログラムでwarningが出ないようにするにはどのようにコーディングすればよいのでしょうか?


$a = array('exists' => 'foo');
if ($a['exists']['non_existent']) {
print 1;
}
print 2;
exit;

Aベストアンサー

isset()を使えばいいと思います

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

QPHPでのエラー(unexpected T_STRING~)

PHP5で、以下のクラスで構文エラーが出てしまいます。

//===================================================
<?php
class fileUpload{

define (kakunou_PATH, "../cast_img/" .$_FILES["file_data1"]["name"]);
var $error_message;

function fileUpload($ftmp_name, $fsize;){
(省略)
}
}
//===================================================
*****エラーメッセージ********************************
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/sites/heteml/users61/v/e/n/venusline/web/config/fileUpload_class.php on line 5
*****************************************************
5行目はdefine()の行です。
ちなみにここでパスを定義してますが、
define()を使うのでは無く
var $path = 'パス名';
としても同じエラー。
また、$_FILESの記述を削っても同じエラーが出ます。
エラー文中のT_OLD_FUNCTION が気になったので、
一応コンストラクタを__constructにも変えてみたのですがやはりダメでした・・
どなたかエラーの原因が解る方、どうぞ宜しくお願いします。

PHP5で、以下のクラスで構文エラーが出てしまいます。

//===================================================
<?php
class fileUpload{

define (kakunou_PATH, "../cast_img/" .$_FILES["file_data1"]["name"]);
var $error_message;

function fileUpload($ftmp_name, $fsize;){
(省略)
}
}
//===================================================
*****エラーメッセージ********************************
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_F...続きを読む

Aベストアンサー

No1です。訂正です
ごめんなさい。fileUploadっていうメソッドは既にあったですね・・・
php5だと
class fileUpload{

const kakunou_PATH = "../cast_img/";
protected $_path;
protected $error_message;

function __construct($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
//(省略)
}
}
//end of class

php4だとこうです。
class fileUpload{

const kakunou_PATH = "../cast_img/";
var $_path;
var $error_message;

function fileUpload($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
//(省略)
}
}
//end of class

No1です。訂正です
ごめんなさい。fileUploadっていうメソッドは既にあったですね・・・
php5だと
class fileUpload{

const kakunou_PATH = "../cast_img/";
protected $_path;
protected $error_message;

function __construct($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
//(省略)
}
}
//end of class

php4だとこうです。
class fileUpload{

const kakunou_PATH = "../cast_img/";
var $_path;
var $error_messa...続きを読む

Q宜しくお願いします。

宜しくお願いします。
mix~max値の間、発行したクエリーからの値を配列に入れたいのですが、どうもFor文中にmin,max値は届いているのですが,$resultに値が入りません。
エラーからしてSQLで行っている変数処理に$iの値が届いてない感じがするのですが、下記のソースを見て頂いて、疑わしき点などご指摘、ご教授いただけませんでしょうか。

どうぞ宜しくお願いします。


--エラー文ここから--->
Catchable fatal error: Object of class stdClass could not be converted to string in ...




--ソースここから--->

$min = h($r -> x);
$max = h($s -> y);
for($i=$min ; $i<= $max; $i++){
$search = sprintf("SELECT id FROM Sheet WHERE no='%d'",$i);
$q_search = mysql_query($search);
$result = mysql_fetch_object($q_search);
echo $result;
}

宜しくお願いします。
mix~max値の間、発行したクエリーからの値を配列に入れたいのですが、どうもFor文中にmin,max値は届いているのですが,$resultに値が入りません。
エラーからしてSQLで行っている変数処理に$iの値が届いてない感じがするのですが、下記のソースを見て頂いて、疑わしき点などご指摘、ご教授いただけませんでしょうか。

どうぞ宜しくお願いします。


--エラー文ここから--->
Catchable fatal error: Object of class stdClass could not be converted to string in ...




--ソースここから...続きを読む

Aベストアンサー

PHPあまり詳しくないので間違っていたらすいません。


>$result = mysql_fetch_object($q_search);
でresultはobject型で代入しておりそれを表示するときにString型に変換できていないのが原因かとおもわれます。

参考URL
mysql-query
http://php.net/manual/ja/function.mysql-query.php

mysql-fetch-array
http://php.net/manual/ja/function.mysql-fetch-array.php

mysql_fetch_object
http://phpspot.net/php/man/php/function.mysql-fetch-object.html

Qデータ検索のエラーについて

http://oshiete1.goo.ne.jp/qa3583661.htmlの質問の続きなのですが、条件分岐による検索のプログラムを書きたいのですが、
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\iiko.php on line 61
というエラーが起こってしまいました。
いろいろとPHPのサイトを見て回って考えたのですが、解決策がわかりません。


フォームの構造は
<html>
<head>
<title>abcde</title>
</head>
<body>
<FONT size="4">abcde</FONT>
<form action="iiko.php" method="post">
a<br>
<br>
ある<INPUT type="radio" name="a" value="ある"><br>
ない<INPUT type="radio" name="a" value="ない"><br>
<br>

b<br>
<br>
ある<INPUT type="radio" name="b" value="ある"><br>
少しある<INPUT type="radio" name="b" value="すこしある"><br>
ない<INPUT type="radio" name="b" value="ない"><br>
<br>
c<BR>
ある<INPUT type="radio" name="c" value="ある"><BR>
ない<INPUT type="radio" name="c" value="ない"><BR>
<BR>


d<br>

ある<INPUT type="radio" name="d" value="ある"><br>
ない<INPUT type="radio" name="d" value="ない"><br>
<br>

e<br>
ある<INPUT type="radio" name="e" value="ある"><br>
ない<INPUT type="radio" name="e" value="ない"><br>
<br>


<input type="submit" name="bottun1" value="送信">
</form>
</body>
</html>


検索リストのiiko.phpは、条件を選択すれば、デーブルのデータのID2~4番の人を表示させ様としています。

<html>
<body>
<?php
$a_1 = $_POST["a"];
$b_1 = $_POST["b"];
$c_1 = $_POST["c"];
$d_1 = $_POST["d"];
$e_1 = $_POST["e"];

require_once("DB.php");

$dbUser = "sample";
$dbPass = "password";
$dbHost = "localhost";
$dbName = "sampledb";
$dbType = "mysql";

$dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";


$conn = DB::connect($dsn);

//接続にしっぱいしたらメッセージを表示して終了します。

if (DB::isError($conn)) {
die($conn->getMessage());
}

$sql = <<<EOS
SELECT * FROM member


if($a_1 == "ある"and $b_1 == "ある"and $c_1 == "ない"and $d_1 == "ある" $e_1== "ある")
{
$sql = $sql . " WHERE id BETWEEN 2 AND 4;";

}
$result = $conn->query($sql);
if (DB::isError($result)) {
die($result->getMessage());
}

$count = $result->numRows();
print "検索結果は".$count."件です。<BR>";


if($count>0){
?>


<TABLE width="450" border="1" cellspacing="0" cellpadding="8">
<TBODY>
<TR><TH>番号</TH><TH>氏</TH><TH>名</TH><TH>年齢</TH></TR>


<?php
while($rs = $result->fetchRow(DB_FETCHMODE_ASSOC))
{

?>
<TR><TD align="center"><?=$rs['id']?></TD>
<TD><?=$rs['last_name']?></TD>
<TD><?=$rs['first_name']?></TD>
<TD align="center"><?=$rs['age']?></TD></TR>
<?php
}
?>
</TBODY></TABLE>
<?php
}
$result->free();
$conn->disconnect();
?>

</body>
</html>
です。

解決策を教えて下さい。
よろしくお願いします。

http://oshiete1.goo.ne.jp/qa3583661.htmlの質問の続きなのですが、条件分岐による検索のプログラムを書きたいのですが、
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\iiko.php on line 61
というエラーが起こってしまいました。
いろいろとPHPのサイトを見て回って考えたのですが、解決策がわかりません。


フォームの構造は
<html>
<head>
<title>abcde</title>
</head>
<body>
<FONT size="4">a...続きを読む

Aベストアンサー

exit;の処理はご存知の通り、そこで処理を終了するということです。
つまり、処理を終了させた場所までのソースに画面表示系のものがない場合、画面は真っ白になります。
しかし、画面が真っ白=エラーも出ていない、ということになるので、そこまでのソースに問題はないということにもなりますね。

> DB Error: syntax error

このエラーはSQLの文法ミスの場合に出ます。
SQLの作成が終わったら、

echo $sql;
exit;

を書いてSQL文の表示をして確認をしてみると、何か解決につながるかもしれませんよ。

Qphpのエラーについてです

mysql上のデータをphpでブラウザに表示するコードを書いています。
下記のプログラムを実行した所
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampplite\htdocs\shop\index.php on line 18
というようなエラーが表示されます。
本の通りに進めているので間違っていないはずなんですが・・
どこが成立していないのでしょうか???

<?php
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('mydb');
mysql_query('SET NAMES UTF8');

$recordSet = mysql_query('SELECT m.name, i.* FROM makers m, my_
items i WHERE m.id=i.maker_id ORDER BY id DESC');
?>

<table width="100%">
<tr>
<th scope="col">ID</th>
<th scope="col">メーカー</th>
<th scope="col">商品名</th>
<th scope="col">価格</th>
</tr>
<?php
while ($table = mysql_fetch_assoc($recordSet)) {
?>
<tr>
<td><?php print(htmlspecialchars($table['id'])); ?></tb>
<td><?php print(htmlspecialchars($table['name'])); ?></tb>
<td><?php print(htmlspecialchars($table['item'])); ?></tb>
<td><?php print(htmlspecialchars($table['price'])); ?></tb>
</tr>
<?php
}
?>
</table>

mysql上のデータをphpでブラウザに表示するコードを書いています。
下記のプログラムを実行した所
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampplite\htdocs\shop\index.php on line 18
というようなエラーが表示されます。
本の通りに進めているので間違っていないはずなんですが・・
どこが成立していないのでしょうか???

<?php
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('mydb');
mysql_query('SET NAMES UTF8');

...続きを読む

Aベストアンサー

『C:\xampplite\htdocs\index.php の第18行に誤りがあります。』
『mysql_fetch_assoc() は、第1パラメータがリソースであるべき』のエラーです。

18行目がどこかわからないが
『while ($table = mysql_fetch_assoc($recordSet)) {』多分これかな?

『$recordSet』がSQLの結果になっていないためエラーになってます。
原因は、いろいろ
1.DBにデータがない、
2.DBのフィールドとSELECT文が一致していない
3.接続先のDBを間違えている。
4.そもそもPHPでMYSQLが使えない(PHP.iniでロードしてない)
などなど、
「mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('mydb');
mysql_query('SET NAMES UTF8');
$recordSet = mysql_query('SELECT m.name, i.* FROM makers m, my_

それぞれの関数の実行結果を確認するようにすれば、どこで原因があるのかわかると思います。
調べてみてください。

あと、「mysql_fetch_assoc() expects parameter 1 to be resource」で検索するとそれなりに情報がヒットしますよ
(英語も多いですが、そこは雰囲気で確認してみるべし)

『C:\xampplite\htdocs\index.php の第18行に誤りがあります。』
『mysql_fetch_assoc() は、第1パラメータがリソースであるべき』のエラーです。

18行目がどこかわからないが
『while ($table = mysql_fetch_assoc($recordSet)) {』多分これかな?

『$recordSet』がSQLの結果になっていないためエラーになってます。
原因は、いろいろ
1.DBにデータがない、
2.DBのフィールドとSELECT文が一致していない
3.接続先のDBを間違えている。
4.そもそもPHPでMYSQLが使えない(PHP.ini...続きを読む

Q文字列から、特定の文字を削除したい

アンケートで入力された値を受け取り、メールで送信しているのですが、受け取った値から、特定の文字列を削除することは可能でしょうか?

例えば電話番号の入力の場合、
03-xxxx-xxxx →03xxxxxxxx
077-xxx-xxxx →077xxxxxxx
のように、-(ハイフン)が入力されていたら、-を削除した文字列に置換してメール送信したいのです。
入力する時に、3つのテキストエリアに分けるのは諸事情でできないので、特定の文字を削除する関数か処理方法がありましたら、教えていただきたいです。
よろしくお願いします。

Aベストアンサー

str_replace
http://itbtech.itboost.co.jp/man/php_man/function.str-replace.html

<?php
$orig_telno = "03-xxxx-xxxx";

$telno = str_replace("-", "", $orig_telno);
echo $telno;

03xxxxxxxx

“PHP 文字列” あたりをキーワードに検索すれば
そんなに難しいものでもないような。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報