Autor Zpráva
rudolf158
Profil
Dobrý den, mám takový problém, mám skript pro platbymobilem.cz aby se automaticky přiřazovalo VIP ale když to dám otestovat tak mi to píše toto " Váš skript vrací nesprávný HTTP Status kód. Je vyžadován status code 200 nebo 204. " Skript který používám vypadá takto

<?php 
$response = " Dekujeme za podporu, tvoje VIP je pripsano. MCMINER.CZ. "; 
Header("HTTP/1.1 200 OK");
Header("Content-type:text/plain"); 
Header("Content-length".strlen($response)); 
echo $response; 

$server = "194.8.***.***";
$port = "2****";
$pw = "****";

$price = $_GET['price'];
$player = $_GET['text'];

if(empty($price)) { die('Error'); }

$commands = array();

switch($price) {

  case 99.000:  
    $r->rconCommand("pex user ".$player." timed group set vip+++ 2592000");
  break;
  
  case 79.000:  
    $r->rconCommand("pex user ".$player." timed group set vip++ 2592000");
  break;
  
  case 50.000:  
    $r->rconCommand("pex user ".$player." timed group set vip+ 2592000");
  break;
}

include_once("rcon.php"); 
$r = new rcon($server,$port,$pw);
if($r->Auth())
{
   foreach($commands as $command)  
    $r->rconCommand($command);            
}

?>

Nemohl by mi prosím někdo poradit co tam napsat aby mi to fungovalu já se v PHP absolutně nevyznám. Děkuji a moc.
Davex
Profil
Chybí dvojtečka těsně za Content-length:. Pokud přidání nepomůže, tak si zkus projít, jestli neděláš stejné chyby jako dělal Prefin Nesprávná odpověď scriptu - HTTP/1.1 200 OK.
rudolf158
Profil
Tak přidání nepomohlo a nepomohlo mi ani projití článku na tvém odkazu. Nemáš ještě nějakou jinou radu??
Mike8748
Profil
rudolf158:
a php ti běží jako modul nebo FastCGI? protože pro fastcgi by řádka 3 měla vypadat trošku jinak (konkrétně Header("Status: 200 OK"); )

jinak... skript obsahuje chyby, hlavně to že na řádcích 22,26 a 30 se odkazuješ na instanci objektu $r, ale ten objekt vytváříš až na řádku 35

na řádku 38 naopak odkazuješ na pole $commands které ale předtím ničím nenaplníš.
pokud tedy ten skript je takhle, tak lidi můžou posílat SMSky dle libosti, ale VIP se nedočkají
rudolf158
Profil
Aby jsem ti řekl pravdu tohle je poprvé a asi naposledy co něco dělám s PHP. Spíš by jsem tě poprosil jestli by jsi to nemohl opravit protože já o PHP opravdu nic nevím.
RUDOLF158
Profil *
Upravil jsem to ale pořád to nefunguje.

<?php 
$response = " Dekujeme za podporu, tvoje VIP je pripsano. MCMINER.CZ. "; 
Header("Status: 200 OK");
Header("Content-type:text/plain"); 
Header("Content-length:".strlen($response)); 
echo $response; 

$server = "194.8.253.149";
$port = "25575";
$pw = "krss";

$price = $_GET['price'];
$player = $_GET['text'];

if(empty($price)) { die('Error'); }

$commands = array();
$r = new rcon($server,$port,$pw);
switch($price) {

  case 99.000:  
    $r->rconCommand("pex user ".$player." timed group set vip+++ 2592000");
  break;
  
  case 79.000:  
    $r->rconCommand("pex user ".$player." timed group set vip++ 2592000");
  break;
  
  case 50.000:  
    $r->rconCommand("pex user ".$player." timed group set vip+ 2592000");
  break;
}

include_once("rcon.php"); 

if($r->Auth())
{
   foreach($commands as $command)  
    $r->rconCommand($command);            
}

?>
Davex
Profil
Neměl by být řádek č. 34 vkládající soubor rcon.php před inicializací objektu na řádku č. 18?

Ještě si můžeš na začátku skriptu zapnout vypisování chyb a spustit skript s vhodnými parametry. Třeba při běhu skriptu dochází k dalším chybám.

<?php
  ini_set("display_errors", 1);
  error_reporting(E_ALL);

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: