[PHP-users 19286]はじめまして

Tetsuya Saito tetuya @ ophiuchus.info
2003年 12月 11日 (木) 10:42:43 JST


みなさん
こんにちは

斉藤@ophiuchusと申します。

phpを始めたばかりの初心者ですのです
どうぞよろしくお願い申し上げます。

このたび、php-4.3.4とapache-2.0.48を組み合わせて、ソフトウェアデザイン
2003/6月号に記載されております。LDAPを使ったvirtualドメイン管理のwebペー
ジを作成しております。

雑誌に記載されている通りの、ソースコードを作成し、編集画面のリンクをクリッ
クし下記のphpソースコードを実行しますと下記のようなエラーが出力され、
LDAPデータの編集画面に移行出来ません。

私なりにソースコードのtypo等がないか色々と数十回と見直したのですが、何処
にもtypoの痕跡等はありませんでした。

このような状況なのですが、どのようにソースコードを改善すれば編集画面移行
しLDAPデータを編集できるようにすることが出来るのでしょうか。

識者の皆様ご指導お願い申し上げます。

[編集画面をクリックしたときに出る、エラー内容]
Parse error: parse error in /usr/local/apache2/htdocs/imap/modify.php on line 64

[編集画面をクリックしたときに実行される、phpソースコード]
<?php
require_once "auth.inc";
if ($info[0]["mailgroup"][0] !==admin) {
	//admin以外のログインは許可しない
	exit;
}
if ($_SERVER["REQUEST_METHOD"] == "GET") {
	//GETメソッドであればURLの引数からDNを作成し、そのユーザー情報を連想配列に格納
	//以下は取得された情報をHTMLフォームに表示
	$newinfo = $c->get("cn={$_GET["cn"]},{$_SESSION["d_dn"]}", "objectclass=*");
?>
<html>
<body>
<form method="POST" action="<?= $_SERVER["PHP_SELF"] ?>">
<input type="hidden" name="cn" value="<?= $_GET["cn"] ?>">
ユーザー編集
<table bprder="1">
<tr>
	<td>メールアドレス</td>
	<td><?= $newinfo[0]["mail"][0] ?></td>
</tr>
<tr>
	<td>パスワード</td>
	<td><input type="password" name="userpassword" value=""></td>
</tr>
<tr>
	<td>名字</td>
	<td><input type="text" name="sn" value="<?= $newinfo[0]["sn"][0] ?>"></td>
</tr>
<tr>
	<td>名前</td>
	<td><input type="givenname" value="<?= $newinfo[0]["givenname"][0] ?>"></td>
</tr>
<tr>
	<td><br></td>
	<td><input type="submit" name="modify" value="編集"></td>
</tr>
</table>
<hr>
<a href="index.php">トップページ</a><br>
<a href="logout.php">ログアウト</a>
</form>
</body>
</html>
<?php
	}
elseif (isset($_POST["modify"])) {
	//POSTメソッドであればHTMLフォームの情報から新たな連想配列を作成する
	if (isset($_POST["userpassword"])) {
		//パスワードが定義されていた場合のみパスワードに関する配列を作成
		mt_srand((double) microtime()*1000000);
		$salt=mhash_keygen_s2k(MHASH_SHA1, $_POST["userpassword"], substr(pack("h*", md5(mt_rand())), 0, 8), 4);
		$newinfo["userpassword"] = "{ssha}" . base64_encode(mhash(MHASH_SHA1, $_POST["userpassword"] . $salt) . $salt);
	}
	$newinfo["sn"] = $_POST["sn"];
	$newinfo["givenname"] = $_POST["givenname"];
	//情報がそろえばLDAPデータを編集し結果を表示
	$c->modify("cn={$_POST["cn"]},{$_SESSION["d_dn"]}, $newinfo);
?>
<html>
<body>
ユーザー情報が変更されました。
<hr>
<a href="index.php">トップページ</a><br>
<a href="logout.php">ログアウト</a>
</body>
</html>
<?php
	}
?>
-- 
Tetsuya Saito <tetuya @ ophiuchus.info>




PHP-users メーリングリストの案内