Avatar billede jetobi Juniormester
13. september 2012 - 12:52 Der er 17 kommentarer og
1 løsning

PHP file_get_contents forhindre mig i at lave en database connection

Hej eksperter! har virkelig brug for jeres hjælp. Jeg er lige startet med at lave en facebook login på min side via SDK PHP. Men når jeg laver min

$access_token_response = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=$app_id&redirect_uri=&client_secret=$app_secret&code={$signed_request['code']}");

så slår den fejl ved en database connection længere ned på siden.? Jeg har prøvet mig frem og fejlen ligger præsics imellem  $access_token_response = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=$app_id&redirect_uri=&client_secret=$app_secret&code={$signed_request['code']}"); og min databaseconnection efter en masse sletten og forsøg, kan man lave noget om på file_get_contents ? eller afbryder den bare alle databaseconnections?

Mvh jesper
Avatar billede michael_stim Ekspert
13. september 2012 - 13:18 #1
Det tror jeg ikke den gør. Men uden hverken kode eller fejlmeddelelse kan vi ikke hjælpe dig.
Avatar billede olebole Juniormester
13. september 2012 - 13:21 #2
<ole>

Det kan ikke ske. Hvis din DB-forbindelse ryger - eller ikke kan oprettes - skyldes det noget andet.

Har du mon slået fejlmeldinger fra i PHP? Prøv at skrive dette øverst i dokumentet:

<?php
error_reporting(E_ALL);

/mvh
</bole>
Avatar billede jetobi Juniormester
13. september 2012 - 21:49 #3
Hej michael og hej olebole.

jeg har jo en enorm kode, men prøver at gøre den lille :-) og håber i kan hjælpe mig med den!

Vi starter i toppen hvor min facebook connection kode er:

<?php
session_start();
define('YOUR_APP_ID', 'min app id');
define('YOUR_APP_SECRET', 'mit secret');

function get_facebook_cookie($app_id, $app_secret) {
    $signed_request = parse_signed_request(@$_COOKIE['fbsr_' . $app_id], $app_secret);

    $signed_request['uid'] = $signed_request['user_id']; //
    if (!is_null($signed_request)) {
     
        $access_token_response = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=$app_id&redirect_uri=&client_secret=$app_secret&code={$signed_request['code']}");
        parse_str($access_token_response);
        $signed_request['access_token'] = $access_token;
        $signed_request['expires'] = time() + $expires;
    }
    return $signed_request;
}

function parse_signed_request($signed_request, $secret) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2);


  $sig = base64_url_decode($encoded_sig);
  $data = json_decode(base64_url_decode($payload), true);

  if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
    error_log('Unknown algorithm. Expected HMAC-SHA256');
    return null;
  }


  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    error_log('Bad Signed JSON signature!');
    return null;
  }

  return $data;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}

if (isset($_COOKIE['fbsr_' . YOUR_APP_ID]))
{
$cookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);

$user = json_decode(@file_get_contents(
    'https://graph.facebook.com/me?access_token=' .
    $cookie['access_token']));
}

?>

så længere nede er der login til denne facebook kode som er:


?php if (@$cookie) { ?>
<h2>Welcome <?= $user->name ?> </h2> <br />
E-mail ID: <?= $user->email ?> <?= $user->gender ?>
<br />
<a href="java script://" onclick="FB.logout(function() { window.location='facebook-login.php' }); return false;" >Logout</a>
<?php } else { ?> 
<div id="fb-root"></div>
<fb:login-button src="http://minside.com/images/Small_103x25.png" perms="email, user_status, user_about_me" width="width_value" autologoutlink="true" size="small"></fb:login-button>
<?php } ?>


og så kommer det tidspunkt hvor jeg skal echo noget ud fra min database til forsiden:

<?
$host ="localhost";
$database = "hemmeligt";
$username ="hemmeligt";
$pass ="hemmeligt";

mysql_connect($host, $user, $pass)
or die ('cannot connect to the database: ' . mysql_error());

mysql_select_db($database)
or die ('cannot select database: ' . mysql_error());

$result = mysql_query("SELECT * FROM hemmeligt");



while($row = mysql_fetch_array($result))
  {
  $gamename = $row['gamename'];
  $gameembed = $row['gameembed'];
  $gameviewd = $row['view'];
  $gameimurl = $row['imageurl'];
  $gamecategory = $row['category'];
  $spilid = $row['id'];
 
  echo "<li>
                                <div class='preview'><a href='game.php?id=$spilid' class='frame'><img src='$gameimurl' alt=''/></a></div>
                                <a class='title' href='game.php?id=$spilid'>$gamename</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>";
 
 
  }

