C、HTML、MySQL、CGIを使用してツイッターのようなプログラムを作成するように求められました。最初のステップは、ユーザにユーザ名とパスワードの入力を求めるログインページを作成することです。私はそれを行うにはCGIのXのHTMLを使用し、ここで私のプログラムは以下のとおりです。HTMLからのCGI-パスワードは印刷されません
HTML:
<html>
<body>
<form action='/cgi-bin/password .cgi'>
Username: <input type="text" name="user" ><br>
Password: <input type="password" name ="password" id="password" maxlength="10">
<input type ="submit" value='Submit'>
</form>
</body>
</html>
CGI:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *data;
char *token;
printf("Content-type:text/html\r\n\r\n");
printf("<!DOCTYPE html><html><head><title>Is Your Password and username this?<title></head><body>");
data = getenv("QUERY_STRING");
if (data) {
token = strtok(data, "&");
while (token) {
while (*token != '=')
{
token++;
}
token++;
token = strtok(NULL, "&");
}
printf("The average is %s\n", token);
}
printf("</body></html>");
exit(EXIT_SUCCESS);
}
問題:ユーザ名とパスワードを入力し、送信ボタンを押した後、 CGIは何も印刷していません。それはちょうど空白のスペースです。これを修正し、ユーザー名とパスワードボックスに入力した内容を印刷するにはどうすればよいですか?ありがとう!
クエリ文字列を解析するループ内には何も印刷しません。そして、 'token'ループは' NULL'(ループ条件の一部です)となり、 'NULL'ポインタを出力しようとします。 –
@Joachim Pileborgユーザー名とパスワードを印刷するにはどうすればよいですか? strtok(データ)を次に出力する必要がありますか?私はちょっと残念ですが、残念です:(( –