|
Posted by no on 11/04/06 11:29
[Taking a step back]
I think it'd help if the OP says why they want to do all this. If I
ever have trouble doing something I usually find that I am trying to
fit a square peg in a round hole and I need to approach the problem in
a different way.
But, given what we know, it looks like the OP needs one HTML page with
some PHP at the top. Like:
HTML headers
<?php
if (isset($_REQUEST['dofunction'])) {
function();
}
?>
rest of the HTML page including:
<a href="<?php echo $_SERVER['PHP_SELF'].'?dofunction'; ?>">click
here</a>
On 4 Nov 2006 02:45:15 -0800, "Mateusz Markowski"
<mateusz@bsdmail.org> wrote:
>Paste the code that you think may give parse error.
>
>yangsuli@gmail.com napisal(a):
>> but why the second way didnot work out.......
>> i donot get where did the parse error come from :(
>> 55555555555
>>
>> Mateusz Markowski wrote:
>> > Yes, I think so.
>> >
>> > yangsuli@gmail.com napisal(a):
>> > > the problem is that i donnot want some script.php
>> > > i want to redirect the users back on the page they were just on,with
>> > > calling a function in advance :)
>> > > you think the flag thing is the best way to do it?
>> > >
>> > > Mateusz Markowski wrote:
>> > > > yangsuli@gmail.com napisal(a):
>> > > > > i want to creat a link
>> > > > > when somebody click the link
>> > > > > the php script calls a function,then display itself :)
>> > > > >
>> > > > > i have tried
>> > > > > <a href=<? funtion(); echo=$_server['php_self'] ?>text</a>
>> > > > > but it will call the function whether i click the link
>> > > > >
>> > > > >
>> > > > > then i tried this (using forms)
>> > > > > <form action="<?php function(); echo "<script>"; echo
>> > > > > "window.location.href=$_SERVER['PHP_SELF']"; echo '</script>';?>">
>> > > > > <input type="submit" value="text" /></form>
>> > > > > but it didnot work either.
>> > > > > my browser said there were parse errors,T_STRING expected or
>> > > > > something....:(
>> > > > >
>> > > > >
>> > > > > now i am thinking using a flag,say,$functioncall,
>> > > > > href=$_server[request_url]&functioncall=1
>> > > > > then if functioncall==1,call that function
>> > > > > but is it right?
>> > > > > is there some way simple to do that?
>> > > > >
>> > > >
>> > > > PHP works on a server, not in your browser, so it can't just call
>> > > > function when you click a link. You have to send a request to the
>> > > > server which will cause your script to call this function. Your last
>> > > > example is good way to do it. So you have such link:
>> > > > script.php?call=helloworld
>> > > >
>> > > > and in your file script.php such code:
>> > > >
>> > > > if ($_GET['call'] == 'helloworld') {
>> > > > echo 'Hello world!';
>> > > > }
>> > > >
>> > > > Then after clicking the link your browser sends a request, PHP decides
>> > > > what to do, then server sends you a appropriate response.
[Back to original message]
|