Diesen Code richtig einbauen (Anfängerfrage...)

  • Diesen Code richtig einbauen (Anfängerfrage...) *noch nicht erledigt

    hey, ich hoffe ihr könnt mir hier leicht helfen!

    also ich habe einen button, welcher nur angezeigt werden soll, wenn vorher geprüft wurde, ob ein server überhaupt verfügbar ist!

    Der Button:

    und der Code, der den Server prüft:

    PHP
    <?php
            $fp = @fsockopen ("webtools.yigg.de", 80, $errno, $errstr, 1);
            if ($fp) { 
           // BUTTON ANZEIGEN
     } else { // BUTTON NICHT ANZEIGEN } ?>

    wie verbinde ich die jetzt miteinander?

    vielen dank schonmal für jede Hilfe!!

    gruss

    Einmal editiert, zuletzt von klonschaf (28. März 2008 um 15:59)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • mh, jetzt sind die Server eigentlich wieder online, jedoch erscheint der Button leider nicht....:neutral:
    eine ähnliche Seite nutzt auch diesen code für den yigg-button, und auf der werden die buttons wieder angezeigt...

    bin da auf eure hilfe angewiesen...wüsste nicht, was jetzt an dem code nicht so ganz stimmt:-?

    PHP
    <?php if( is_single() &&  
    is_resource( @fsockopen("webtools.yigg.de", 80, $errno, $errstr, 1) ) ) : ?>

    ist is_resource denn überhaupt der richtige conditional tag?? die gibt doch nur TRUE raus, wenn es sich um eine Ressource handelt...
    mhmh...keine ahnung:)

    Einmal editiert, zuletzt von klonschaf (28. März 2008 um 16:42)

  • is_resource() ist ausnahmsweise mal kein Conditional Tag sondern eine native PHP-Funktion, die zurückliefert ob es sich bei dem übergebenen Wert (in diesem Fall der Rückgabewert von fsockopen() ) um eine Resource handelt. Das ist dann der Fall, wenn die Verbindung erfolgreich war.

    Der von mir angegebene Code prüft also, ob du dich auf einer single-Seite befindest und fsockopen() eine Resource zurückgegeben hat. Benötigst du die Resource nochmal irgendwo?

  • mh, ok...war nur so eine idee...!

    nein, nutze die ressource sonst nirgenswo!

    letztes mal war bei mir auch irgendwie allow_url_fopen deaktiviert...

    vielleicht wenn man es so versucht..!?

    [COLOR=#000000][COLOR=#0000cc]<?php[/COLOR][/COLOR]
    [COLOR=#000000][COLOR=#0000cc]$host [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#cc0000]'webtools.yigg.de'[/COLOR][COLOR=#006600];
    [/COLOR][/COLOR][COLOR=#000000][COLOR=#006600]if( [/COLOR][COLOR=#0000cc]is_single[/COLOR][COLOR=#006600]() &&
    [/COLOR][COLOR=#0000cc]is_resource[/COLOR][COLOR=#006600]( @[/COLOR][COLOR=#0000cc]fsockopen[/COLOR][COLOR=#006600]([/COLOR][COLOR=#cc0000]"[/COLOR][/COLOR][COLOR=#000000][COLOR=#0000cc]$host[/COLOR][/COLOR][COLOR=#000000][COLOR=#cc0000]"[/COLOR][COLOR=#006600], [/COLOR][COLOR=#0000cc]80[/COLOR][COLOR=#006600], [/COLOR][COLOR=#0000cc]$errno[/COLOR][COLOR=#006600], [/COLOR][COLOR=#0000cc]$errstr[/COLOR][COLOR=#006600], [/COLOR][COLOR=#0000cc]1[/COLOR][COLOR=#006600]) ) ) : [/COLOR][COLOR=#0000cc]?>[/COLOR][/COLOR]

    EDIT: oho...scheint zu funktionieren!!
    war ja mehr Zufall als sonst was!! :D

    aber danke dir!!
    hast ja letztens schon die lösung herausgefunden!!
    war einfach das selbe Problem wahrscheinlich!

    aber hab auch keine Möglichkeit gefunden dieses allow_url_fopen zu aktivieren...

    Einmal editiert, zuletzt von klonschaf (28. März 2008 um 19:29)

  • Achso, was ich grade sehe - der letzte Parameter von fsockopen() gibt den Timeout an. Der ist mit 1 (Sekunde) natürlich ziemlich knapp bemessen. Reagiert die Seite in der Zeit nicht, dann wird natürlich auch keine Ressource zurück geliefert. Ich vermute mal da liegt das Problem. Versuch das mal etwas höher zu setzen. Natürlich kann dadurch wieder die Anzeigegeschwindigkeit etwas leiden. Der restliche Code sollte eigentlich so in Ordnung gehen. Und deine Fehlermeldung von weiter oben sagt ja auch, dass der Funktionaufruf okay ist, und nur keine Verbindung aufgebaut werden konnte.

    Ob du den Host per Variable übergibst oder direkt als String ist mal einfach gesagt wurscht. ;-)

    Zitat

    aber hab auch keine Möglichkeit gefunden dieses allow_url_fopen zu aktivieren..

    Das kann nur dein Hoster.

  • ja, das Problem ist nur wieder, dass die ganze Seite erst geladen wird, wenn der Button fertig ist. So würde sich das ganze auf 2,3 oder 4 Sekunden direkt verlängern.
    Und bei Normalverhältnissen des Servers funktioniert es ja auch so...da bin ich schon mehr als zufrieden mit :)

    gruss

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!