|
Posted by yangsuli@gmail.com on 11/06/06 10:35
thanks and kiss all
you guys help a lot....:)
i managed it by setting up a flag : msgignoreflag
when usr click the link,the href is linked to
$_server[request]&msgignoreflag
and the php script call the function only if the flag is set :)
my code is like this
with msgignoreflag being the flag and the dec_msgnum the function i
would like to call
function print_body($nomsg = 0) {
global $cookie;
?> <body bgproperties="fixed"> <?php
// if(isset($_GET["msgignoreflag"]) {
if($_GET["msgignoreflag"]==1) {
dec_msgnum($cookie["usernum"]);
}
if( $msgnum = get_msgnum($cookie["usernum"]) && !$nomsg) {
$msg = get_msg($cookie["id"], $msgnum);
?><table width=100% bgcolor=lightyellow>
<tr>
<td valign="top" nowrap="nowrap" width=25%><font
color="green"><?php echo $msg["id"]; ?></font> (<?php
echo ctime2($msg["time"]); ?>): </td>
<td align="left" valign="top" width=50%><?php echo
stripansi($msg["msg"]); ?></td>
<td align="right" valign="top" nowrap="nowrap"
width=15%>
<a href="<?php echo BBSCGI;
?>/bbssndmsg.php?reply=1&uid=<?php echo $msg["id"]; ?>">[回讯息]</a>
</td>
<td align="right" valign="top" nowrap="nowrap"
width=10%>
<a href="<?php echo $_SERVER['REQUEST_URI'];
?>&msgignoreflag=1">[忽略]</a>
</td>
</tr></table><?php
}
}
thanks all you guys again
i appriciate your efforts to help me
kisssssssssss :)
Mateusz Markowski 写道:
> You are trying to do something very simple in a quite convoluted way.
> You want to give user a link which goes to page that they had visited
> before visiting other page. Try this:
>
> //page that client visited before
> $page = $_SERVER['HTTP_REFERER']; //let's assume that it's:
> http://localhost/outpage.php
>
> //we want user to go on this page and to add a flag which cause PHP to
> call function
> $newurl = $page . '?call=ourfunction';// result is:
> http://localhost/outpage.php?call=outfunction
>
> //we send a link
> echo '<a href="'.$newurl.'">click here</a>';
>
> Is this what you want to do?
>
>
> yangsuli@gmail.com napisał(a):
> > so i missed {}
> > is that the problem?
> >
> > the browser will recognize it as a javascript and display it only by
> > the script tag.......
> > you donot think i shoud put the script tag?
> >
> > errrrr
> > why the header() didnot work either?
>
> Header in your example doesn't work becuase before callling it you have
> already sent some data to client. But header must be called before any
> data's been sent to client's browser.
>
> > Mateusz Markowski wrote:
> > > You should write:
> > > echo "window.location.href={$_SERVER['PHP_SELF']}";
> > >
> > > But it won't work in your browser. Why do you want to put script tags
> > > as action?
> > >
> > > yangsuli@gmail.com napisał(a):
> > > > the code is like this
> > > > <form action="<?php dec_msgnum($cookie["usernum"]); echo "<script>";
> > > > echo "window.location.href=$_SERVER['PHP_SELF']"; echo '</script>';?>">
> > > > <input type="submit" value="忽略" /></form>
> > > >
> > > > i also tried
> > > > <form action="<?php dec_msgnum($cookie["usernum"]);
> > > > header(default:$_SERVER['PHP_SELF'];';?>"> <input type="submit"
> > > > value="忽略" /></form>
> > > >
> > > > it didnot work either :(
> > > >
> > > > but this works perfectly well
> > > > <form action="<?php dec_msgnum($cookie["usernum"]); ';?>"> <input
> > > > type="submit" value="忽略" /></form>
> > > >
> > > > do you think it is caused by some arguements missing?( may be it shoule
> > > > be $_SERVER['REQUEST_URI'] or $_SERVER['PHP_SELF']?xxxx=xxxxxx or
> > > > something)
> > > > Mateusz Markowski 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.
Navigation:
[Reply to this message]
|