CGI

全5623件中241~260件表示
  • SSI(CGIに値を渡したい)

    htmlにプルダウン、チャックボックス、テキストボックスを用意します。 入力や選択をし検索ボタンを押してCGIに値を渡し表示するという感じです。 ↑現在問題無く動いてます。 search.html(プルダウン、チャックボックス、テキストボックス) ↓値を渡す display.shtml ↓値を渡す ↑結果を渡す search.cgi それをプルダウン、チャックボックス、テキストボックスの値を SSIからCGIに値を渡す事は可能ですか?? それと可能な場合 結果が多い場合は「前12345次」の様に ページを分けて表示するのですが可能でしょうか?? 宜しく御願いします。

  • checkboxについての疑問と解決法

    質問1 checkboxを使ってその内容を返してもらう時はチェックボックス分の内容が送られるのですか? 何か言い方がおかしい気がしますが 例えば ---htmlの内容--- <input type="checkbox" name="sou" value="0" />りんご <input type="checkbox" name="sou" value="1" />みかん <input type="checkbox" name="sou" value="2" />桃 --- とあってCGIにしたときに、りんごにチェックを入れて送信した場合の送られてくる情報は sou=0 りんごとみかんにチェックを入れて送信した場合の送られてくる情報は sou=0&sou=1 りんごとみかんとももにチェックを入れて送信した場合の送られてくる情報は sou=0&sou=1&sou2 であっていますか? 答えずともあっているといわれそうですが・・・。 希望論としてはりんごとみかんとももの場合だった時 sou=0,1,2 (","じゃなくても他の文字を区分けできる文字なら何でもいい) といった感じで送られてきてほしいのですが、 sou=0&sou=1&sou2 なのですよね? 質問2 質問1があっているなら、文字列を分割して変数に入れた後で一つづつ処理する事になりますか? 何か言い方がおかしい気がしますが例えばradioなら複数選択肢があっても選んでもらった場合は設定していた場合はnameとvalueが一セットで送られてくるではないですか だから このradioの内容はこう処理しますよとプログラムを書く selectも同様で1セットの内容が送られてくるため このselectの内容はこう処理しますよとプログラムを書く ですがcheckboxの場合は個別で送られてくるため チェックの1の処理のプログラムを書く チェックの2の処理のプログラムを書く チェックの3の処理のプログラムを書く 個別ごとに処理する事になりますか? もしそうならcheckbokのnameの部分変えたほうがよさそうですね 質問の内容が大変わかりずらかったらすみません。

    • ベストアンサー
    • nanaka2222
    • CGI
    • 回答数1
  • ログファイル名とは、どのファイルですか?

    現在、Kent-webさんのDream counterを設置しているのですが、カウンターだけがうまく設置できません。他の日付や時刻は表示されています。細かく見たのですが、自分ではログファイル名というものがどこを指しているのか、わかりません。まだ始めたばかりなので。 もしわかる方がいましたら、教えてください。 よろしくお願いします。

    • ベストアンサー
    • INAMATU
    • CGI
    • 回答数1
  • CGIゲームの背景画像

    簡単なHPを作成しています。 「さめがめ」と言うCGIゲームを先日見つけまして地味にはまったので自分のサイトに設置したいと思い設置しました。 設置自体は問題ないのですがゲームの背景画像を自分で撮った写真に 差し替えたいのです。 コマを取っていくと自分の撮った写真がどんどん現れる・・・ そんなゲームにしたいのですがどこに背景画像の指定をすればいいのかが分からず・・・・ 申し訳ありませんが詳しい方教えて頂けないでしょうか? かなり古い配布サイト様のようでメールはエラーで帰ってきてしまいました。 http://homepage3.nifty.com/masas/sdir/freecgi/wsame/index.html こちらが「さめがめ」のCGI配布ページです。 どうかお願い致します。 なお。 view.ini にある23行目と24行目 > # 背景画像 (使わない場合は '' としておく) > $bgimg = ''; 上記はゲーム枠外の背景画像が変えられるのみでゲーム内の背景は変えられませんでした。 87行目と88行目の > # コマを取った後の空白画像名 > $k_df = 'none.gif'; 上記は1コマ取った際の画像の指定で空白にしておくと 1コマ取られたあとは「×」マークが表示されてしまいます。 ゲームの背景は指定できませんでした。

    • ベストアンサー
    • syo_kari
    • CGI
    • 回答数1
  • CGIで送受信するプログラムの作り方

    入力フォームを返すのとフォームからのPOSTとGETを受け取って処理する、 同一のスクリプトを、CGI、C言語で作成致しましたが、 上手く動作していません。(白紙のページが表示されるだけでした。) getenv("REQUEST_METHOD");がNULLだった場合に本来表示されるハズのページが表示されるはずで、これが出ないという事は、getenv("REQUEST_METHOD");がNULLでなく、うまく動作していないのでは? こう考え、getenv("REQUEST_METHOD");の中身を表示させた所、GET と表示されました。 何も送信していないのに、GETと判断されているのは何故でしょうか? また、正しい動作をするプログラムをご提示頂けますと助かります。 /* form2.c */ #include <stdio.h> #include <stdlib.h> int main(void) { int len; char *clen; char *data,*method,*qs; printf("Content-type: text/html\n\n"); printf("<html><head></head><body>\n"); method = getenv("REQUEST_METHOD"); printf("%s\n", method); if(method == NULL){ printf("Content-type: text/html\n\n"); printf("<html>\n"); printf("<head>\n"); printf("<title>form test page</title>\n"); printf("</head>\n"); printf("<body>\n"); printf("<form method=\"post\" action=\"form2.cgi\">\n"); printf("<input type=\"text\" name=\"fieldname\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname2\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname3\" size=\"50\"><br>\n"); printf("<input type=\"submit\" value=\"書き込み\">\n"); printf("</form>\n"); printf("<form method=\"get\" action=\"form2.cgi\">\n"); printf("<input type=\"text\" name=\"fieldname\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname2\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname3\" size=\"50\"><br>\n"); printf("<input type=\"submit\" value=\"書き込み\">\n"); printf("</form>\n"); printf("</body>\n"); printf("</html>\n"); exit(0); } //POST else if(!strcmp(method, "POST")){ clen = getenv("CONTENT_LENGTH"); if(clen == NULL){ exit(0); } len = atol(clen); data = malloc(len+1); scanf("%s",data); data[len] = '\0'; printf("Content-type: text/html\n\n"); printf("<html><head></head><body>\n"); printf("%s<br>\n", data); printf("</body></html>\n"); } //GET else if(!strcmp(method, "GET")){ qs = getenv("QUERY_STRING"); printf("Content-type: text/html\n\n"); printf("<html><head></head><body>\n"); printf("%s<br>\n", qs); printf("</body></html>\n"); } printf("</body></html>\n"); } 宜しくお願いいたします。

    • ベストアンサー
    • arupaka753
    • CGI
    • 回答数2
  • CGIでPOSTで送受信するプログラムの作り方

    こんにちは、C言語でCGIを作成していて疑問に思ったのですが、 POSTメソッドで送られてきたデータを解析する際には、POSTで送信するプログラムと、 POSTを受信するプログラムとに必ず分けてある様に感じられました。 これらを1つにまとめて送受信する事は出来ないのでしょうか? 例えば、以下の様なプログラムを組んだとします。 /* form.c */ #include <stdio.h> int main(void) { printf("Content-type: text/html\n\n"); printf("<html>\n"); printf("<head>\n"); printf("<title>form test page</title>\n"); printf("</head>\n"); printf("<body>\n"); printf("<form method=\"post\" action=\"form2.cgi\">\n"); printf("<input type=\"text\" name=\"fieldname\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname2\" size=\"40\"><br>\n"); printf("<input type=\"text\" name=\"fieldname3\" size=\"50\"><br>\n"); printf("<input type=\"submit\" value=\"書き込み\">\n"); printf("</form>\n"); printf("</body>\n"); printf("</html>\n"); } /*以下、受信プログラム*/ /* form2.c */ #include <stdio.h> #include <stdlib.h> int main(void) { int len; char *clen; char *data; clen = getenv("CONTENT_LENGTH"); if(clen == NULL){ printf("no contents.\n"); exit(1); } len = atol(clen); data = malloc(len+1); scanf("%s",data); data[len] = '\0'; printf("Content-type: text/html\n\n"); printf("<html><head></head><body>\n"); printf("%s<br>\n", data); printf("</body></html>\n"); } 上記2つのプログラムを1つに統合して、 送受信を1つのプログラムで行うという事は出来ないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • arupaka753
    • CGI
    • 回答数2
  • セッションIDについて

    セッション管理について、まったく経験がないので、アドバイスお願いいたします! 現在のWEBシステムですが、なぜかIPアドレスのみでしかアクセスできない作りになっています。 それでは困るので、ドメイン名でアクセスできるようにと改修をお願いしたところ、 今度はドメイン名のみでしかアクセスできないがいいか?・・・と質問が届きました。 普通、WEBシステムを使うほうから考えますと、 IPでアクセスしようが、ドメインでアクセスしようが どちらでも動くのが当たり前のように思うのですが。 プログラムの作りでそうなってるのかもしれませんが これって変ですよね? それともよくあることなのでしょうか? 理由を確認したところ、 サーバ名を用いたURLでの構築を行っていないため、ページ遷移を行うとログインエラーが発生する箇所があるとの事。 システムは管理者の機能と一般の機能があり、当然別々の動きをしなければならないのですが 推測するに、IPアクセスだったら管理者、ドメイン名だったら一般というような判断をしているのでは?と思われます。 IPアクセスのみというのを知らずに、ドメイン名でアクセスして試験をしていたら 途中でURLがIPに変わり(cgiでphpが動いて)、エラーになったのです。 session情報は同ドメイン上で有効であるため、 IPでアクセスした場合とドメイン名でアクセスした場合ではセッション情報を引き継げないため、 ログイン情報無しと判断されるため・・・ が原因ということなのですが 実際、SESSIONIDにはどんな内容が入ってくるのでしょうか? 管理者と一般のふたつの機能をセッションIDを使って、切り分けるのはできないことなのでしょうか? セッションIDは使ったこともないので問題外かもしれませんが 自分だったら、今は管理者、今は一般・・・というような情報をhiddenに持つとか、 リンクできる情報をテーブルに持つとかするかな... なんて思いながら、セッションID ってこんな時、どうやって使うのかな? と疑問だらけです。 セッションIDを使って、ふたつの機能を使い分けることはできないのでしょうか? または、ふたつの機能を切り分けできる他の方法などありましたらアドバイスいただけないでしょうか?

    • ベストアンサー
    • jg1wjz
    • CGI
    • 回答数1
  • 詳しく解説お願いします

    以前 http://okwave.jp/qa/q7775291.html このような事を言われました ------ クッキーセット直後、同一プロセスからクッキーの環境変数を参照することは無意味です。クッキーはブラウザ側に送られても、環境変数はサーバ側にあって自動更新はされません。CGIプロセスの途中でサーバ側からクライアントのデータぶっこ抜き放題ならセキュリティもクソもあったもんじゃないでしょう。 あくまでも「クライアントの指示」でサーバ側のプロセス開始オーダーがあったときのみ必要なデータをクライアント側が送信し、サーバはそこからプロセスに必要なデータから環境変数群を構成してプログラムを開始するのです。 セットしたクッキーを参照したいなら、そのプロセス終了後に新たなプロセス(プログラムを別にする)で参照するしかないでしょう。 要するにクッキーを食わせるプログラムと、クッキーを参照するプログラムは分けて起動すること。 ----- この説明で何がいけなかったとかではどうすればいいかろかはある程度分かったのですが <<あくまでも「クライアントの指示」でサーバ側のプロセス開始オーダーがあったときのみ必要なデータをクライアント側が送信し、サーバはそこからプロセスに必要なデータから環境変数群を構成してプログラムを開始するのです。 ここら辺をもう少し分かりやすく解説していただけませんか? もしくは分かりやすく書かれたサイトを教えていただけませんか? <<セットしたクッキーを参照したいなら、そのプロセス終了後に新たなプロセス(プログラムを別にする)で参照するしかないでしょう。 要するにクッキーを食わせるプログラムと、クッキーを参照するプログラムは分けて起動すること 後これは具体的にどのようにすれば分けて起動できますか? というよりも起動するのは一つまでする方法しかしらないのですが同時に起動するにはどうしたらできますか? この部分が理解できて問題を解決できれば一気に作りたいものが作れるので是非解説お願いします

    • ベストアンサー
    • nanaka2222
    • CGI
    • 回答数4
  • どのように制作したらよろしいでしょうか?

    カラーバリエーションが下記のように、 ボタンを選択するだけで、確認できるようなページを制作したいのですが、 http://www.dohm.jp/seat_cover-order_system/seat_cover-order_system.html 何か方法をご存知の方、教えて頂けないでしょうか?

    • ベストアンサー
    • jun317
    • CGI
    • 回答数1
  • CGIの外部呼出しについて

    こんにちは。 私は今自分のサイトに日記を設置したくて、nicky.cgiというCGIをダウンロードしました。 現在使っているサーバーはCGIが利用禁止ですので、CGIの外部参照可能な別サーバーにnicky.cgiをアップロードし、それをimgタグで呼び出してみたのですが… なぜか上手くいきません。CGIの方はちゃんと動作していますし、タグの方も特別おかしいところはありません。ですが、呼び出したページを見てみると画像が読み込めなかったときと同じような×マークが出るだけで、CGIは呼び出せませんでした。 これは何故でしょうか?ちなみにローカルで見てもサーバーにアップしても呼び出せてません。 また他に呼び出す方法はあるでしょうか?一応javascriptを使う方法もやってみましたができませんでした。 やってみてできなかったタグは <IMG SRC="http://○○○○.cgi" BORDER="0">というのと、 <script src="http://○○○○.cgi" language="javascript"></script> のふたつです。 CGIは上にも書きましたが別サーバにアップしたもののURLを指定していますが、もしかしてここが違うのでしょうか…。 タグなどのおかしいところや他の呼び出す方法があれば教えてくださると助かります。

  • 掲示板へカキコみされた場合、メールで通知する機能

    他の人が設置している掲示板の利用者です。 その掲示板(Z-Z-Board)はレンタル掲示板で、メール通知機能を使っていません。 そこで、新規カキコミがあるかどうかチェックする場合、掲示板にアクセスして読み込んでいます。 もし、カキコみされた場合に、メールで通知する機能を、自分で作れたら便利だなぁと思いました。 他の人が運営されている掲示板なので、そのものは触れませんが、 その掲示板にカキコみされたことをメール通知できるようなシステムってありませんか? すべてのカキコみがメール通知されてもいいですし、 欲を言えば、気になるキーワードがカキコみされた時だけメールで通知してもらえれば なお良いです。 よろしくお願いします。

    • ベストアンサー
    • rie51
    • CGI
    • 回答数1
  • C フォームから受け取った知をクッキーで発行 2

    前回 http://okwave.jp/qa/q7765400.html からあれこれしてフォームの値をクッキーに保存できるようになったのですが、バグが出てきました。 一、クッキーが存在しないとエラーが出る ニ、Deta1関数を使って文字列の分解を試みるもうまく分解されない この2つのバグを解決するにはどうしたら直せますか? ---以下ソース--- #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> char *nameset[2],*valueset[2]; char *nameset2[2],*valueset2[2]; int Deta1(char *a,int b); int Dcd(char *set,int a); void get_Form(void); void get_cookie(void); void set_cookie(void); int hen(char *buf, char *mae, char *ato); void Page(int mode); int main(void) { char *nameset[2],*valueset[2]; char *nameset2[2],*valueset2[2]; printf("Content-type: text/html\n"); get_Form(); set_cookie(); get_cookie(); printf("\n"); Page(0); } int Deta1(char *a,int b){ int i=0,cn=0; if(a[0]==NULL){ return(-1); } nameset[0]=a; while((a[++i]!=NULL)&&(i<b)){ /* 項目の分解 */ if(a[i]=='='){ a[i]=NULL; valueset[cn]=a+i+1; } /* データ項目で分解 */ else if(a[i]=='&'){ a[i]=NULL; cn++; nameset[cn]=a+i+1; } } return cn+1; } int Dcd(char *set,int a){ int i,j; char buf,*tmp; if(a==0){ return -1; } tmp=(char*)malloc(a); for(i=0,j=0;i<a;i++,j++){ if(set[i]=='+'){tmp[j]=' ';continue;} if(set[i]!='%'){tmp[j]=set[i];continue;} if(set[++i]>='A'){buf=set[i]-'A'+10;} else{buf=set[i]-'0';} buf*=16; if(set[++i]>='A'){buf+=set[i]-'A'+10;} else{buf+=set[i]-'0';} tmp[j]=buf; } for(i=0;i<j;i++){ set[i]=tmp[i]; } set[i]='\0'; free(tmp); return 0; } void get_Form(void){ int a=0; int i=0; char *chr=NULL; if ( getenv("CONTENT_LENGTH")!=NULL ){ a = atoi( getenv("CONTENT_LENGTH") ); } chr=(char *)malloc(a+1); scanf("%s",chr); chr[a] = '\0'; if (a==0){ return ; } int deta1=Deta1(chr,a); } void get_cookie(void){ int i=0,cn=0; int a=NULL; char *b; if( (getenv("HTTP_COOKIE"))!=NULL){ a=strlen(getenv("HTTP_COOKIE")); } if(a==NULL){ } b=getenv("HTTP_COOKIE"); while((b[++i]!=NULL)&&(i<a)){ if(b[i]=='='){ b[i]=NULL; nameset2[0]=b+i+1; } /* 項目の分解*/ if(b[i]=='-'){ b[i]=NULL; valueset2[cn]=b+i+1; } /*データ項目で分解*/ else if(b[i]=='&'){ b[i]=NULL; cn++; nameset2[cn]=b+i+1; } } for(i=0;i<cn+1;i++){ Dcd(nameset2[i],strlen(nameset2[i])); Dcd(valueset2[i],strlen(valueset2[i])); } } void set_cookie(void) { time_t timer; struct tm *tset; char expires[256]; char *name="sskchat"; int kikan=86400*90; char *set[2]; int i; for(i=0;i<2;i++){ set[i]=NULL; } for(i=0;i<2;i++){ set[i]=valueset[i]; } for(i=0;i<2;i++){ if(set[i]==NULL){ set[i]="no"; } } timer = time(NULL); timer += kikan; tset = gmtime(&timer); strftime(expires, 255, "%a, %d-%b-%Y %H:%M:%S GMT", tset); printf("Set-Cookie:%s=name-%s&mail-%s; expires=%s;\n",name,set[0],set[1],expires); } void Page(int mode){ FILE *fp; char *f1="!name!",*h1; char *f2="!mail!",*h2; if(valueset2[0]==NULL||strcmp("!name!",valueset2[0])==0){ h1=""; } else{ h1=valueset2[0]; } if(valueset2[1]==NULL||strcmp("!mail!",valueset2[1])==0){ h2=""; } else{ h2=valueset2[1]; } char buf[200]; char set[200]; fp = fopen("ren.html", "r+"); while( fgets( set, 200, fp ) != NULL ){ strcpy(buf,set); while(hen(buf, f1, h1)); while(hen(buf, f2, h2)); printf("%s", buf); } fclose(fp); } int hen(char *buf, char *mae, char *ato){ char *nw; size_t zen,go; zen = strlen(mae); go = strlen(ato); if(zen == 0 || (nw = strstr(buf, mae)) == NULL){ return 0; } memmove(nw + go, nw + zen, strlen(buf) - (nw + zen - buf ) + 1); memcpy(nw, ato, go); return 1; } ---ソースここまで--- ---ren.htmlの内容--- <form action="first.exe" method="post"> 名前:<input type="text" name="name" size="100" value="!name!"><br><br> メール:<input type="text" name="mail" size="100" value="!mail!"><br><br> 本文:<textarea name="text" cols="70" rows="10"></textarea><br><br> <input type="submit" value=" 送 信 "><br> </form>

    • ベストアンサー
    • nanaka2222
    • CGI
    • 回答数2
  • HTML初心者です。CGIを使いたくなって・・

    CGIと言っているのでしょうか?ページにURLと簡単な文章を記入するスペースを設けて入力更新後 任意のテーブルにそのURLと文章を表示する様にしたいのですが私の知識では到底出来ません。 よく掲示板スクリプトやCGIを加えると簡単に設置出来ると云うのを見ますが、上記のこのケースの場合よい方法はありませんでしょうか。 どうぞ宜しくお願いを致します。

    • ベストアンサー
    • katu5337
    • CGI
    • 回答数2
  • CGI コメント欄の文章を行替えしたいのです

    お世話になります。 野球スコアボードのCGIなのですが、コメント欄の文章がどうしても1列になってしまい、行替えができません。 文章で<br>を書き加えると、1行分のみしか表示されず、改行の2行目以降が表示されません。   以下の構成でどのようにすれば、文章の行替えが可能になりますか? アドバイスよろしくお願い致します。 <tr><td colspan=\"2\"> <font color=white>スコアボード<center> <table border=\"1\" bgcolor=\"#009933\" cellspacing=0 bordercolor=\"black\"> "; for($i=0;$i<@score;$i++){ print "<tr>"; @team_score=split(/,/,$score[$i]); if($i eq 0){ print "<tr>"; for($s=0;$s<@team_score;$s++){ if($s eq 0){ print "<td width=80> <font color=\"white\"> <center><i>チーム名 </td>"; }else{ print "<td width=\"20\"> <font color=\"white\"> <center><i>$s </td>"; } } print "<td width=40><font color=\"white\"><center><i>合計</td>"; print "</tr><tr>"; } $point=0; for($j=0;$j<@team_score;$j++){ print "<td><font color=\"white\">"; print"<center>"; if($team eq $team_score[$j]){ print "<b>" } print"$team_score[$j]</td>"; if($j eq 0){ }else{ $point=$point+$team_score[$j]; } } if($cnt[$i-1] eq $j || $i eq 0){ print "<td><font color=\"white\"><center>$point</td>"; }else{ print "<td> <font color=\"white\"><center>× </td> <td> <font color=\"white\"><center>$point </td>"; } print "</tr>"; $cnt[$i]=$j; } print "</table><p></td></tr>"; print "<tr><td bgcolor=\"#778899\" height=100> <font color=white>コメント </td> <td bgcolor=\"#f8f8ff\"> $cmt[$p] </td></tr>"; print "</table>"; print "<p><hr width=500><p>"; } } print " </body></html>"; exit;

  • 選択式アンケート項目合計点で分岐するCGIを教えて

    こんにちは、お世話になります。 ホームページ作成ソフトを購入して ホームページがすこしづつ自作できるように なってきたので プレゼントの紹介サイトを作りたいと思っています。 具体的には次のようなことがしたいです 次のようなアンケートをとり それぞれの選択肢を点数化して配点しておき、 選択された回答項目の合計点数で分岐して プレゼントの商品紹介のページを 変えるように表示したいと思います。 たとえば次の3項目の質問をして、 それぞれの選択肢にそれぞれ配点をしてみた場合ですが  注.(配点部分)はホームページには表示しません =============================== ●あなたのプレゼントについてのアンケートです。  どうぞ条件を選択してください 1.年齢: 20代(10点) 30代(20点) 40代(30点) 50代以上(30点) 2.予算: 2000円(10点) 3000円(15点) 5000円(20点) 6000円以上(30点) 3.プレゼントの相手: 女性(20点) 男性(10点) ================================ この結果  訪問者が20代、予算は3000円、相手は女性を選択した アンケート結果とすれば合計点45点になりますが 合計点数のテーブルは あらかじめ次のように設定してあるとします。 30点台:宝くじセット      →分岐先A.html 40点台:ご当地スイーツ     →分岐先B.html 50点台:シネコンチケット    →分岐先C.html  60点以上:ワイン試飲会チケット →分岐先D.html 結果、表示するのはB.htmlになります。 ホームページそのものは自分でホームページ作成ソフトで 作れるようになりましたが このようなアンケートを取って、合計点数をつけ このように条件分岐するには そのような動作をする選択アンケートCGIが必要らしいと 聞きました。 自分ではCGIというプログラムを書くことは できませんので どなたか、このような選択アンケートを使えるCGIを ご存知でしたら 教えていただけませんでしょうか。 (できたら無料のものがありがたいのですが) サーバーはロリポップさんというところを借りて います。FTPというのは少しわかります。 よろしくお願いいたします

    • ベストアンサー
    • resetbrain
    • CGI
    • 回答数2
  • C フォームから受けクッキーを発行参考サイト

    C言語でフォームから受け取ったデーターをクッキーで発行させる方法が書かれた参考サイトがあったら教えていただけませんか? できたら基本的な作り方(あまり自作関数などを使ってない等)が書かれてあるのが良いです。 グーグルで調べても探し方が悪いのかなかなかよさそうなサイトが見つかりませんでした

  • 個人を識別する方法

    Web上でいたずら防止(例えば荒らし等)、または、されたとしても (最低減お金をかけないと)再度会員登録できないようにするために いくらか個人を識別する方法があるのですが・・・ Windowsならプロダクトキーやハードウェア情報、ボリュームシリアルみたり・・・ #Macとかはわかりません・・・ #Linux、FreeBSD、etc...は・・うーん。。。 ガラケーなら、HTMLタグをちょっといじってから環境変数を見る AndroidかiOSなら、アプリ作って、端末固有番号を見る? ですが、これらを単一サービスのために組むのであれば、まだいいのですが いくつ使われるかわからないサービス数の為に、対応しきるのが 難しいかとは思います。 #あくまで、これは、タダで配って使ってもらうものです。 できれば、既存のhttp技術、いったとしてJavaScript技術だけで 個人を識別する方法とうのはありますでしょうか? 一応、あるものとすれば・・・ ・PC向け  無論、逆引き→ドメインを取得する  IPアドレスに対するAS番号を取得する  (cookie・・あまりあてになりません)  GeoIPで都道府県を取得する ・ガラケー向け  端末固有番号を見る  cookie ・Wi-Fiガラケー向け  端末固有番号を見る  cookie  PC向けと同じ ・スマホ向け  ???  (cookie・・あまりあてになりません) ・Wi-Fiスマホ向け  (cookie・・あまりあてになりません)  PC向けと同じ 以上、宜しくお願いします。

  • C フォームから受け取った値をクッキーで発行

    (C言語)フォームから受け取った値をクッキーで発行するにはどのようにするのでしょうか? 問題として ・フォームから値を受け取る事は出来てもクッキーが発行できない もしくは ・フォームから値を受け取れないのにクッキーは発行できる のどっちかしか出来ないため困りました。 どうすればフォームから受け取った値をクッキーで発行できますか? ---以下ソース--- #include <stdio.h> #include <stdlib.h> #include <string.h> int Deta1(char *a,int b,char *nameset[],char *valueset[]); int Dcd(char *set,int a); int get_cookie(char *a,int b,char *nameset2[],char *valueset2[]); void set_cookie(char *valueset[]); void main(void){ int i; int a=0; char *chr=NULL; char *nameset[7]; char *valueset[7]; char *nameset2[7],*valueset2[7]; int b=200; int mode=0; char *ss=getenv("HTTP_COOKIE"); for(i=0;i<7;i++){ nameset2[i]=NULL; valueset2[i]=NULL; } printf("content-type: text/html\n"); //set_cookie(valueset); //ここでset_cookie関数を呼び出せばクッキーは発行出来るけれどフォームに入力された値が入らない printf("\n"); if(mode==0){ //省略しますがフォームで7つの項目があると思ってくださいね if ( getenv("CONTENT_LENGTH")!=NULL ){ a = atoi( getenv("CONTENT_LENGTH") ); } chr=(char *)malloc(a+1); scanf("%s",chr); chr[a] = '\0'; if (a==0){ return ; } printf("%s<br>",chr); int deta1=Deta1(chr,a,nameset,valueset); for(int i = 0;i<deta1;i++){ Dcd(nameset[i],strlen(nameset[i])); Dcd(valueset[i],strlen(valueset[i])); } for(i=0;i<7;i++){ printf("%s %s<br>",nameset[i],valueset[i]); } //set_cookie(valueset); //ここでset_cookie関数を呼び出せばフォームが入力された値が入るけれどクッキーは発行できない int deta2=get_cookie(ss,b,nameset2,valueset2); for(i=0;i<7;i++){ printf("%s %s<br>\n",nameset2[i],valueset2[i]); } free((void *)chr); } else if(mode==1){ //省略 } else{ //省略 } } int Deta1(char *a,int b,char *nameset[],char *valueset[]){ int i=0,cn=0; if(a[0]==NULL){ return(-1); } nameset[0]=a; while((a[++i]!=NULL)&&(i<b)){ if(a[i]=='='){ a[i]=NULL; valueset[cn]=a+i+1; } else if(a[i]=='&'){ a[i]=NULL; cn++; nameset[cn]=a+i+1; } } return cn+1; } int Dcd(char *set,int a){ int i,j; char buf,*tmp; if(a==0){ return -1; } tmp=(char*)malloc(a); for(i=0,j=0;i<a;i++,j++){ if(set[i]=='+'){tmp[j]=' ';continue;} if(set[i]!='%'){tmp[j]=set[i];continue;} if(set[++i]>='A'){buf=set[i]-'A'+10;} else{buf=set[i]-'0';} buf*=16; if(set[++i]>='A'){buf+=set[i]-'A'+10;} else{buf+=set[i]-'0';} tmp[j]=buf; } for(i=0;i<j;i++){ set[i]=tmp[i]; } set[i]='\0'; free(tmp); return 0; } int get_cookie(char *a,int b,char *nameset2[],char *valueset2[]){ int i=0,cn=0; if(a==NULL){ return(-1); } while((a[++i]!=NULL)&&(i<b)){ if(a[i]=='='){ a[i]=NULL; nameset2[0]=a+i+1; } if(a[i]=='-'){ a[i]=NULL; valueset2[cn]=a+i+1; } else if(a[i]=='&'){ a[i]=NULL; cn++; nameset2[cn]=a+i+1; } } return cn+1; } void set_cookie(char *valueset[]){ time_t timer; struct tm *tset; char expires[256]; char *name="sskchat"; int kikan=86400*90; char *set[7]; int i; for(i=0;i<7;i++){ set[i]=valueset[i]; } for(i=0;i<7;i++){ if(set[i]==NULL){ set[i]="no"; } } timer = time(NULL); timer += kikan; tset = gmtime(&timer); strftime(expires, 255, "%a, %d-%b-%Y %H:%M:%S GMT", tset); printf("Set-Cookie:%s=mode-%s&name-%s&mail-%s&hp-%s&cc-%s&gyo-%s&zkou-%s; expires=%s;\n",name,set[0],set[1],set[2],set[3],set[4],set[5],set[6],expires); } ---ソースここまで---

    • ベストアンサー
    • nanaka2222
    • CGI
    • 回答数2
  • 画像を切り替えるCGI

    ボタンで画像を切り替えるcgiって見たことありますか? Javascriptでは、リロードで画像が元のデフォルト画像に戻ってしまいます。 サイト上で、ボタンを押したら、他のボタンを押し直すまで、選択した画像が表示されるというようなものです。 on・offの二つのボタンがあった場合、どっちを押してもそれぞれに設定してある画像を、押すたびにデフォルトに表示したいのです。

    • 締切済み
    • areanet
    • CGI
    • 回答数2
  • mailformの項目は同じで送信先を都度変えたい

    メールフォームの記入項目は全て同じなのですが、送信先のみ、その都度変えたい仕組みを考えています。 例) とあるチェーン店のサイトと仮定。 各営業所の紹介ページが1Pずつあり、そのページ内に「このお店へのお問い合わせ」ボタン(※A)を設置   ↓ クリックでお問い合わせフォームのページが開く(※B)   ↓ 必要事項を記入後「送信ボタン」クリック   ↓ 該当営業所と本部の2つのアドレスに内容送信 記入者には自動返信メール送信 補足: (1)※Bを営業所数だけ作ればいけますが、スマートではないので避けたい。 (2)※B内で送信先営業所をプルダウンなどで選択させる方法は営業所の数が多い為、できれば避けたい。 (3)当方、多少の知識はあるもののプログラムを専門に行っているわけではないので、一から専用のcgiを作成するのではなく、ネット上などで配布されているcgi(有料可)を使用、もしくはそれを元にカスタマイズする方法で実現したい。 このような仕組みが可能なcgiをご存知の方、またはカスタマイズする方法のヒントなどでも教えていただけないでしょうか。 ※Aに該当営業所のメールアドレスをvalue=などで持たせて、それを反映させるという方法を考えたのですが、送信先メールアドレスには、それを反映できるようなcgiを探せずでして…(方法が悪いのかもしれませんが) なお、サイト本体はWordPressで作成していますので、WordPressのプラグインでも構いません。 (現状、フォームはWordPressと切り離して設置することを想定していますが、WordPress内に設置することで可能となるものでも構いません) 何卒、よろしくお願いします。

    • ベストアンサー
    • yaku-ima
    • CGI
    • 回答数1