• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[Databases] group to discuss various database issues and drivers

afsanehsamim
11-Nov-2012
[262x2]
my form should get value from <input name="oneone" type="text">....
in values(?) i should put what???? as i said it should get value 
from <input ...> !!!!!!
Pekr
11-Nov-2012
[264x4]
nothing
insert db ["insert into data1 values(?)" value-here]
insert db-port [{
    INSERT INTO table1 (First, LastName, Title, Phone)
            values (?, ?, ?, ?)
    } fname lname title phone
]
you see? The use four ? ? ? ?, and after the string { }, there are 
four values fname lname title phone
afsanehsamim
11-Nov-2012
[268x3]
i completely underestand !!!! but  fname,lname,title,phone are string 
and before query ,they are defiend as : fname: "Johnny"
lname: "Johnson"
title: "President"
phone: "(707) 555-1212"
i have <input ....>,how should i define it as string????
i should write like  fname:<input name="oneone" type="text" size="1">????
Pekr
11-Nov-2012
[271]
what do you want exactly to be put into the database field?
afsanehsamim
11-Nov-2012
[272x4]
character
when i write like this :print [<form><input type="submit" value=" 
submit !" />]
print [<TABLE  bgcolor="black" border="1">]
print {<tr bgcolor="white">

<td style="width:30px; height:30px;"><input name="oneone" type="text" 
size="1">}
insert db ["insert into data1(oneone) values(c)"]
results: copy db
print {</td>}
it saves c to database
but it will not save user input
Pekr
11-Nov-2012
[276x3]
yes, you have basically two options:


1) work with string - insert db {insert into data1 ....} - you simply 
construct the DB string directly


2) work with block - insert db ["initial string here, contatining 
values(?)" value] - which allows to work with rebol blocks and evaluate 
some things ...
so in your case it should be:

insert db ["insert into data1(oneone) values(?)" "c"]
or something like:

value: "c"
insert db ["insert into data1(oneone) values(c)" value]
afsanehsamim
11-Nov-2012
[279x3]
but value should not be as constant ! when user put character it 
should save in values ,now plz tell me how should i write ? i should 
write like : value:"c"
ishould write like : value :<input ...> ?
@Peker : i am using option one ,but i does not save any value ...
Pekr
11-Nov-2012
[282]
you want to save value from the form into the db?
afsanehsamim
11-Nov-2012
[283x3]
yes
i  want to save value from the form into the database!
any solution?
Pekr
11-Nov-2012
[286x3]
I think, that your script is wrongly constructed! What you seem to 
do is to just print a form, which then gets delivered to user's browser 
screen. But at that time, there is no value yet. You should study, 
how to do CGI in REBOL. You need a separate html form, then you need 
to read CGI values and store them in a DB ...
plese study following link - on the right side, there is a link, 
of how to process forms using REBOL: http://www.rebol.com/docs/cgi1.html
this is how you should do it - http://www.rebol.com/docs/cgi2.html
afsanehsamim
11-Nov-2012
[289]
but in those links ,i can not find database example! i read that 
link before ,i created html form and cgi as well, it is working properly 
... the point is when user enter input and click submit it goes to 
cgi page. i need save that input in database ...plz guid me or show 
me one example how can i save value from the form into db?
Pekr
11-Nov-2012
[290x4]
please use:

values: decode-cgi read-cgi

then you will get block of values IIRC
then you pick a value and save it ...
>> blk: decode-cgi "var1=Petr"
== [var1: "Petr"]
>> type? blk
== block!
>> object: construct blk
>> object
>> object/var1
== "Petr"
so use:

values: decode-cgi read-cgi
result: construct values

insert db ["insert into data1(oneone) values(?)" result/oneone]
afsanehsamim
11-Nov-2012
[294]
how can i write <input ...> in block?
Pekr
11-Nov-2012
[295x4]
uh, my question is, if you ever worked with CGI?
examples on the above page are pretty straightforward?
there are two things - 1) you have to write a form, basically a html 
file, with fields, etc., and submit button, linking it to your cgi 
script 2) you have to write a CGI script, being able to read submitted 
values ...
I might dig-up some simple example later ...
afsanehsamim
11-Nov-2012
[299x4]
i am using the first one ... can i use codes which you mensioned 
in above ?  values: decode-cgi read-cgi
result: construct values

insert db ["insert into data1(oneone) values(?)" result/oneone]
i wrote whatever you said but i got this error :
>> do %compare.cgi
Script: "Untitled" (none)
Script: "MySQL Protocol" (12-Jul-2008)
MySQL protocol loaded
connecting to: localhost
** Script Error: Invalid path value: oneone
** Where: map-rebol-values
** Near: result/oneone
>>
Any one knows how can we save value from the form into database?
Arnold
11-Nov-2012
[303]
You first check that the value is acceptable for what can be expected. 
This is to prevent SQL injections and other malicious input from 
hackers/innocent users and monkeys using your application. Than you 
insert a SQL command to insert or update  the mysql database just 
like you did when you did with your select statement before.

 mijnquery: "INSERT INTO cms_artikel (titel, tagregel, sectie, toegevoegd, 
 artikel_tekst) VALUES ('"

 mijnquery: append mijnquery rejoin [titel "', '" tagregel "', '" 
 desectie "', '" toegevoegd "', '" artikel-tekst "')"]
 insert db mijnquery

 The names after INTO are the fieldnames of the table cms_artikel 
 the ones after VALUES are the REBOL variables that get replaced by 
 their values
afsanehsamim
11-Nov-2012
[304x3]
it means i should write like:        query: "INSERT INTO data1 (oneone,onetwo,onethree) 
VALUES ('"

                                                          query: append insert db rejoin [oneone "', '" onetwo "', '" onethree 
                                                          )"]

                                                           insert db query
i am very thankful if you do based on my codes ...
i am too confiused ...
Arnold
11-Nov-2012
[307x2]
Yes. Do a probe of the query to see if it generates the sql you expected.
I am not doing your code for you. If you want to find someone to 
do it for you post your job in the ~Opportunity section.
afsanehsamim
11-Nov-2012
[309]
i did not say do my code Arnold !!! i wanted only help ... because 
till now whatever guys said  here was not related to form ! my problem 
is only saving value  from form in database ...
MaxV
11-Nov-2012
[310]
Look here:
http://rebol2.blogspot.it/2012/04/how-to-use-rebdb.html
http://www.rebol.net/cookbook/recipes/0012.html
http://rebol2.blogspot.it/2012/01/adress-book.html
http://rebol2.blogspot.it/2011/12/sqlite.html
Ladislav
11-Nov-2012
[311]
Any one knows how can we save value from the form into database?
 - sure, Pekr told you how to do it.


Your problem is that you do not do what Pekr told you to do. First, 
you need to create the form. Check: Do you really have the form?

Second, you need to create a CGI script (this is not the form from 
the first point, the form from the first point is not a CGI script). 
Check: do you really have a CGI script ?


Pekr told you that the example you posted was neither the form, nor 
the CGI script.