Autor Zpráva
ArdaGamesTV
Profil *
Zdravím dělám na jedné zakázce která potřebuje mobilní platby a mysql když testuju tenhle script

<?php
include_once("config.php");

$kod = mt_rand(100000, 999999);
$response = "kod : ".$kod."";
Header    ('Content-type: text/plain');
Header    ('Content-length:'.strlen($response));
echo $response;
 
$sql = "INSERT INTO `kod`(`sms_kod`) VALUES (".$kod.")";   

mysqli_close($con);
 ?>

Tak mi to ukáže tohle v testovacím emulátoru mobilních plateb tohle:

Jak jste si mohli všimnout tak to používá config.php ten slouží ke připojení k databázi skript:

<?php

$con=mysqli_connect("host","jméno","heslo","databáze");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_select_db($con,"test");

?>



prý tam je dikritika :D


ale kde????
Keeehi
Profil
Je tam, že text obsahuje nepovolené znaky, nemusí jít nutně o diakritiku.
Co tam reálně máš zjistíš, když si otevreš tu svojí webovou stránku.
Teoreticky by tomu mohli vadit i některé bílé nebo neviditelné znaky jak třeba BOM z utf-8 kódování.
ArdaGamesTV
Profil *
Co je to BOM???
nightfish
Profil
Co je to BOM

Mimochodem nikde v tom kódu nevoláš mysqli_query, takže se databázový dotaz neprovede. (Ale na validitu odpovědi ve vztahu k testovacímu emulátoru mobilních plateb to vliv nemá.)
Davex
Profil
ArdaGamesTV:
Viz BOM.
ArdaGamesTV
Profil *
Prosím nechci ani tak moc pochopit bom ale spíš jak to vyřešit :D nic proti vážím si vašich rad.
nightfish
Profil
ArdaGamesTV:
Prosím nechci ani tak moc pochopit bom ale spíš jak to vyřešit
Tak si přečti text na odkazu, který jsem ti poslal - druhý řádek začíná: "Řešením je ve svém..."
ArdaGamesTV
Profil *
To ani trochu nechápu a ani se to nebudu snažit pochopit tak mi prosím řek normálně co s tím.


To řek má být řekni sry píšu na mobilu.
Keeehi
Profil
ArdaGamesTV:
To ani trochu nechápu a ani se to nebudu snažit pochopit
Děkujeme. Teď víme, že se ti nemáme snažit poradit.
ArdaGamesTV
Profil *
Už to chápu díky
ArdaGamesTV
Profil *
Ale problém stále přetrvává a to s tímto kódem
<?php

include_once("config.php");

$kod = mt_rand(100000, 999999);
$sql = "INSERT INTO `kod`(`sms`) VALUES (".$kod.")";

mysqli_query($con,"".$sql."");
mysqli_close($con);


$o = "Vas kod je ".$kod."";
Header    ('Content-type: text/plain; charset=utf-8;');
Header    ('Content-length:'.strlen($o));
echo $o;
?>

emulátor mobilních plateb říká že to obsahuje nějaké nepovolené znaky nebo dikritiku ale BOM to už není jelikož jsem ten soubor uložil bez BOMU dejte mi prosím ještě nějakou radu.
Keeehi
Profil
Takto žádná chyba není vidět. Zkus nám dát přímo odkaz na stránku.
ArdaGamesTV
Profil *
31.133.11.130/test/sms-gate/test.php
ArdaGamesTV
Profil
Už víte co s tím??
Keeehi
Profil
ArdaGamesTV:
No máš tam stále navíc odřádkování a mazery*.
00000000  56 61 73 20 6b 6f 64 20  6a 65 20 37 30 32 37 37  |Vas kod je 70277|
00000010  37 0d 0a 0d 0a 0d 0a 20                           |7...... |

*Ta mezera by samozřejmě nevadila. Jen by neseděla hlavička content-length s reálnou délkou. Což tedy taky není úplně pravda, protože tvůj server hlavičku content-length odstraní a vloží tam hlavičku s reálnou délkou.
ArdaGamesTV
Profil
a co s tím mám udělat???
Keeehi
Profil
ArdaGamesTV:
a co s tím mám udělat???
A co třeba to smazat?
ArdaGamesTV
Profil
Header ('Content-length:'.strlen($o)); tohle?
ArdaGamesTV
Profil
mám smazat jo???,
Fisir
Profil
Reaguji na ArdaGamesTV:
Já bych to pro jistotu smazal celý.
ArdaGamesTV
Profil
Ale Content-length nemohu smazat a to z důvodu že nesmí být nulový.


Fisir [#20]:
Ale proč ? Jestli mi chceš poradit tak poraď jestli ne tak jdi o téma dál.
nightfish
Profil
ArdaGamesTV:
Když do souboru test.php uložíš následující kód, projde tím testem?
<?php
$o = "Vas kod je 123456";
Header('Content-type: text/plain; charset=utf-8');
Header('Content-length:'.strlen($o));
echo $o;
(nic víc v tom souboru nebude - ani uzavírací značka)
Keeehi
Profil
ArdaGamesTV:
Header ('Content-length:'.strlen($o)); tohle?
mám smazat jo???,
Ne, psal jsem, že máš na konci odřádkování a mezery. Ty smazat. Budou za tím řádkem 16 z [#11].

Nebo jak psal nightfish, smazat uzavírací značku (php to nevadí) a php všechny ty bílé znaky požere.
ArdaGamesTV
Profil
dík už to funguje

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: