niin kun käyttäjä laittaa formissa textboxiin kotisivunsa osoitteen niin miten pystyy tarkistaan php:llä että onko kyseinen sivu olemassa?
Valitettavasti mitään varmaa konstia sivun olemassaolon tarkastamiseen ei ole. Jos kotisivujen osoitteiden on välttämättä oltava oikeita, niin tarkista uudet osoitteet itse ennen niiden hyväksymistä (tämä tietenkin kestää). Itse kyllä luottaisin siihen, että suurin osa käyttäjistä kirjoittaa oikean osoitteensa ilman muuta.
Eräs tutustumisen arvoinen voisi olla https://www.php.net/manual/en/ref.sockets.php (ei enää tarkkaa muistikuvaa oikeasta funkkarista).
Näillä joskus yritin tehdä automaattista linkkitarkistajaa, joka kelaa kaikkien (omien) sivujen kaikki a-tagin sisällä olevat http:// -alkuiset linkit, kuitenkin heikoin tuloksin.
Parempaa onnea sinne suuntaan.
Jaa, en sitten saa kirjautua ulos enkä muokata omia tekstejäni... Muistui mieleen funktio eli https://www.php.net/manual/en/function.
Tuo toimii ainoastaan jos palvelin ei palauttaisi virhesivua. http://joppe.com/eipäslöydy.htkp palauttaa ainakin hienon mandariinikiinankielisen virhesivun joten ei taida toimia :-)
niinpä, omilla sivuillani on tehty niin, että jos sivua ei löydy, se menee sivulle jossa lukee "sivua ei löydy", jolloin scripti voi luulla että sivu löytyi :P
C:\Program Files\Lynx>lynx -head -dump https://www.ohjelmointiputka.net HTTP/1.1 200 OK Date: Fri, 12 Sep 2003 19:48:49 GMT Server: Apache Connection: close Content-Type: text/html C:\Program Files\Lynx>lynx -head -dump https://www.ohjelmointiputka.net/eioo.wsge HTTP/1.1 404 Not Found Date: Fri, 12 Sep 2003 19:48:57 GMT Server: Apache Connection: close Content-Type: text/html; charset=iso-8859-1
Noita tutkimallahan se selviää.
niin, ja miten noi saa PHP:llä selville?
ja entä jos sivu siirtyy automaattisesti johonkin osoitteeseen jos sivua ei löydy?
Redirect palauttaa myös oman statuskoodinsa, aivan kuten puuttuva sivu.
Http-protokollan speksejä tutkimallahan nuo selviää.
lainaus:
Redirect palauttaa myös oman statuskoodinsa, aivan kuten puuttuva sivu.
Oikein tehty sellainen. <meta>-virityksille ei mahda mitään.
Mutta jotta voisi tulla jotain <meta>-virityksiä pitää löytyä ensin joku sivu ja silloinhan statuskoodi on (todnäk) joko 200 tai 404.
lainaus:
ja entä jos sivu siirtyy automaattisesti johonkin osoitteeseen jos sivua ei löydy?
Vai tarkoitettiinko tuolla niitä 'Sivu on siirtynyt' ilmoituksia? Niille ei luonnollisestikaan voi mitn mutta löytyyhän se sivu loppujen lopuksi kuitenkin.
Näitä varten voikin väsätä sellaisen 'Ilmoita rikkinäisistä linkeistä'-featuren. Jos sen tekee mahdollisimman helpoksi, esim. niin että ilmoitus onnistuu linkkiä klikkaamalla, voi jopa olla että mahdollisuutta käyttävät nekin jotka ei ole "valveutuneita" internetin käyttäjiä. Itse en ainakaan (kovinkaan usein) jaksa millään e-maililla ruveta moisista ilmoittelemaan.
Tekee funktion joka tutkii nuo headerit ja jos tulee virhe tai ei tule mitään niin sivua ei ole olemassa, silleehän tuon saa helposti. Ainoo että en tiedä miten headereita voi lukea mutta eiköhän sekin löydy php manuaalista.
Aihe on jo aika vanha, joten et voi enää vastata siihen.