Facebook Url Exist Check
Ik zoek iemand die ervaring heeft met de Facebook API.
In een bestaand project wil ik een "facebook page" check doen, zodat er geen verkeerde links worden geplaatst.
Dus personen posten een link facebook.com/naam en die wordt via graph.facebook.com gecontroleerd en zo nodig geweigerd.
Het is gemakkelijk toe te voegen en voor iemand met ervaring ~10 minuten werk. Persoonlijk nooit mee gewerkt en wel wat aanpassingen geprobeerd.
Budget ~20€
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(isset($_GET['q']))
{
$json = @file_get_contents('http://graph.facebook.com/http://www.facebook.com/'.htmlentities($_GET['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_GET['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
?>
<form method="GET">
<input type="search" name="q" placeholder="Vul hier je gebruikersnaam in" />
<button>Zoek</button>
</form>
if(isset($_GET['q']))
{
$json = @file_get_contents('http://graph.facebook.com/http://www.facebook.com/'.htmlentities($_GET['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_GET['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
?>
<form method="GET">
<input type="search" name="q" placeholder="Vul hier je gebruikersnaam in" />
<button>Zoek</button>
</form>
Edit:
Controle op Username ipv Name
Controle op Username ipv Name
Gewijzigd op 05/11/2013 13:14:35 door Michael -
Michael - op 05/11/2013 12:18:29:
Dit zou moeten werken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(isset($_GET['q']))
{
$json = @file_get_contents('http://graph.facebook.com/http://www.facebook.com/'.htmlentities($_GET['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_GET['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
?>
<form method="GET">
<input type="search" name="q" placeholder="Vul hier je gebruikersnaam in" />
<button>Zoek</button>
</form>
if(isset($_GET['q']))
{
$json = @file_get_contents('http://graph.facebook.com/http://www.facebook.com/'.htmlentities($_GET['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_GET['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
?>
<form method="GET">
<input type="search" name="q" placeholder="Vul hier je gebruikersnaam in" />
<button>Zoek</button>
</form>
Edit:
Controle op Username ipv Name
Controle op Username ipv Name
Het werkt tot nu zoals het moet.
Maar ik krijg het niet compatible met mijn systeem.
Quote:
if(!isset($data->login)){echo "<script>document.location.href='index.php'</script>"; exit;}
if(isset($_POST['add'])){
if(isset($_POST['q']))
{
$json = @file_get_contents('http://graph.facebook.com/'.htmlentities($_POST['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_POST['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
if(!preg_match("/\bfacebook.com\b/i", $_POST['url'])){$msg = "<div class=\"msg_error\">Gebruik FB Page!</div>";}
if(isset($_POST['add'])){
if(isset($_POST['q']))
{
$json = @file_get_contents('http://graph.facebook.com/'.htmlentities($_POST['q']));
$result = json_decode($json, true);
if(isset($result['username']) && $result['username'] == $_POST['q'])
{
echo 'Deze gebruikersnaam bestaat';
}
else
{
echo 'Deze gebruikersnaam bestaat niet';
}
}
if(!preg_match("/\bfacebook.com\b/i", $_POST['url'])){$msg = "<div class=\"msg_error\">Gebruik FB Page!</div>";}
En submit:
Quote:
<form method="post">
<tr><td><label for="url">Page URL:</label></td><td width="20"></td><td><input type="text" name="q" name="url" id="url" size="40" maxlength="150" value="http://"
<tr><td><label for="url">Page URL:</label></td><td width="20"></td><td><input type="text" name="q" name="url" id="url" size="40" maxlength="150" value="http://"
Wat doe ik fout? ik wil dat het samen gaat met preg_match, http nodig in preg_match? Bedankt!
Simpel uitgelegd:
Gebruikers sturen urls en wordt opgeslagen in mysql db. Nu versturen ze vaak een "dode" link. Dus ik wil dit systeem gebruiken om het te controleren, zodat de gebruikers: http://www.facebook.com/pagename kunnen typen en die met graph wordt getest.
Gewijzigd op 05/11/2013 14:53:52 door Tom Brien
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
if(!isset($data->login)) {
header('Location:index.php');
/*
* Beter alternatief voor
* echo "<script>document.location.href='index.php'</script>"; exit;
*/
}
if(isset($_POST['add'],$_POST['url'])) {
$json = @file_get_contents('http://graph.facebook.com/'.htmlentities($_POST['url']));
$result = json_decode($json, true);
$urlgetParts = explode('/',$_POST['url']);
if($urlgetParts[0] == 'http:' && $urlgetParts[2] == 'www.facebook.com')
{
$getUsername = end($urlgetParts);
if(isset($result['username']) && $result['username'] == $getUsername)
{
echo 'Deze link is juist';
}
else
{
echo 'Facebook pagina bestaat niet';
}
}
else
{
echo 'Ingevulde URL is onjuist';
}
}
?>
<form method="POST">
<label for="url">Page URL:</label></td><td width="20"></td><td><input type="text" name="url" id="url" size="40" maxlength="150" value="http://" />
<button name="add">Check</button>
</form>
if(!isset($data->login)) {
header('Location:index.php');
/*
* Beter alternatief voor
* echo "<script>document.location.href='index.php'</script>"; exit;
*/
}
if(isset($_POST['add'],$_POST['url'])) {
$json = @file_get_contents('http://graph.facebook.com/'.htmlentities($_POST['url']));
$result = json_decode($json, true);
$urlgetParts = explode('/',$_POST['url']);
if($urlgetParts[0] == 'http:' && $urlgetParts[2] == 'www.facebook.com')
{
$getUsername = end($urlgetParts);
if(isset($result['username']) && $result['username'] == $getUsername)
{
echo 'Deze link is juist';
}
else
{
echo 'Facebook pagina bestaat niet';
}
}
else
{
echo 'Ingevulde URL is onjuist';
}
}
?>
<form method="POST">
<label for="url">Page URL:</label></td><td width="20"></td><td><input type="text" name="url" id="url" size="40" maxlength="150" value="http://" />
<button name="add">Check</button>
</form>
regel 16 vervangt jou pregmatch.
Er gaat trouwens iets mis met je styling als je label gebruikt (correct) icm table (incorrect).
Als je je label goed styled met css, heb je dat table gebeuren niet nodig.
Gewijzigd op 05/11/2013 15:30:16 door Michael -
Dank voor de informatie tot nu toe!