?>

Problemet er at den kun viser halvdelen af siden? forstår det simpelthen ikke. Det er som om den bloker fra inholdet ned efter der hvor min database connection er. Og olebole har prøvet med dit <?php
error_reporting(E_ALL); det virkede desværre ikke :(

Men det der sker er efter min database connection, forsvinder resten af siden. Hvis jeg sætter min databaseconnection op i toppen af siden så virker det, altså over facebook SDK koden. Hvad skal jeg gøre :(?

Mvh jesper kaae
Avatar billede olebole Juniormester
14. september 2012 - 13:35 #4
Det kan jeg ikke fortælle dig udfra stumperne ovenfor. Jeg tror, man er nødt til at sidde med filerne selv
Avatar billede jetobi Juniormester
14. september 2012 - 14:09 #5
Hej olebole. Jamen jeg ved jo ikke hvordan jeg skal gøre?

De stumper jeg har sendt der er der hvor fejlen ligger i. Altså SDK'en ligger øverst, og så kommer login og det lidt neden under og så kommer database connection under det igen? hvis du kan hjælpe over teamviewer eller noget ville det være lækkert?

Mvh jesper
Avatar billede olebole Juniormester
14. september 2012 - 14:22 #6
Det kan godt være, at du ikke ved, hvad du skal gøre - men det betyder da ikke, at jeg ved det  =)

"De stumper jeg har sendt der er der hvor fejlen ligger i"

Sålænge, du ikke ved, hvori fejlen består, kan du naturligvis ikke vide, om du viser stedet, hvor fejlen ligger. Vi andre kan f.eks. ikke vide, hvor følgende IF-sætning stopper - og om fejlen evt. ligger i resten af den:

if (isset($_COOKIE['fbsr_' . YOUR_APP_ID]))

Er det noget, du objektivt ved?
Avatar billede olebole Juniormester
14. september 2012 - 14:23 #7
- og nej, jeg løser ikke ekspertenspørgsmål over TeamViewer. Den slags foregår her
Avatar billede jetobi Juniormester
14. september 2012 - 14:27 #8
Okay olebole :-)) men det eneste php jeg har på min side er det jeg har sendt, og det er sådan det er sat op :-)) så alt andet inde på min side er html. :-))

