Moi!
Tiedän, että tämä on vähän vähä pätöinen kysymys, mutta apua tarvitsisin.
(ja kyllä etsin apua jo Goglesta)
Eli error on tälläinen
Parse error: syntax error, unexpected 'htmlspecialchars' (T_STRING) in *** on line 109
(tuossa *** on osoite, mutta sitähän ette tarvitse)
Koodi on tälläinen
$response = $status->getStatus('' htmlspecialchars($tulos["ip"]) '', htmlspecialchars($tulos["portti"]) );
Tarkoitus on siis hakea sivu.php?id="id" tyylillä tuo ip ja portti. Siellä on myös paljon muuta tavaraa, jonka sain ulos, ECHOn avulla, mutta tähän status juttuun en saa millään printattua tuota iptä ja portti. Ne näkyvät tieto kanssa ja saan printattua ne ECHOn avulla.
Kiitos jo etukäteen vastauksista!
Puuttu pilkku siitä edestä.
$response = $status->getStatus('', htmlspecialchars($tulos["ip"]), '', htmlspecialchars($tulos["portti"]) );
Edit. Puuttui myös sen (htmlspecialchars) jälkeen. Olettaen, että se ja nuo tyhjät merkkijonot ovat eri parametreja eivätkä katenoitava merkkijono. Parametrit erotellaan pilkuilla, ja merkkijonot yhdistetään yhdeksi merkkijonoksi pisteoperaattorilla (.).
"Hello, " . "World!" // => "Hello, World!"
Mutta oletan, että tässä on kysymys erillisistä parametreista, koska ei olisi mitään järkeä katenoida merkkijonoa tyhjiin merkkijonoihin ja päinvastoin.
Edistystä, nyt ei tule enää erroria, mutta se näyttää, että se on kiinni. (Vaikka ei ole)
Tässähän on tuo "alkuperäinen" koodin pätkä
$response = $status->getStatus('111.111.111.111.111', 11111);
Tietysti nuo 1 sitten vaihdetaan oikeisiin lukuihin.
Kiitos, Vesikuusi
Ota koko ''
:t pois koodista. Tuossa ei pidä käyttää myöskään htmlspecialchars-funktiota, vaan ihan pelkät muuttujat riittävät. Funktiota htmlspecialchars tarvitaan yleensä vain silloin, kun tekstiä tulostetaan sivulle (echo tms.) tai muuten vain muutetaan HTML- tai XML-koodiksi.
Lataa jokin IDE jossa on error highlight (esim. Netbeans, PhpStorm), niin ei tarvitse pällistellä syntaksivirheitä tuntitolkulla ihan turhan takia.
Minkälaista muuttuja tarkoitat Metabolix? Ja uta käytän notepad++
Metabolix tarkoittaa, että muutat kohdan
htmlspecialchars($tulos["ip"])
Tällaiseksi:
$tulos["ip"]
Eli pelkkä muuttuja ilman, että sitä ajetaan minkään funktion läpi. Sama juttu portille.
Muutin koodin tälläiseksi, mutta mitään muutosta ei tapahtunut.
$response = $status->getStatus('', $tulos["ip"], '', $tulos["portti"] );
Kun taas laitan näin.
$response = $status->getStatus('111.111.111.111.111', 11111);
Niin se toimii.
miksi nuo hipsut?
jos kerran seuraava toimii:
$response = $status->getStatus('111.111.111.111.111', 11111);
mutta seuraava ei:
$response = $status->getStatus('', $tulos["ip"], '', $tulos["portti"] );
Niin eikö kannattaisi kokeilla seuraavaa?
$response = $status->getStatus($tulos["ip"],$tulos["portti"] );
Ei tässä kannata kokeilla yhtään mitään, vaan istutaan sormi aukossa kunnes joku sherlokki tulee ja korjaa mun virheet.
The Alchemist kirjoitti:
Ei tässä kannata kokeilla yhtään mitään, vaan istutaan sormi aukossa kunnes joku sherlokki tulee ja korjaa mun virheet.
Harvinaisen totta nykyaikana. Lopusta puuttuu vaan huudot: "Eikö kukaan osaa neuvoa? Luulis et joku Ohjelmointiputkas osais, mut näemmä tarvii pettyä teihinkin. Olis vähän kiire!"
Aika kyynistä, Late oli sittenkin oikeassa.
tmub kirjoitti:
Aika kyynistä, Late oli sittenkin oikeassa.
Late arvasi oikein, tai ehkä se vaan tiesi.
$response = $status->getStatus($tulos["ip"],$tulos["portti"] );
Ei toimi tuollakaan... Onko tosiaan näin, että tähän ei ole ratkaisua?
No nyt errori ei varmaan liity siihen funktioon, niin mikä on tulos nyt?
Juhku kirjoitti:
$response = $status->getStatus($tulos["ip"],$tulos["portti"] );Ei toimi tuollakaan... Onko tosiaan näin, että tähän ei ole ratkaisua?
Ratkaisu on se, että debuggaat itse omaa koodiasi. Pitääkö näin alkeellisista asioista oikeasti vääntää rautalankamallit? Tulosta muuttujat, katso mikä meni väärin.
P.S. '111.111.111.111.111' ei edes ole ip-osoite, joten jos tuolla toimii, niin asiat voivat olla pahemman kerran vinksallaan.
Sain sen toimimaan tällä
$response = $status->getStatus(''. $tulos["ip"]. '', $tulos["portti"] );
Kiitos, kumminkin kaikille, jotka yritti! :)
Luitko edes kunnolla? ”Ota koko ''
:t pois koodista.” Myös järkeä voi käyttää: nyt lisäät muuttujan alkuun ja loppuun tyhjän tekstin, mikä on ihan turhaa. Uskon, että aiemman viestisi koodi olisi toiminut mutta teit vain samalla jonkin muun virheen ja siksi luulit, ettei se toimi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.