Solved

FORM/file-update/new HTML

Posted on 1998-11-29
3
200 Views
Last Modified: 2013-12-25
I need to update links on a web page.
I made a CGI using perl to read a test file (with descriptions and URLs) and "plant" the HTMLed links to an already-existing web-page.

now- I made a form which receives a description and a URL - the goal is to append the new data to the text file (which holds all my links) and then activate the converting  utility (which plants the data in the web-page).

my form on the web page looks like this:
---start---
<form action="http://vortex.technion.ac.il/shlomo/cgi-bin/addlink.cgi"
method=POST>
<B><U>Add a new Link:</U></B><BR>
Description: <input type=text name="description">
URL: <input type=text name="URL">
<input type=submit value="Submit this data">
</form>
----end----

and the CGI listing is:
---start---
#!/usr/bin/perl
# nameage.cgi
require 'cgi-lib.pl'

&ReadParse(*input);
$des=$input{'description'};
$url=$input{'URL'};

   print "Content-Type: text/html\r\n\r\n";
   print "<HTML><HEAD><TITLE>Error</TITLE></HEAD>\n";
   print "<BODY BACKGROUND=\"http://vortex.technion.ac.il/~shlomo/bg_marble_gre$
   print "<body>\n";
   print "URL: <B><I>$url</I></B> linked!\n";
   print "\n";
   print "<BR> <BR>\n";
   print "<CENTER><A HREF=\"http://vortex.technion.ac.il/~shlomo/home.html\">BA$
   print "<BR><BR>\n";
   print "</body> </html>\n";
open( TEXTfile,">> ~/public_html/home")||die "$!\n";
print TEXTfile "$des\n";
print TEXTfile "$url\n";
close(TEXTfile);
exec '~/makeHTMl.pl ~/public_html/home';
----end----

now:
(*)home (which resides at ~/public_html)
   is the test file with the links
(*)addlink.cgi - is the cgi

----------->
for some strange reason I get the "result" HTML on screen after submitting the data- - but I get no change in the 'home' data file and therefore no change in the web-page after executing the links->html perl utility.

What am I missing here?
0
Comment
Question by:shlomoy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 3

Accepted Solution

by:
arnond earned 100 total points
ID: 1829820
Hi,
use the 'system' function instead of the 'exec'.

Bye..... :-)
Arnon David (make sure it's an A)
0
 
LVL 84

Expert Comment

by:ozo
ID: 1829821
Try expanding the '~'s, and checking whether die "$!" said anything
0
 
LVL 8

Author Comment

by:shlomoy
ID: 1829822
Want points, arnond? BEG!
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial will discuss fancy secure registration forms, with AJAX technology support. In this article I assume you already know HTML and some JS. I will write the code using WhizBase Server Pages, so you need to know some basics in WBSP (you mig…
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question