Mvh jesper
Avatar billede olebole Juniormester
14. september 2012 - 15:00 #9
Præcis hvad er det sidste, der bliver skrevet ud til dokumentet?
Avatar billede jetobi Juniormester
14. september 2012 - 15:06 #10
det her er det der kommet efter database connectionen som den ikke gider vise:

       
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/01.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/02.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/03.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/04.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                        </ul>
                    </div>
                    <div id="tab2" class="tab_content">
                        <ul class="items homepage">
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/06.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/05.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/04.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/03.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                        </ul>
                    </div>
                    <div id="tab3" class="tab_content">
                        <ul class="items homepage">
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/03.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/01.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/04.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/06.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                        </ul>
                    </div>
                    <div id="tab4" class="tab_content">
                        <ul class="items homepage">
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/02.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/04.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/01.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                            <li>
                                <div class="preview"><a href="#" class="frame"><img src="images/portfolio/05.jpg" alt=""/></a></div>
                                <a class="title" href="#">Item title</a>
                                <p>Lorem ipsum dolor sit amet, cons eiusmod incididunt.</p>
                            </li>
                        </ul>
                    </div>
                </div>
                <a class="infobox" href="portfolio_3col_filterable_sidebar.html"> Show all the entries.</a>
                <br/>
                <br/>
                <div class="container_12">
                    <div class="grid_4">
                        <h3>Main features</h3>
                        <ol class="list ticklist">
                            <li><span>Aliquam arcu ipsum.</span></li>
                            <li><span>Curabitur ultricies facilisis posuere.</span></li>
                            <li><span>Morbi mollis sem in augue commodo dignissim.</span></li>
                            <li><span>Aliquam arcu ipsum.</span></li>
                            <li><span>Curabitur ultricies facilisis posuere.</span></li>
                            <li><span>Morbi mollis sem in augue commodo dignissim.</span></li>
                        </ol>
                    </div>
                    <div class="accordion grid_8">
                        <div class="trigger"><a href="#">Toggle. Clikc here to show/hide content</a></div>
                        <div class="container">
                            <p><b>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</b></p>
                            <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupid.</p>
                        </div>
                        <div class="trigger"><a href="#">Toggle. Clikc here to show/hide content</a></div>
                        <div class="container">
                            <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p>
                            <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupid.</p>
                        </div>
                        <div class="trigger"><a href="#">Toggle. Clikc here to show/hide content</a></div>
                        <div class="container">
                            <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p>
                            <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupid.</p>
                        </div>
                    </div>
                </div> <!-- container_12 -->
            </div> <!-- inner -->
            <div id="end">
                <div class="inner container_12">
                    <div class="grid_3">
                        <h3>Our clients</h3>
                        <p>Mauris dictum risus eget urna laoreet voluptatum ac placerat dolor varius.</p>
                    </div>
                    <div class="grid_9 scroll">
                        <div class="window">
                            <ul class="reel">
                                <li><a href="#"><img src="images/logos/html5.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/jquery.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/htc.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/wordpress.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/coke.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/css3.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/pullnbear.png" alt=""/></a></li>
                                <li><a href="#"><img src="images/logos/audi.png" alt=""/></a></li>
                            </ul>
                        </div>
                        <a class="arrow_right" href="#"></a>
                        <a class="arrow_left" href="#"></a>
                    </div>
                </div> <!-- inner -->
            </div> <!-- end -->
        </div> <!-- content -->
       
        <footer id="footer">
            <div class="container_12">
                <div class="grid_8">
                    <h4>About Mirage</h4>
                    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation.</p>
                </div>
                <div class="grid_4">
                    <h4>Follow us!</h4>
                    <p>Ut enim ad minim veniam, quis nostrud exercitation.</p>
                    <ul class="socials">
                        <li><a href="#"><img src="images/social/twitter_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/facebook_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/rss_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/google_plus_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/dribbble_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/vimeo_32.png" alt=""/></a></li>
                        <li><a href="#"><img src="images/social/youtube_32.png" alt=""/></a></li>
                    </ul>
                </div>
            </div>
            <hr>
            <span id="copyright">Copyright &copy; 2012 <a href="#"><img src="images/vs32.png" alt=""/> virtualsense</a>. All Rights Reserved.</span>
            <ol class="links right">
                <li><a href="#">Home</a></li>
                <li><a href="#">Portfolio</a></li>
                <li><a href="#">Blog</a></li>
                <li><a href="#">Contact</a></li>
            </ol>
        </footer>
    </div> <!-- wrapper -->

</body>


</html>
Avatar billede michael_stim Ekspert
14. september 2012 - 15:21 #11
$host ="localhost";
$database = "hemmeligt";
$username ="hemmeligt";
$pass ="hemmeligt";

mysql_connect($host, $user, $pass)

Skal det ikke være $username?
Avatar billede olebole Juniormester
14. september 2012 - 15:24 #12
Den HTML-kode er ikke skrevet ud af PHP-koden i #3
Avatar billede olebole Juniormester
14. september 2012 - 15:28 #13
#11: Godt set! Det er helt klart en fejl - men jeg forstår stadig ikke, hvad #10 er for en kode - eller hvor den kommer fra  =)
Avatar billede michael_stim Ekspert
14. september 2012 - 15:37 #14
#13
Tror det er almindelig HTML som kommer efter PHP-koden.
Avatar billede olebole Juniormester
14. september 2012 - 16:00 #15
#14: Hvis ikke koderne efter mysql_connect kyler tydelige fejl i alle retninger, tror jeg mere, der er tale om et helt andet dokument
Avatar billede michael_stim Ekspert
14. september 2012 - 16:17 #16
#15
Tror det er Apache/PHP der er sat op til at stoppe eksekveringen af php-dokumentet efter fejl.

[HTML-kode] Eksekveres
.
.
.
[PHP-kode med fejl] Eksekveres ej
.
.
.
[HTML-kode] Eksekveres ej

Men det kan vi jo æggehvide før opretter kommer på banen.
Avatar billede jetobi Juniormester
14. september 2012 - 17:11 #17
Hej michael og olebole tak for hjælpen!!

og haha michael du fandt sku fejlen :-)) undskyld mit sprog men det var da utrolig at jeg ikke havde set den lidt før.. Men tak for hjælpen. Gider du smide et svar :-))

Mvh jesper :D
Avatar billede jetobi Juniormester
11. december 2012 - 21:28 #18
Eftersom micheal ikke har smidt et svar. Lukker jeg den nu. hvis du vil have dine points skriv en personlig besked. Så finder vi ud af det.
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester