¾ÆÀ̵ð ºñ¹Ð¹øÈ£ | ȸ¿ø°¡ÀÔ | ºñ¹Ð¹øÈ£ºÐ½Ç
   
¡¡»õ·Î¿î¼Ò½Ä
¡¡FAQ
¡¡À¥ÇÁ·Î±×·¥
¡¡À¥DB
¡¡À¥¼­¹ö
¡¡À¥ÇÁ·Î±×·¥¼öÁ¤
¡¡ÇØÇÇÄ®·³
¡¡°ñµåÆÁ
 
Á¦ÀÛÀÇ·Ú
À¥ÇÁ·Î±×·¥ ÆǸŸô
 
ÇöÀçÀ§Ä¡: ¸ÞÀÎ ÇØÇÇÆ÷·³ À¥ÇÁ·Î±×·¥ : °Ô½Ã¹° ÆîÃÄÀбâ
Total related article : 1  
µî·ÏÀÏ:2012-12-02
½Ã°£:00:43:57
Á¶È¸¼ö:3734
from:182.210.37.15
cgi ÄÄÆÄÀÏÀº µÇ´Âµ¥ À¥ÆäÀÌÁö¿¡¼­ ½ÇÇàÀÌ ¾ÈµÇ´Âµ¥ Ȥ½Ã ¹®Á¦ µÇ´Â°÷ ÀÖÀ¸½Ã¸é ã¾ÆÁÖ¼¼¿ä. ±Û¾´ÀÌ : justday

cgi ÄÄÆÄÀÏÀº µÇ´Âµ¥ À¥ÆäÀÌÁö¿¡¼­ ½ÇÇàÀÌ ¾ÈµÇ´Âµ¥ Ȥ½Ã ¹®Á¦ µÇ´Â°÷ ÀÖÀ¸½Ã¸é ã¾ÆÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <cgiutil.h> // CGI library Çì´õÆÄÀÏ
#include <mysql.h> // MySQL library Çì´õÆÄÀÏ

struct ent {
 // NAME°ú VALUE¸¦ À§ÇÑ ±¸Á¶Ã¼
 char name[200];
 char value[200];
};

