ha igy sem megy akkor ird meg milyen oszlopok vannak a tablaban es pontosan hogy hivod meg a fuggvenyt.PHP kód:function cimellenor($cim){ //nem bkv
$sql = mysql_query("SELECT cim FROM linkek WHERE cim = '$cim' LIMIT 1");
$result = mysql_num_rows($sql);
if ($result>=1){
//echo "VAN ILYEN";
return true; //ha van ilyen az adatbazisban
}else{
//echo "NINCS ILYEN";
return false; //nincs meg ilyen az adatbazisban
}
}
de szerintem ezzel a modszerrel nem tudod kiszurni azt hogy ketszer is ajanljak ugyanazt az oldalt, ha ez a cel.
No Pain, No Gain
linkbuilding.hu
ruby on rails
Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
igen mert akkor tert vissza igaz ertekkel ha volt talalat az adatbazisban.PHP kód:function cimellenor($cim){ //nem bkv
$cim = mysql_real_escape_string($cim);
$sql = mysql_query("SELECT cim FROM linkek WHERE cim = '$cim' LIMIT 1");
$result = mysql_num_rows($sql);
if ($result>=1){
//echo "VAN ILYEN";
return false;//ha van ilyen az adatbazisban
}else{
//echo "NINCS ILYEN";
return true; //nincs meg ilyen az adatbazisban
}
}
ezzel a modszerrel csak az a baj hogy kulonbozo cimmel tobbszor is at lehet rajta jutni. jobb megoldas lenne az url-t vizsgalni, de azt is ugy erdemes hogy amikor feltoltik egy szabalyos formaba formazod mindent es ahoz igazitva ellenorzod amikor beajanljak.
pl:
minden url-t igy tarolsz : hxxp://www.akarmi.com
tehat ha pistike igy ajanalja hogy wewewe.akarmi.hu te akkor atformazod es ele rakod a "http://-t". ezutan az ellenorzesnel a bejovo url-t ugyanugy hxxp:://www. akarmi.hu-ra formazod es igy szazszazalekos az osszehasonlitas.
ja es en ketszer is lehagytam a mysql_real_escape_string-et, te ne tedd ezt
Utoljára módosítva: Geri által : 2009-01-22 14:27
így működik:
function cimellenor($cim){ //nem bkv
$sql = mysql_query("SELECT cim FROM linkek WHERE cim = '$cim' LIMIT 1");
$result = mysql_num_rows($sql);
if ($result>0){
//echo "VAN ILYEN";
return false; //ha van ilyen az adatbazisban
}else{
//echo "NINCS ILYEN";
return true; //nincs meg ilyen az adatbazisban
}
}
köszönöm a segítséget!
tudom, hogy nem tökéletes a módszer.
elég ha www nélkül ajánlja, vagy aloldalt és máris kikerült...
úgy tárolom, ahogy beküldik: "www.valami.hu" vagy "valami.hu" a "http://-t" én rakom elé...
jó lenne, ha tökéletes lenne, de én már ennek is örülök! elegem volt már abból, hogy hiába aírom ki piros bold betűkkel, hogy ne ajánlják kétszer stb. fittyet hánytak rá...
Attól függ, hogyan teszed fel a kérdést.
1. Van már ilyen?
2. Az Url megfelelő?
Tehát mit is ellenőrizzen a függvény?
update
Ha mindig elé rakod a http:// akkor lesz benne ilyen is -http://http://oldal.com
Le kell csupaszítani az urlt oldal.com ra és úgy tárolni. És ellenőrzéskor azonos formára hozni. Al oldali linkelést akarsz engedélyezni pl oldal.com/blalbla ?
Utoljára módosítva: y.men által : 2009-01-22 14:35
A lekérdezendő url-t le kell butítani a domainra, ahogy y.men ajánlotta, majd az SQL lekérésben nem =-et kell keresni, hanem LIKE "%cica.com%"
Na kb így képzelem a link ellenőrzéstKód:function cimellenor($url){ $url = strtolower($url); //kisbetűvé alakítjuk $url = trim($url); // szóközök eltávolítása az elejéről és a végéről $url = str_replace('www.','',$url); // www. eltávolítása $url = str_replace('http://','',$url); // http:// eltávolítása $url2 = preg_replace("/\/.*/","",$url); //perjel és alkönyvtár eltávolítása az ellenőrzésig. Lehet deeplinkelni de egy domain -ról, csak egyet fogad el. if (!@get_headers("http://$url")) // van e ilyen domain és van e mögötte tárhely? 404 ellenőrzés { $url=false; // nincs ilyen weboldal! } else { // Van ilyen weboldal jöhet az adatbázisba keresés $sql = "SELECT cim FROM linkek WHERE cim LIKE '%".$url2."%' LIMIT 1"; if (mysql_num_rows(mysql_query($sql)) == 0 ) { //nincs ilyen az adatbázisban } else { // van már ilyen $url=false; } } return $url; // visszaadja a megtisztitott urlt ezt kell beleírni az adatbázisba. Ha nem érvényes az url akkor false. }
Remélem nem maradt benne hiba, és hogy be tudod szerelni.
ez igaz, pedig az is ott van, hogy http:// nélkül...
eleinte úgy tároltam és jelenítettem is meg, de www nélkül nem érhető el miden oldal, az összeset meg nem akartam www-síteni. így most mindenkinek úgy tárolom, ahogy neki jó. www-vel vagy nélküle.Le kell csupaszítani az urlt oldal.com ra és úgy tárolni. És ellenőrzéskor azonos formára hozni.
nem akarokAl oldali linkelést akarsz engedélyezni pl oldal.com/blalbla