電子書籍の厳選無料作品が豊富!

はじめまして。今プログラミングを学習しています。

Form欄から記入した名前、年齢をMysqlのデータベースに格納するプログラミングを作っています。ローカルにインストールしているapacheでは上手く動作するのですが現在レンタルしている(php動作可)サーバーにアップロードすると動きません。その時のエラーでは500 Internal Server Errorかアクセスの許可がありません。のどちらかです。ファイルへのアクセス許可を変えるとこの2つの内のどちらかになります。どのようにすればサーバー上でも動くのでしょうか?

プログラムの簡単な説明は

Form.htmlでpostされたデータを格納したら
check.phpでデータを挿入しましたと表示される
物です。

A 回答 (3件)

《500 Internal Server Error》ということは、CGI認識されている可能性があると言う事です。


ひょっとして、レンタルサーバのPHPはCGI版で、あなたのローカルのPHPはモジュール版なんじゃないですか?

ファイルの先頭に、
#!/usr/local/bin/php
のような呪文が必要かもしれません。(サーバの設定により不必要な場合もアリ)
レンタルサーバに確認されたらと思います。

この辺参考に。
http://support.sakura.ad.jp/support/web/manual/t …
http://www27.tok2.com/home/wanchan/500.htm
    • good
    • 0

ローカルで動いているなら、ソースは大丈夫でしょう、



後は、他のphpファイルが動くなら、

.htaccess設置していたら、それが間違っているとか

設定関係だと思いますがね。
    • good
    • 0
この回答へのお礼

はい。まだ確かめてませんが確認してみます。これじゃまだあまりにも原因となりそうな要因が多すぎて特定も出来そうにないですね。1つ1つ可能性を潰して見ます。ありがとうございました。

お礼日時:2006/09/13 20:49

LINUXサーバだと思いますので、



check.phpのパーミッションを

775か777辺りで動くと思いますが、

サーバ会社の説明にあると思います。

この回答への補足

それでもダメです。ソースは

<?php
require_once("DB.php");
//投稿のため伏せてあります。
$dbUser = "";// ユーザー名
$dbPass = "";// パスワード
$dbHost = "";// ホスト名
$dbName = "";// データベース名
$dbType = "";// データベースの種類

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

// データベースに接続
$conn = DB::connect($dsn);

// 接続に失敗したらメッセージを表示して終了します。
if (DB::isError($conn)){
die($conn->getMessage());
}

// POSTされたデータを受け取り、エスケープします。
$last_name= addslashes($_POST['last_name']);
$first_name= addslashes($_POST['first_name']);
$age= addslashes($_POST['age']);

$sql = <<<EOS
INSERT INTO member
(
last_name,
first_name,
age
)
VALUES
(
'$last_name',
'$first_name',
$age
)
EOS;

if(preg_match("/Windows/", $_ENV["OS"])){
$sql = mb_convert_encoding( $sql, "SJIS", "EUC-JP");
}

// SQL文を発行
$result = $conn->query($sql);
if (DB::isError($result)) {
die ($result->getMessage());
}

$count = $conn->affectedRows();
print "データを" . $count . "件、挿入しました。";

// データベースから切断します。
$conn->disconnect();

?>

です。コードに間違いがあるんでしょうか?
サーバでの設置場所は

www---form.html(777)
     check.php(777)

としてます。

補足日時:2006/09/13 18:00
    • good
    • 0

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