AltME: Databases

Messages

afsanehsamim
how can i write <input ...> in block?
Pekr
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
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]
afsanehsamim
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
>>
afsanehsamim
Any one knows how can we save value from the form into database?
Arnold
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
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
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
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
Ladislav
"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.
One more note: your problem is much more elementary than handling the database. Before writing data to the database you need to have a script accepting (decoding) the data obtained from the form.

Pekr
Ladislav - thank you. It is apparent, that what afsanehsamim is missing is the basic knowledge of how webserver stuff works between the client and the server. Examples at rebol.com are pretty straightforward. The only chance is to really create a simple example for him ...
Pekr
Create 2 files. Call the first one e.g. cgi-test.html, and upload it to your server. The only thing you have to change is the link to your .cgi script in there:
<HTML>
<TITLE>Simple Web Form</TITLE>
<BODY>
<b>Simple Web Form</b><p>
<FORM ACTION="http://www.xidys.com/cgi-bin/cgi-test.cgi">
<INPUT TYPE="TEXT" NAME="Field" SIZE="25"><BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>
Create a second file, called cgi-test.cgi (it has to align to how you name it in the above source file). Upload it to your cgi working directory. Remember to change the first line to contain the path, where your REBOL executable is placed:
#!/usr/local/bin/rebcmd -sqc
REBOL []
print join "Content-type: text/plain" newline
start: now/time/precise
submitted: decode-cgi read-cgi
values: construct submitted
prin "Submitted: " print mold submitted
prin "values: " print mold values
prin "values/field: " print mold values/field
print now/time/precise - start
print newline

Now go to your URL, and try to submit some values. You can test it on my site at: http://www.xidys.com/cgi-test.html

Last message posted 348 weeks ago.