cgi проблем

Код:
Сървърът срещна вътрешна грешка и беше неспособен да извърши вашето искане. Или сървърът е претоварен или имате грешка в CGI скрипта .

PHP или PERL е това?
С windows си нали?
Явно има някаква грешка ама не показва каква.
Дай кода.
 
index.html
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form action="http://87.118.176.69/form/cgi-bin/script.cgi" method="post">
Име: <input type="text" name="ime">  <br>
Фамилия: <input type="text" name="familia">  <br>
Град: <input="text" name="grad">  <br>
E-mail: <input="text" name="mail">  <br>
<input type="radio" name="pol" value="male">Мъж
<input type="radio" name="pol" value="female">Жена <br>
<input type="submit" value="Потвърди">
</form>
</body>
</html>

данеби да съм неправилно разбрал, нали в script.cgi нетрябва да се пише нищо, НАЛИ? :? :roll: :oops:
 
fena1 каза:
index.html
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form action="http://87.118.176.69/form/cgi-bin/script.cgi" method="post">
Име: <input type="text" name="ime">  <br>
Фамилия: <input type="text" name="familia">  <br>
Град: <input="text" name="grad">  <br>
E-mail: <input="text" name="mail">  <br>
<input type="radio" name="pol" value="male">Мъж
<input type="radio" name="pol" value="female">Жена <br>
<input type="submit" value="Потвърди">
</form>
</body>
</html>

данеби да съм неправилно разбрал, нали в script.cgi нетрябва да се пише нищо, НАЛИ? :? :roll: :oops:

Дал си само кода на HTML .
CGI скрипта трябва да има код (PHP,PERL и тн.) който да
обработи данните изпратени от HTML формуляра.
 
моля да не ми се смеете...много, начинаещ съм в перл

и как ли трябва да е кода :roll:
 
fena1 каза:
еми на каквото е нужно и по-лесно за писане ...нз няма значение за мен

Сега имам работа.
Утре ще ти го напиша на няколко езика. :wink:
А може някой друг ако има време да помогне,
 
admin каза:
fena1 каза:
еми на каквото е нужно и по-лесно за писане ...нз няма значение за мен

Сега имам работа.
Утре ще ти го напиша на няколко езика. :wink:
А може някой друг ако има време да помогне,

добре, 10х :?:
 
fena1 каза:
еми нали трябва да се записват някаде изпратените от формуляра данни

Да.
Във файл, който може да преглеждаш.
На PHP ще е. :wink:
 
Ето какво трябва да направиш постъпково:

Създаваш в някаква отделна папка (ама не cgi-bin) два файла:
Единият се казва form.html и има следния код:
Код:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 
<form action="form.php" method="post"> 
Име: <input type="text" name="ime" value="">  <br> 
Фамилия: <input type="text" name="familia" value="">  <br> 
Град: <input type="text" name="grad" value=""> <br> 
E-mail: <input tipe="text" name="mail" value="">  <br> 
<input type="radio" name="pol" value="male">Мъж 
<input type="radio" name="pol" value="female">Жена <br> 
<input type="submit" value="Потвърди"> 
</form> 
</body> 
</html>

Другия файл се казва form.php :
Код:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 
<?php
$ime=$HTTP_POST_VARS['ime'];
$familia=$HTTP_POST_VARS['familia'];
$grad=$HTTP_POST_VARS['grad'];
$mail=$HTTP_POST_VARS['mail'];
$pool=$HTTP_POST_VARS['pol'];

function filled_out($form_vars)
{

  foreach ($form_vars as $key => $value)
  {
     if (!isset($key) || ($value == '')) 
        return false;
  } 
  return true;
}

function valid_email($address)
{
  if (ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address))
    return true;
    else 
    return false;
}

if(!filled_out($HTTP_POST_VARS))
{
echo " <b><center> <font color=#ff0000> НЕ сте попълнили всички полета. ";
exit;
}
if (!valid_email($mail))
{
echo"<b><center><font color=#ff0000>Въвели сте невалиден eMail.";
exit;
}





if (!file_exists("db.html"))
{
$table=
'
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head>
<body>
<table border="1">
       <tr>
        <td>Име</td>
        <td>Фамилия</td>
        <td>Град</td>
        <td>email</td>
        <td>Пол</td>
      </tr>
       <tr>
        <td>'.$ime.'</td>
        <td>'.$familia.'</td>
        <td>'.$grad.'</td>
        <td>'.$mail.'</td>
        <td>'.$pool.'</td>
       <tr>
';
}
else
{
$table=
'
       <tr>
        <td>'.$ime.'</td>
        <td>'.$familia.'</td>
        <td>'.$grad.'</td>
        <td>'.$mail.'</td>
        <td>'.$pool.'</td>
       <tr>
';
}

        $fp = fopen ("db.html" ,"a");
          fwrite($fp, $table );
          fclose($fp);

echo "Вашите данни са записани!";
?>

Стартираш файла form.html през интернет и попълваш формуляра:
Ако го попълниш коректно ще ти изпише
"Вашите данни са записани".

В същата тази папка ще се появи файла db.html където ще може да
преглеждаш какво е попълвано от потребителите.

Всичко е тествано.
Ето ти и демо :
http://admin.web-tourist.net/formtest/form.html

Ако нещо не става или не ти е ясно пиши тук.
 

Горе