Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Perl

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 26.05.2002, 23:57
Gandalf вне форума Посмотреть профиль Отправить личное сообщение для Gandalf Найти все сообщения от Gandalf
  № 1  
Gandalf

Регистрация: Jul 2000
Адрес: Kitchener/Canada
Сообщений: 114
Отправить сообщение для Gandalf с помощью ICQ
По умолчанию perl and Microsoft Access DB writing

Всем привет , сначала приведу код :
Код:
use CGI ':standard';
use CGI qw(:cgi-lib);
use Win32::OLE;
use Win32::OLE::Const 'Microsoft ActiveX Data Objects';
print "Content-type: text/html\n\n";
my $q = new CGI;
	$action=$q->param('action');
	$model=$q->param('model');
	$table=$q->param('table');

	$wmodel=$q->param('wmodel');
	$wtype=$q->param('wtype');
	$wbrand=$q->param('wbrand');
	$wfeatures=$q->param('wfeatures');
	$wdescr=$q->param('wdescr');
	$wbtu=$q->param('wbtu');
	$wprice=$q->param('wprice');
	$wfilled=$q->param('wfilled');

	$wfeatures=~s/\n/<br>/gi;
	$wdescr=~s/\n/<br>/gi;

	if($model eq ''){$model='L308';}
	if($table eq ''){$table='bbq';}

$database = "disk:/path/to/my/dbfile.mdb";
$Conn = Win32::OLE->new("ADODB.Connection");
$RS   = Win32::OLE->new("ADODB.Recordset");
$DSN = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};
        DBQ=$database;UID=;PWD=;";
$Conn->Open($DSN);

if ($action eq 'write'){&write;exit 0;}

&read;

#............. here all reading things , works fine


#............. end of reading .......
sub write{
if ($wfilled == 1){
chomp $wmodel, $wtype, $wbrand, $wdescr, $wfeatures, $wbtu, $wprice;
	$RS->Open($table, $Conn, adLockOptimistic, adOpenDynamic);
		my $fields = [qw(model type brand descr features btu price)];
		my $values = [$wmodel, $wtype, $wbrand, $wdescr, $wfeatures, $wbtu, $wprice];
		$RS->AddNew ($fields, $values);
	$RS->Close;

print "$wmodel<br>$wtype<br>$wbrand<br>$wdescr<br>$wfeatures<br>$wbtu<br>$wprice<br>";

}else{

print qq~
<html>
<head>
<link href=../styles.css rel=stylesheet type=text/css>
</head>
<body>
<center>
  <form method="post" name="submiting" action="1.pl"  enctype="multipart/form-data">
    <table width="75%" border="0" cellpadding="0" cellspacing="0">
      <tr> 
        <td>model</td>
        <td> 
          <input type="text" name="wmodel" value="newmodel">
        </td>
      </tr>
      <tr> 
        <td>type</td>
        <td> 
          <input type="text" name="wtype" value="newtype">
        </td>
      </tr>
      <tr> 
        <td>brand</td>
        <td> 
          <input type="text" name="wbrand" value="newbrand">
        </td>
      </tr>
      <tr> 
        <td>descr</td>
        <td> 
          <textarea name="wdescr" cols="30" rows="10"></textarea>
        </td>
      </tr>
      <tr> 
        <td height="75">features</td>
        <td height="75"> 
          <textarea name="wfeatures" cols="30" rows="10"></textarea>
        </td>
      </tr>
      <tr> 
        <td>btu</td>
        <td> 
          <input type="text" name="wbtu" value="newbtu">
        </td>
      </tr>
      <tr> 
        <td>price</td>
        <td> 
          <input type="text" name="wprice" value="new pr">
        </td>
      </tr>
      <tr> 
        <td> 
          <input type="hidden" name="wfilled" value="1">
          <input type="hidden" name="action" value="write">
        </td>
        <td> 
          <input type="submit">
          <input type="reset">
        </td>
      </tr>
    </table>
  </form>
</center>
</body>
</html>
~;
}
}
$Conn->Close;
а теперь вопрос ,
этот код как то странно работает , а именно , если я его вызываю из cmd то всё нормально срабатывает
если пишу в браузере cgi-bin/1.pl?action=write&wfilled=1&myfields=myvalues
то значения записываються , но если я отпровляю это всё через форму (см.выше) то ничего не происходит , переменные скрипт принимает но в DB не пишет !
пробывал писать форму с разными
->method="post" или без него
->action="1.pl" или без него
->enctype="multipart/form-data" ил без него или "text/plain"
ниодна не работает , почему ?????????????

Старый 27.05.2002, 00:07
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 2  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
enctype="multipart/form-data"

Зачем?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 27.05.2002, 00:21
Gandalf вне форума Посмотреть профиль Отправить личное сообщение для Gandalf Найти все сообщения от Gandalf
  № 3  
Gandalf

Регистрация: Jul 2000
Адрес: Kitchener/Canada
Сообщений: 114
Отправить сообщение для Gandalf с помощью ICQ
понимаешь , когда в одном месте не работает , а в другом работает и я не понимаю почему та к, я начинаю пробывать разные способы , enctype="multipart/form-data" был один из них

Старый 02.06.2002, 14:35
Gandalf вне форума Посмотреть профиль Отправить личное сообщение для Gandalf Найти все сообщения от Gandalf
  № 4  
Gandalf

Регистрация: Jul 2000
Адрес: Kitchener/Canada
Сообщений: 114
Отправить сообщение для Gandalf с помощью ICQ
По умолчанию дурак я .... :(

проблема решена одно поле было number а я в него текст пробывал впихнуть

Создать новую тему   Часовой пояс GMT +4, время: 02:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.