[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 メーリングリストの案内