To Roma_CZ : já to vyřešil úplně stupidně (a tím netvrdím, že nejlépe). Čísla jsem si převedl na string a ten zaokrouhlil ... funguje == spokojenost ;)
Spíš jsem byl vůbec v šoku z toho, že je float nepřesný... kdyby s tím alespon PHP funkce nějak počítaly... ale naoko vypsat "3" a myslet si "2.999999..." to je prostě síla, alespon pro mne..
Příspěvky odeslané z IP adresy 85.132.219.–
To Algon : pokud to správně chápu, tak si tu proměnnou $poradi ukládej do pole anebo si ji ukládej v DB, to budeš muset po každém přidání nového záznamu "přepočítat".
To Spectator :
Okay, rozumím .. dejme tomu, že by to tím být mohlo ... jaké je tedy navrhované řešení?
Protože mě nic nenapadá (snad jen oseknout to jako string od tečky a zjišťovat jestli tam něco je většího než 0) ...
BTW - ještě jednou řešení, které mne napadlo bylo
if(2%1.4) echo 'Zbytek'; else echo 'Bezezbytku';
toto řešení ale také nefunguje... :-/
Dokážete mi to, prosím, někdo racionálně vysvětlit? :D
$a = (float)4.20;
$b = (float)1.40;
$c = $a/$b;
if(($a/$b) == floor($a/$b)) echo "OK"; else echo "KO";
echo "<br>Nezaokrouhleno: ".$c." | Zaokrouhleno dolů: ".floor($c)." |
Zaokrouhleno nahoru: ".ceil($c);
exit;
odpověď je následující
KO
Nezaokrouhleno: 3 | Zaokrouhleno dolů: 3 | Zaokrouhleno nahoru: 4
Jsem z toho v šoku 8o] - když dosadím do proměnné jiné číslo (1.40, 2.80, 5.60,
...) tak to zase funguje ... ale čísla (4.20, 8.40, 9.60, ...) ne :D
Nakonec vyřešena.. chyba je právě v jejich takzvaných "manuálech" ... je tam jasně napsáno jak mám ověřovat digest v odpovědi a že když hodnoty chybí tak je mám oddělit prázdným "znakem" -> ||, což ale není pravda, protože když hodnoty chybí tak je do ověřovací DIGESTU nesmím vůbec zanést...
Má někdo prosím zkušenost s platbní bráno PayMUZO?
Podpis, který odesílám do PayMUZO se ověří správně... ale jakmile mi z PayMUZO příjde odpověď s podpisem, tak tento podpis nejsem ani za nic schopen ověřit.
require("lib/paymuzo/signature.php");
$data = $_GET['OPERATION']."|".$_GET['ORDERNUMBER']."|".$_GET['MERORDERNUM']."|".$_GET['MD']."|".$_GET['PRCODE']."|".$_GET['SRCODE']."|".$_GET['RESULTTEXT'];
$sign = new CSignature("lib/paymuzo/muj_verejny_certifikat.pem", $PAYMUZO_PASS, "lib/paymuzo/muzo.signing_test.pem");
if($sign->verify($data, $_GET['DIGEST'])){
echo "Podpis JE korektni...";
}else{
echo "Podpis NENI korektni...";
}
dík za nakopnutí
Problém vyřešen - Klávsnice ~ Židle. Asi jsem přepracovaný, i tak děkuji všem. :)
To Prog. : Omlouvám se. Věř mi, že před tím, než jsem postnul příspěvěk jsem toho prohledal i vyzkoušel dost, zase taková lamka nejsem. Bohužel nemám tušení jak to přesně zakomponovat. S tímhle na mě musíš jak na debila. Když zavolám onu proceduru, jak docílím přes PHP toho aby mi to "vyechovalo" nějakou hodnotu? Dejme tomu konkrétně "World"? Tohle mi prostě není jasné.
Bohužel ne, vrací se chyba
faultCode1faultStringWarning:mysql_query() [http://www.mysql.com/doc]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER | CREATE PROCEDURE helloworld() BEGIN SELECT 'hello'; SELECT 'wo' at line 1 in D:\firma\Www\domain\tmp\test.php on line 13
faultCode1faultStringWarning:mysql_query() [http://www.mysql.com/doc]: FUNCTION makrakeramstudio_is.helloworld does not exist in D:\firma\Www\domain\tmp\test.php on line 15faultCode1faultStringWarning:mysql_fetch_array(): supplied argument is not a valid MySQL result resource inD:\firma\Www\domain\tmp\test.php on line 16
Ta první chyba je výsledkem zavolání fce
ini_set('mysql.trace_mode', '1');
Nějak si prostě nevím rady... otázkou je, jestli na to nejdu celkově blbě...
ini_set('mysql.trace_mode', '1');
mysql_connect('localhost', 'root', 'pass', false, 131074);
mysql_select_db('db');
mysql_query("DELIMITER |
CREATE PROCEDURE helloworld()
BEGIN
SELECT 'hello';
SELECT 'world';
END| ");
mysql_query("SELECT helloworld()");
Zdravím, jako obvykle se na Vás obracím, když mám opět problém.
Programuji aplikaci, kde už jsou trochu složitější dotazy a sám bych se v tomto rád více vzdělával. Takže jsem narazil na něco, co se jmenuje "Stored procedures" - Uložené procedury. Přičemž jsem také narazíl na kód:
DELIMITER |
CREATE PROCEDURE helloworld()
BEGIN
SELECT 'hello';
SELECT 'world';
END|
Což celkem chápu, složitější procedury taky není problém napsat. Narazil jsem ovšem na problém, když chci procedury kombinovat s PHP. Tedy abyste správně rozumněli, rád bych tuto proceduru nějak vypsal, získal z ní výsledek a to právě pomocí PHP. Je mi jedno jestli neobjektově či objektově, hlavně tak ať to pochopím.
Pokud je třeba PHP či MySQL nějak nastavit, aby vše fungovalo tak jak má, prosím napište mi jak.
Děkuji předem za jakoukoliv radu.
Dawo
Škoda, že jsem nenapsal "bez přepisování php.ini nebo jeho vzdáleného konfigurování". Ale podle odpovědí to vypadá, že to stejně jinak nepůjde. Pokud byste ovšem narazili na nějaké řešení (php, java, flash) pak Vám budu vděčný. I tak moc děkuji.
zdravím, asi se to tady řešilo, hledal jsem ale marně. Proto se chci optat: nevíte o nějakém funkčním a nejlépe zdarma dostupném uploaderovi (tím myslí něco co přenese 200MB aniž bych musel nastavovat server). Není podmínkou, ale kdyby do mělo nějaké ajaxové "gui" bylo by to fajn, ale to si když tak dodělám..
To bukaj :
Děkuju mockrát! Zkoušel jsem i tuto zminovanou třídu (IXR_ClientSSL) ale taky mi to nefungoval. Vyřešil to port, což by mě ani za nic nenapadlo. Ještě jednou díky.
To bukaj :
Rád bych sdělil více, ale sám nevím co ještě bych měl napsat.
Kod který používám:
include('library.inc.php');
$client = new IXR_Client('https://www.estatix.cz/spprodukt/rpc2.php');
if (!$client->query('login', "jmeno", "heslo")) {
die('Something went wrong - '.$client->getErrorCode().' :
'.$client->getErrorMessage());
}
$md5 = $client->getResponse();
echo $md5."<BR><BR>";
if (!$client->query('getPTYList', array("status" => 0), $md5)) {
die('getPTYList error - '.$client->getErrorCode().' :
'.$client->getErrorMessage());
}
$lookup = $client->getResponse();
print_r($lookup);
pokud se provede, měl bych dostat MD5 hash.
Co se týče chyby - vypisuje to přesně tuto větu: "Something went wrong - -32300 : transport error - HTTP status code was not 200: HTTP/1.1 404 Not Found"
Podpora daného serveru mi na to řekla, že je chyba jasná (soubor neexistuje) což mi taky samozřejmě došlo, jenomže po uvedení přesného kodu a ověření na jejich serverech mi napsali, že jim daný kod funguje naprosto správně. Tudíž, že chyba bude u mě v nastavení SSL.
soubor library.inc.php (knihovna) je odsud - http://www.icheb.nl/icheb_info_blog/IXR/IXR_Library.inc.php.txt
v knihovně u mě je změněna akorát proměnná $debug z "false" na "true". Tot vše co jsem já měnil.
Rád bych poskytl ještě více informací, ale už žádné osobně nemám :(
nevěděl jsem, kam to napsat, takže píšu klasicky do PHP sekce.
Potřebuji se připojit na vzdálený server, který je chráněn certifikátem SSL. Prostě stránka začíná https :) potřebuju s tímto serverem komunikovat přes XML-RPC. Kvůli tomu jsem zprovoznil knihovnu Incutio (http://scripts.incutio.com/xmlrpc/). Bohužel mi script vrací HTTP 1.1 404 Not Found. Na toto mi tech. podpora serveru řekla, že je chyba u mne, protože jim daný script běží naprosto v pořádku. Chyba by měla být v nastavení fopen a SSL (konfigurace PHP). Ale vůbec nevím co kde změnit / zapnout či vypnout.
Je někdo ochotný poradit? Děkuji.
Zdravím a pozdravuji :D
Naše firmička hledá webdesignéra. Mladého, schopného, který chce být vidět a má chut na sobě pracovat..
Více na http://www.web-media.cz
nebo kontaktujte přímo mne na iCQ (176631575) či Skype (david.kmenta). Rád sdělím podrobnosti.