int main() {
 struct ent a[100];
 int i=0, j, cnt=0, comp1, comp2, check;
 char *en, *en2, *en3;
 char *str;
 char idstr[11], namestr[21];
 long cl;
 MYSQL *conn;
 MYSQL_RES *res;
 MYSQL_ROW tuple;
 char query[300];
 int num_tuples, num_fields;

 // MIME header Àü´Þ ¹× header¿Í data ±¸ºÐ
 printf("Content-type:text/html\n\n");
 
 // request method¿¡ ÀÇÇÑ ±¸ºÐ
 if(!strcmp(getenv("REQUEST_METHOD"), "GET"))
  // request method¿¡ ÀÇÇÑ ±¸ºÐ : GETÀÎ °æ¿ì
  str = getenv("QUERY_STRING");

 else {
  // request method¿¡ ÀÇÇÑ ±¸ºÐ : POSTÀÎ °æ¿ì
  en = getenv("REQUEST_METHOD");
  comp1 = strcmp(en, "POST");

  if(comp1 == 0) {
   en2 = getenv("CONTENT_TYPE");
   comp2 = strcmp(en2, "application/x-www-form-urlencoded");

   if(comp2 == 0) {
    en3 = getenv("CONTENT_LENGTH");
    cl = atoi(en3);

    str = (char*) malloc(sizeof(char)*cl);
    
    if(str == NULL) {
     printf("Can't allocated memory!!!\n");
     printf("</body></html>");
     exit(1);
    }
    
    for (i=0; i<cl; i++)
     *(str+i) = getc(stdin);
    
    *(str+i)='\n';
   }
  }
 }

 // ¹®ÀÚ¿­ char *strÀ» °¡Áö°í NAME/VALUE °ªÀ» ¾ò´Â´Ù.
 for(i=0; str[0]!='\0'; i++){
  cnt++;
  getword(a[i].value, str, '&');
  // ÀÔ·Â ¹®ÀÚ¿­¿¡¼­ (NAME,VALUE) ½ÖÀ» ±¸º°
  unescape_url(a[i].value);
  // %xx´Â ÇØ´çÇϴ Ư¼ö ¹®ÀÚ·Î
  plustospace(a[i].value);
  // +´Â blank space·Î
  getword(a[i].name, a[i].value, '=');
  // name=value ½Ö¿¡¼­ value¸¸À» °ñ¶ó³½´Ù
 }
 
 
 // mysql µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÑ´Ù.
 conn = mysql_init(NULL);
 mysql_real_connect(conn, NULL, "bky89", "kookie1234", "chance", 0, NULL, 0);

 // ¸¸¾à ¿¬°á¿¡ ¿À·ù°¡ ¹ß»ýÇß´Ù¸é ¿À·ù¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ ´ÙÀ½¿¡ Á¾·áÇÑ´Ù.
 if(conn == NULL){
   printf("<body bgcolor='#000000' text='#FFFFFF'>\n");
    printf("<FONT size='+4' face='Comic Sans MS, cursive'><a href='refresh.cgi?initname=%s'>\n");
  fprintf(stderr, "%s", mysql_error(conn));
   printf("</font></body>");
  mysql_close(conn);
  exit(1);
 }

 // Query¹®À» ÀÔ·ÂÇÑ´Ù.
 sprintf(query,
  "SELECT username FROM user WHERE userid = '%s';", a[0].value);
 check = mysql_query(conn, query);

 // ÀÔ·ÂÇÑ Query¹®¿¡ ¿À·ù°¡ ¹ß»ýÇß´Ù¸é ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ ÈÄ Á¾·áÇÑ´Ù.
 if(check != 0) {
    printf("<body bgcolor='#000000' text='#FFFFFF'>\n");
    printf("<FONT size='+4' face='Comic Sans MS, cursive'><a href='refresh.cgi?initname=%s'>\n");
  printf("Select Error<br>%s", mysql_error(conn));
   printf("</font></body>");
  mysql_close(conn);
  exit(1);
 }
 
 // Query °á°ú¸¦ ÀúÀåÇÑ´Ù.
 res = mysql_store_result(conn);

 // Quert °á°ú°¡ Á¦´ë·Î ÀúÀåµÇÁö ¾Ê¾Ò´Ù¸é res¸¦ clear ½ÃÅ°°í ¿¬°áÀ» ²÷°í Á¾·áÇÑ´Ù.
 if(res == NULL) {
   printf("<body bgcolor='#000000' text='#FFFFFF'>\n");
    printf("<FONT size='+4' face='Comic Sans MS, cursive'><a href='refresh.cgi?initname=%s'>\n");
  printf("%s", mysql_error(conn));
   printf("</font></body>");
  mysql_free_result(res);
  mysql_close(conn);
  exit(1);
 }

 // ¸î °³ÀÇ tuple¸¦ ¾ò¾î¿Ô´ÂÁö °Ë»çÇÑ´Ù.
 num_tuples = mysql_num_rows(res);
 
 //º¹»ç
 strcpy(idstr, a[0].value);
 strcpy(namestr, tuple[0]);
 
  printf("<body bgcolor='#000000' text='#FFFFFF'>\n");
  printf("<form action='cgi-bin/login.cgi' method='post' target='_top'>\n");
  printf("<table width='100%' border='0'>\n");
  printf("  <tr>\n");
  printf("    <td><FONT size='+4' face='Comic Sans MS, cursive'><a href='refresh.cgi?initname=%s'>JIPSIN</a></FONT></td>\n");
  printf("    <td width='350' align='center' valign='bottom'><font size='3' face='Comic Sans MS, cursive'>\n");
  printf("Welcome <a href='refresh.cgi?initname=%s'>%s</a>!\n", idstr, namestr);
  printf("    </td>\n");
  printf("  </tr>\n");
  printf("</table>\n");
  printf("</form>\n");
  printf("</body>\n");

 //Query °á°ú¸¦ À§ÇÑ res °´Ã¼¸¦ free ½ÃÄÑÁÖ°í mysql ¼­¹ö¿Í ¿¬°áÀ» ²÷Àº ÈÄ Á¾·áÇÑ´Ù.
 mysql_free_result(res);

 //mysql ¼­¹ö¿Í ¿¬°áÀ» ²÷Àº ÈÄ Á¾·áÇÑ´Ù.
 mysql_close(conn);
}


  

 
¨Ô
Á¦¸ñ
ÀÛ¼ºÀÎ
Á¶È¸
µî·ÏÀÏ
cgi ÄÄÆÄÀÏÀº µÇ´Âµ¥ À¥ÆäÀÌÁö¿¡¼­ ½ÇÇàÀÌ ¾ÈµÇ´Âµ¥ ...
justday
3734
2012-12-02 00:43:57
 

  HOME | ȸ»ç¼Ò°³ | Á¦ÀÛÀÇ·Ú | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | CGIMALL | ÀÚ·á½Ç | »çÀÌÆ®µî·Ï | ·©Å·100 | Æ÷·³ | Ãʺ¸°¡À̵å | Áú¹®°ú´äº¯ | ¹è³Ê±¤°í
Copyright¨Ï1997~2008 HappyCGI All rights reserved
Powered By HappyCGI