½ÃÀÛÆäÀÌÁö·Î Áñ°Üã±âÃß°¡
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ l Ã⼮üũ l ¸¶ÀÌÆäÀÌÁö l CGIMALL
ÀÚ·á½Ç »çÀÌÆ®µî·Ï ·©Å·100 ÇÁ·Î±×·¥¸®ºä °ü¸®ÀÚÃßõÀÚ·á Ãʺ¸°¡À̵å
Ä¿¹Â´ÏƼ
Àüü ÆîÃ帱â
Äü¸Þ´º¸µÅ© jquery , CSS , PHP , Javascript , ¹«·áÆùÆ® , ASP
»ó¼¼°Ë»ö
Ȩ > Ä¿¹Â´ÏƼ > Áú¹®°ú´äº¯ »ó¼¼º¸±â
Ä¿¹Â´ÏƼ ±¸Àα¸Á÷
»çÀÌÆ®µî·Ï
Ŭ¶ó¿ìµåű×
javascript
PHP
html
asp
mysql
css
Mobile
jquery
image
slide
�޴�
������Ʈ
¸Þ´º
ÇöÀçÁ¢¼ÓÀÚ ¸í »õ·Î°íħ
°Ô½ÃÆÇŸÀÌƲ Áú¹®°ú´äº¯ / »ó¼¼º¸±â
Æ®À§ÅÍ·Î º¸³»±â
Ãßõ¼ö 354 | Á¶È¸¼ö 3,141 | µî·ÏÀÏ 2012-12-02 00:43:57

´Ð³×ÀÓ

justday

À̸ÞÀÏ

chdr@naver.com

Á¦¸ñ

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

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);
}

÷ºÎ ÆÄÀϸñ·Ï
ÆÄÀÏ¸í ¿ë·® ´Ù¿î¼ö µî·Ï½Ã°£
program-7351-top.c 4.1 KB 35 ȸ 2012-12-02 00:43:57
Ãßõ½ºÅ©·¦¼Ò½ºº¸±â ¸ñ·Ï
ÄÚµùÀïÀÌ 2012-12-04 09:44:44
´ä±Û

C¾ð¾î ¼Ò½ºÀΰÍÀ¸·Î º¸ÀÔ´Ï´Ù¸¸,
À¥ÆäÀÌÁö¿¡¼­ ½ÇÇà¾ÈµÈ´Ù´Â ¸»¾¸Àº Àú ¼Ò½ºÄڵ带 À¥¼­¹ö¿¡¼­ µ¿ÀÛ½ÃÄ×À»¶§ ½ÇÇàÀÌ ¾ÈµÈ´Ù´Â ¸»¾¸À̽Ű¡¿ä? ±¸Ã¼ÀûÀÎ »óȲ¼³¸í ºÎŹµå¸®°Ú½À´Ï´Ù.

ÀÌÀü°Ô½Ã±Û html¿¡¼± aspÆÄÀÏ º¼ ¼ö ¾ø³ª¿ä?? 2012-11-29 17:35:32
´ÙÀ½°Ô½Ã±Û pop3 ¹æ¹ý¿¡ ÀÇÇÑ Æû¸ÞÀϱ¸Ãà 2012-12-03 10:25:04