mam takovejhle skripticek, trosicku jsem ho zjednodusil
<?
Header("Pragma: no-cache");
Header("Cache-control: no-cache");
$re="";
if($send_alert){
if(mail("+420607....@sms.eurotel.cz","webcam","nekdo se diva"))
$re="sms byla odesláná";
else
$re="sms nebyla odeslána";
}
?>
.....<form action.... method...>
<input type="submit" name="send_alert" value.....>
</form>
<?echo $re; ?>
a mam s nim takovejhle problem, kdyz tlacitko zmacknu, tak se mi odesle sms jako email a vytiskne se mi hlaska a kdyz dam po probehnuti skriptu reloud,refresh, na prohlizeci, tak mi ten kript probehne znova, i kdyz tam mam podminku, ze muze probehnout jen, kdyz existuje promenna $send_sms, kterou jsem ale nezmacknul, jak tomu mam zamezit? potykam se s tim u vseho :o(, kouknout se muzete na http://fridrich.wz.cz/temp/webcam.cz dekuji, jiri
Mno tag bud omez na 1 SMS za hodinu z 1 IP, nebo do PC uloz cookie, ze byla SMS odeslana, nebo z tyhle stranky presmeruj pres header hned na jinou stranku, podle toho, jestli se to povedlo, nebo ne, priklad:
<?
Header("Pragma: no-cache");
Header("Cache-control: no-cache");
$re="";
if($send_alert){
if(mail("+420607....@sms.eurotel.cz","webcam","nekdo se diva"))
Header("Location: success.htm");
else
Header("Location: error.htm");
}
?>
.....<form action.... method...>
<input type="submit" name="send_alert" value.....>
</form>
Pokud chcěš odstranit problém s reloadem. Musíš oddělit odesílací skript od toho ostatního.
To nepomuze, gdyz uzivatel nebude z odesilaciho skriptu presmerovanej jinam...
stejnej problem, tohle je cely muj skript:
<table.....
<td>
<?
$time_limit=10;
if($send_sms && $text_sms){
mysql_connect();
mysql_select_db("WVSMS");
$text_final=HtmlSpecialChars($text_sms);
$sql_add="INSERT INTO WVSMS VALUES (null, '$text_final', now())";
$res_add=mysql_query($sql_add);
$sql_tisk="SELECT * FROM WVSMS WHERE datum >= NOW() - INTERVAL $time_limit MINUTE ORDER BY datum DESC";
$res_tisk=mysql_query($sql_tisk);
if($res_tisk){
while ($radek=mysql_fetch_array($res_tisk)){
echo " ".$radek["text_sms"]."<br>";
}
}
}
else {
mysql_connect();
mysql_select_db("WVSMS");
$sql_tisk_refresh="SELECT * FROM WVSMS WHERE datum >= NOW() - INTERVAL $time_limit MINUTE ORDER BY datum DESC";
$res_tisk_refresh=mysql_query($sql_tisk_refresh);
while ($radek_refresh=mysql_fetch_array($res_tisk_refresh)){
echo " ".$radek_refresh["text_sms"]."<br>";
}
}
?>
</div>
</td>
<td> </td>
</tr>
po odeslani se mi ten samej soubor s timhle skriptem nacete a vypise to, co jsem ulozil do databaze, jak dam ale reload, tak se me to zepta, zda chci opakovat odeslani formulare, dam ano a data se znova zapisou :o( vite nekdo, jak to vyresit? dekuji
To sami, ten text ze byly data uspesne zapsany dej na jinou stranku a potom na ni jednoduse presmeruj, jag sem napsal....
jenze to takhle asi udelat nejde, kouknete se na to, je to na http://www.fridrich.wz.cz/temp/webcam.php, ja to tam prece nemuzu posilat na jinou stranku? nebo snad ano? diky
Muzes to poslat na jinou stranku a z ty straky se presmerovat zpatky, poslat to treba na "submit.php" a tam dat jednoduse header("Location: http://www.fridrich.wz.cz/temp/webcam.php");
jo, tvari se to, ze to funguje :o) diky moc
takhle se to ma treba udelany i www.xchat.cz???
jeste bych se chtel zeptat na fci
header("Location: http://www.fridrich.wz.cz/temp/webcam.php");
je schopna nest nejakou promenou na webcam.php? ja myslim, ze ano, jen to nemuzu dat dohromady a nemuzu to nikde najit :o(
je tam nejaky otaznik, jestli si dobre pamatuju....diky
Jasne, ze je:
header("Location: http://www.fridrich.wz.cz/temp/webcam.php?promenna=hodnota&promenna2=hodnota2");
Akorat bych este pred tim prohnal hodnoty pres funkci URLEncode(); v praxi by to mohlo vypadat takhle:
Header("Location: http://www.fridrich.wz.cz/temp/webcam.php?promenna="+URLEncode($promenna)+"&promenna2="+URLEncode($promenna2));
hmm, diky moc, jsi dobra, jestli jsem to teda pochopil a jsi zena
si te vyzkousim :o)
jestli pak vis, jak osalim tenhle problem, zapasim s klavesou enter, kdyz udelam nejaky odesilaci formular a misto kliknuti na odeslat zmacknu jen ENTER, tak skript jakoby probehne, ale nic se nezmeni, nic se mi treba nezapise od databaze, zatimco v opere, kterou pouzivam ja, je vse v poradku, po zmacknuti enter probehne vse, jak jsem si predstavil, vis, jak na to? diky
stydim se, napsala jsi to moc pekne, ale ja to posledni nedal dohromady, mam 2 promenne, co musim poslat pomoci header(), je to
<?
$re_sms="";
$check="";
if($checkbox && $text_sms && $send_sms){
if(mail("+420607...@sms.eurotel.cz","webcam","$text_sms")){
$re_sms="(sms byla odesláná)";
$check="CHECKED";
}
else
$re_sms="(!! sms nebyla odesláná !!)";
}
$time_limit=10;
if($send_sms && $text_sms){
mysql_connect();
mysql_select_db("WVSMS");
$text_final=HtmlSpecialChars($text_sms);
$sql_add="INSERT INTO WVSMS VALUES (null, '$text_final', now())";
$res_add=mysql_query($sql_add);
header("Location:http://147.230.152.215/temp/webcam.php?...$check a $re_sms...
exit;
}
?>
nejak to nemuzu dat dohromady :o(
Hehe, ja nejsem zena, ja sem jenom Webmaster, http://torrera.webzdarma.cz sou stranky kamosky a ja ji je delam :-)
Jinak:
header("Location:http://147.230.152.215/temp/webcam.php?check=".URLEncode($check)."&re_sms=".URLEncode($re_sms));
a na ten enter se este mrknu, pamet uz mi neslouzi....
S tim formularem - zkus JS:
<script LANGUAGE=JavaScript FOR=document EVENT=onkeyup>
if (window.event.keyCode==13) { document.forms[0].submit()}
</SCRIPT>
super, diky, kdyz pouziju to od tebe, tedy:
header("Location:http://147.230.152.215/temp/webcam.php?check=".URLEncode($check )."&re_sms=".URLEncode($re_sms));
tak mi jako url po odeslani naskoci tohle:
http://147.230.152.215/temp/webcam.php?check=checked&re_sms=odesl%E1n%E1
coz by melo byt v poradku, ale co mi nejde, vitisknout ty promene, co mi prinesla fce headr, mam v tom zdrojaku tohle, ale to mi nefunguje :o(:
<input type="checkbox" name="checkbox" <? echo $check; ?>> poslat jako SMS <? echo $re_sms; ?>
jak mam tedy spravne pouzit ty promenne? diky
Ehm, vic, cim to bude, nedefinujes si ty promenny predtim jinde znova?
jojo, mel naprostou pravdu, ten skript je na me uz asi moc dlouhej a prehledl jsem to, diky
zkousel jsem ten ENTER a moc mi to neslo, to jsou kurva problemy!
napsal jsem tam to od tebe, ale to neslo, moc se v JS nevyznam, zkusil jsem udelat tohle:
<script LANGUAGE=JavaScript FOR=document EVENT=onkeyup>
if (window.event.keyCode==13) { document.forms["sms"].submit()}
</SCRIPT>
a ten muj <form> zacina takhle:
<form name="sms" action="webcam_spravce.php" method="post">
ale to take neslo, cel eto mam asi tak..
//tohle mi reloaduje obrazek.....
<script language="javascript">
function init()
{
newImg = new Image(document.images["online_jfk"].width, document.images["online_jfk"].height);
newImg.onload = updatePic;
reloadLivePic();
}
function updatePic()
{
document.images["online_jfk"].src = newImg.src;
setTimeout("reloadLivePic()", 60000); // 15 secs
}
function reloadLivePic()
{
rfsh = new Date();
rfsh = "?"+rfsh.getTime();
newImg.src = "../jfk/online_jfk.jpg"+rfsh;
}
</script>
<script LANGUAGE=JavaScript FOR=document EVENT=onkeyup>
if (window.event.keyCode==13) { document.forms["sms"].submit()}
</SCRIPT>
...
<form name="sms" action="webcam_spravce.php" method="post">
....
<input type="text" id="1" name="text_sms" size="40" MAXLENGTH="50" class="text" id="text_sms">
<input type="submit" name="send_sms" value="Odeslat" class="tlacitko">
</form>
vis, kde mam problem? diky...tim koncim, uz jsem z toho unaveny....dobrou
Zkus upravit:
<form name="sms" action="webcam_spravce.php" method="post">
na:
<form name="sms" action="webcam_spravce.php" method="post" id=xsms>
A to moje z:
<script LANGUAGE=JavaScript FOR=document EVENT=onkeyup>
if (window.event.keyCode==13) { document.forms["sms"].submit()}
</SCRIPT>
na:
<script LANGUAGE=JavaScript FOR=document EVENT=onkeyup>
if (window.event.keyCode==13) { xsms.submit()}
</SCRIPT>
jinak to moje dela nasledujici: pri stisku klavesy 13 (enter) odesle formular....
mam asi nejaky divny ENTER, tuhle jsem si do klavesnice vylil stavu, proverit se musi vsechno, proste mo to zase nejde :o(, udelal jsem to presne podle tebe
kouknout se na ten zdrojak muzes na
http://www.fridrich.wz.cz/temp/webcam.php
kazdopadne s tim reload jsi mi hodne pomohl!
Me to jede, ted je asi chyba u tebe v PC....
je to neuveritelne, ale fakt je to asi v PC, v opere mi to funguje i bez toho JS, ted jsme psal lidem, co maji IE a jim to jde, jen mne ne, tak diky moc, dobrou noc
ZKus updatovat IE, jinak ti asi uz nepomuzu... Nebo se vyser na IE, nejlepsi reseni :-)