Autor Zpráva
jhruskovic
Profil
V mém skriptu na odesílání sms mi nefunguje funkce die(). Mám ji tam přes ereg proti robotům, ale i když jsem testoval, tak se potom skript neukončí.
Formulář:
<!DOCTYPE html>  
 <head>  
<title>Odesílání SMS na O2</title>
<meta http-equiv="content-type" content="text/html; charset=Windows-1250"Windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
  </head>  
<link rel="stylesheet" type="text/css" href="sms.css" />
<link rel="stylesheet" type="text/css" href="bublina.css" />
  <body>
<?php include ("menu.html"); ?>
<form action="smsod.php" method="post">  
   <div id="container">  
    <h1><center>Odesílání SMS na O2</center></h1>  
    <form action="" method="post">  
     <ul>  
      <li>  
       <label for="phoneNumber">Telefonní číslo:</label>  
       <input type="text" name="tel" id="phoneNumber" value="00420" /></li>  
      <li>  
      </li>  
      <li>  
       <label for="smsMessage">Zpráva:</label>  
      <input name="text" maxlength="32" />
      </li>
      <li>
      <label for="mail">Toto nevyplňujte:</label>
      <input name="mail" />
      </li>  
     <li><input type="submit" name="sendMessage" id="sendMessage" value="Odeslat zprávu" /></li>
     <h3><center>Před odesláním doporučuji přečíst <a class="tip" href="#">nápovědu<em><span> (</span><font face="Times New Roman">Zprávy lze odesílat pouze na O2. Maximální velikost zprávy je 32 znaků. Doporučuji, aby první písmeno zprávy nebylo 'P', 'D', nebo 'O' - Zpráva má přednastavený začátek ve formě 'B:' a při užití P udělá :P, při užití D udělá :D a při užití O udělá :O smajlík.<span>)</span></em></a></center></h3>  
    </ul>  
   </form>  
  </div>  
<br>
<font color="#0080d2">
<div style="visibility: hidden">
 </body>  
</html>  


-------
Vyhodnocení:
<!DOCTYPE html>  
 <head>  
<meta http-equiv="content-type" content="text/html; charset=Windows-1250"Windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
</head>
<body>
<body bgcolor="#0080d2">
<?php
$cislo = $_POST["tel"];
$zprava = $_POST["text"];
$email = $cislo . '@sms.cz.o2.com';
$vysledek = mail($email, "", $zprava);
$mail = $_POST['mail'];
if (ereg('.*', $mail)) 
die(Jste robot, zpráva nebyla odeslána);
if (ereg('60[1267][0-9]+$', $cislo)) 
{
if ($vysledek)
echo '<center><h1><font color="#FFFFFF">Zpráva byla úspěšně odeslána</h1></center><meta http-equiv="refresh" content="4;url=http://www.jhruskovic.8u.cz">
<style>
a:link    {color: #0080d2}
a:visited    {color: #0080d2}
a:active    {color: #0080d2}
</style>';
else
echo '<center><h1><font color="#FFFFFF">Nastala chyba, zpráva nebyla odeslána</h1></center><meta http-equiv="refresh" content="4;url=http://www.jhruskovic.8u.cz">
<style>
a:link    {color: #0080d2}
a:visited    {color: #0080d2}
a:active    {color: #0080d2}
</style>';
 }
else if (ereg('72[0-9][0-9]+$', $cislo))
{
if ($vysledek)
echo '<center><h1><font color="#FFFFFF">Zpráva byla úspěšně odeslána</h1></center><meta http-equiv="refresh" content="4;url=http://www.jhruskovic.8u.cz">
<style>
a:link    {color: #0080d2}
a:visited    {color: #0080d2}
a:active    {color: #0080d2}
</style>';
else
echo '<center><h1><font color="#FFFFFF">Nastala chyba, zpráva nebyla odeslána</h1></center><meta http-equiv="refresh" content="4;url=http://www.jhruskovic.8u.cz">
<style>
a:link    {color: #0080d2}
a:visited    {color: #0080d2}
a:active    {color: #0080d2}
</style>';
 }
else
 echo 'Špatně jste zadali telefonní číslo, nebo číslo není u O2';

-----
Navíc mi to ještě píše:
Parse error: syntax error, unexpected T_STRING in /home/users/jhruskovic/jhruskovic.8u.cz/web/smsod.php on line 15
Nevíte, co tam mám blbě?
Díky moc
Str4wberry
Profil
Bylo by vhodné řetězec (parametr) v die obalit např. uvozovkami.
jhruskovic
Profil
Str4wberry:
I to nepomáhá, skript běží dál... :/ Nevíte ještě čím je ten error?
Str4wberry
Profil
Ten error
Parse error: syntax error, unexpected T_STRING
… způsobuje, jak jsem napsal výše, absence uvozovek okolo řetězce.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0