kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: W3C validator Error wegen Content-Encoding

    geschrieben von linkrank

    Hallo

    leider immernoch das Problem.

    wenn ich mache
    Header set Content-Encoding: identity


    dann sagt W3C Validator

    A fatal error occurred when attempting to decode response body from http://girokonto.self-tcl.de/index.php. Either we do not support the content encoding specified ("none, identity"), or an error occurred while decoding it.

    The error was: Don't know how to decode Content-Encoding 'none'


    auch wenn ich mache:
    wenn ich mache
    Header unset Content-Encoding
    Header set Content-Encoding: identity


    ... das gleiche, dieses 'none' bleibt einfach :(

    wenn ich das mit dem FilesMatch mache,
    dann ändert sich auch nix .... ?!?!
  • in: Variable-Name (als String) ausgeben

    geschrieben von linkrank

    hackyourlife schrieb:

    Also
    $blah = 'hallo';
    $varname = 'blah';
    echo $$varname; // gibt »hallo« aus


    a) dazu müsste ich aber vorher wissen, dass 'blah' der Variable-Name ist
    b) ich will nicht den Inhalt der $blah sondern wenn $blah übergeben wird, dann 'blah' als String


    ... einfach zu jeder x-beliebigen Variable, die an meine Funktion übergeben wird
    deren "Bezeichnung" herausfinden / ausgeben,

    siehe Anwendungs-Beispiel (debug_print Funktion oben)

    BSP Aufruf
    debug_print($haumichblau);
    soll über dem <pre> stehen: Variable: haumichblau
    oder
    BSP Aufruf
    debug_print($datenarray);
    soll über dem <pre> stehen: Variable: datenarray


    alternativ könnte ich die Funktion um ein Argument "varname" erweitern,
    und den Bezeichner / Name der Variable auch noch (als String) übergeben

    function debug_print($var, $varname='', $htm=false, $ret=false) {
         
        $var_str = print_r($var, true);
     
        if ($htm !== false) { $var_str = htmlentities($var_str); }
         
        $outstr = '';  
    
        $outstr = '<p>Variable: <strong>' .$varname . '</strong></p>'."\n";
         
        $outstr .= '<pre style="margin:18px 6px; padding:4px; text-align:left; background:#DEDEDE; color:#000099;">'."\n";
        $outstr .= $var_str."\n";
        $outstr .= '</pre>'."\n";
         
        if ($ret !== false) { $result = $outstr; }
        else { print $outstr; $result = true; }
         
        return $result;
    }


    und dann bei Aufruf eben jedesmal den Name der Variable als 2tes Argument mit übergeben

    BSP Aufruf
    debug_print($haumichblau,'haumichblau');

    oder
    BSP Aufruf
    debug_print($datenarray,'datenarray');


    aber dann muss ich jeden Aufruf der Funktion entsprechend umschreiben
    weil ja ein "neues" Argument dazu gekommen ist ... und sich folgende Argumente um 1 nach rechts verschieben


    Warum sollte Keine von den beiden print_varname Funktionen verwendet werden ???
    ... damit funktioniert es doch, dass ich den Bezeichner / Name der Variable als String bekomme


  • in: Variable-Name (als String) ausgeben

    geschrieben von linkrank

    ok, Danke
    diese zwei Funktionen funktionieren,

    function print_varname1($var) {
        foreach($GLOBALS as $var_name => $value) {
            if ($value === $var) {
                return $var_name;
            }
        }
    
        return false;
    }


    und

    function print_varname2($var) {
    	$var_name = array_search($var, $GLOBALS);
    	return $var_name;
    }


    bleibt die Frage, welche die "bessere" ist, also weniger Ressourcen verbraucht.



  • in: Crawler und Bots (IP-Bereiche) sperren

    geschrieben von linkrank

    nicht in der robots.txt machen,
    die wird (vorallem von bösen Bots) oft ignoriert

    in der .htaccess

    Order deny,allow
    Deny from 5.10.83.0/24
    Deny from 144.76.22.0/24
    Deny from 141.8.147.20


    oder in PHP, bevor irgend etwas ausgegeben wird
    die Variable $_SERVER['REMOTE_ADDR'] auf unerwünschte IP-Teile prüfen

    $block_ips = array( 
      '5.10.83', 
      '144.76.22', 
      '141.8.147.20',
    ); 
    
    $userip = $_SERVER['REMOTE_ADDR']; 
    
    foreach($block_ips as $bip) { 
    
    if ( strpos($userip, $bip) !== false )  { 
    print "<p>blocked</p>; 
    exit; 
    }


    anstatt strpos() kann man evtl. auch ein preg_match oder anderes Verwenden,
    um zu Prüfen, ob die User-IP einen der zu blockenden IP-Bereich entält.

    strpos() ist etwas buggy ... weil auch 188.5.10.83 "geblockt" wäre
    obwohl man ja "nur" 5.10.83.0 bis 5.10.83.255 blocken will ...
    also müsste man auch testen, ob die User-IP mit dem geblockten Bereich beginnt,
    nicht nur, ob der Bereich "enthalten" ist ... also wohl besser preg_match()
    aber den passenden pattern dafür hab ich jetzt grad auch nicht auf der Pfanne
    :)=

  • in: Variable-Name (als String) ausgeben

    geschrieben von linkrank

    Hallo

    wie bekomme ich den aktuellen Variable-Name als String ?

    BSP:

    $meinedaten = 'Blabla bla bla irgendwas';


    ich will den Name der Variable: 'meinedaten' als String in einer neuen Variable haben

    $varname = 'meinedaten';


    damit ich als Ausgabe sowas machen kann wie:

    print "<p> Der Inhalt von ".$varname." ist ".$meinedaten."</p>\n";


    also nicht den Inhalt der Variable, sondern die Bezeichnung / den Name der Variable
    .... ohne dass der Variable-Name vorher bekannt ist, ... innerhalb einer Funktion


    nochmal als Anwendungs-Beispiel ...

    function debug_print($var, $htm=false, $ret=false) { 
    	
    	$var_str = print_r($var, true); 
    
    	if ($htm !== false) { $var_str = htmlentities($var_str); } 
    	
    	$outstr = ''; 	
    
    // ---- wie bekomme ich den Name der Variable als Text ??? 
    ## 	$varname = ?????	
    ## 	$outstr = '<p>Name der Variable: <strong>' .$varname . '</strong></p>'."\n"; 
    	
    	$outstr .= '<pre style="margin:18px 6px; padding:4px; text-align:left; background:#DEDEDE; color:#000099;">'."\n"; 
    	$outstr .= $var_str."\n"; 
    	$outstr .= '</pre>'."\n"; 
    	
    	if ($ret !== false) { $result = $outstr; } 
    	else { print $outstr; $result = true; } 
    	
    	return $result; 
    }


    der aus-kommentierte Teil zeigt mein Problem .... wie erhalte ich den Bezeichner / Name der Variable

    also bei Aufruf ....
    debug_print($meinedaten);

    soll in der Ausgabe auch der Name der Variable (hier: 'meinedaten') erscheinen.


  • in: W3C validator Error wegen Content-Encoding

    geschrieben von linkrank

    Hallo

    Adresse der Domain: http://www.self-tcl.de
    W3C HTML Validator: http://validator.w3.org/check?uri=http://www.self-tcl.de

    auch wenn ich charset auf UTF-8 umstelle ... der gleiche Fehler

    bei vielen Domains, die auf dem selben Webspace leigen ist das gleiche Problem,
    aber nicht bei allen, bei einigen Domains geht es auch problemlos (successfully checked)
    und vor ein paar Tagen konnte ich noch alle im W3C HTML Validator "abfragen"

    auch wenn ich die .htaccess Dateien komplett entferne, bleibt das Ergebnis so
    ... gleicher Webspace (Server) aber manche senden "komischen" Header
    mit [Content-Encoding] => none

    bei der Domain wo es funktioniert,
    kommt mit get_headers() gar kein Feld: [Content-Encoding] dafür
    [Vary] => Accept-Encoding

    aber auf Unterseite, dann doch wieder der Fehler ... dieses Content-Encoding: none im Header ?!?

    vgl: ... reisetower.de ... und ... reisetower.de/land1.php


    auf den Seiten, wo es "nicht" funktioniert,
    kommt auch ein HEADER Feld:
    [Set-Cookie] => stats=446501053769c06c565094b26d26e8ef; expires=Fri, 21-Jun-2013 17:01:26 GMT

    aber ich hae dort gar kein Cookie gesetzt ?!?! .... häää?


    Wenn ich in der .htaccess versuche:
    Header unset Content-Encoding: none

    dann kommt
    Status = HTTP/1.1 500 Internal Server Error

  • in: Update jQuery Latest Version

    geschrieben von linkrank

    Hallo

    ich habe einen PHP-Code, der soll prüfen ob es eine neue jQuery Version gibt
    und wenn ja, die neue Datei abholen und auf Webspaace speichern ... mit copy() Befehl

    Damit die Prüfung nicht bei jedem Aufruf geschieht, sondern nur in bestimmten Zeit-Abständen
    habe ich eine "cache_time" angegeben, mit der dieser Zeit-Abstand (in Sekunden) gesetzt wird.

    (hier
    $cache_time = (3600*24*3);
    nur alle 3 Tage


    Datei: jqueryupdate.php (Update jQuery Latest Version Local File) http://pastebin.com/4YQDNm1t

    <?php 
    // ------------------------------------------------------------- 
    
    header('Content-Type: text/html; charset=utf-8');
    
    // ------------------------------------------------------------- 
    
    
    $time_stamp = time(); 
    $cache_time = (3600*24*3); 
    
    $source_url = 'http://code.jquery.com/jquery-latest.min.js'; 
    $local_file = 'jquery-latest.min.js'; 
    
    
    // ------------------------------------------------------------- 
    
    function update_jquery($source_url, $local_file, $cache_time, $time_stamp) { 
    	
    	$vstatus = false; 
    	
    	$last_update = @filemtime($local_file); 
    	
    	if (!$last_update || ($cache_time < ($time_stamp - $last_update))) { 
    
    	if (!file_exists($local_file)) { 
    		copy($source_url,$local_file); 
    		$vstatus = 'new'; 
    	}
    	else { 
    		$pattern = "@\!\s(.*?)\s\|@";
    		
    		$loc = file_get_contents($local_file); 
    		preg_match($pattern,$loc,$mloc); 
    		
    		$ext = file_get_contents($source_url);
    		preg_match($pattern,$ext,$mext); 
    		
    		if ($mloc[1] == $mext[1]) { 
    			touch($local_file,$time_stamp);
    			$vstatus = 'no_change'; 
    		}
    		else { 
    			copy($source_url,$local_file); 
    			$vstatus = 'update'; 
    		}
    		
    	}
    	
    	}
    	else { 
    	$vstatus = 'cached'; 
    	}
    	
    	return $vstatus; 
    
    }
    
    // ------------------------------------------------------------- 
    
    
    $jver_status = update_jquery($source_url, $local_file, $cache_time, $time_stamp);
    
    
    // ------------------------------------------------------------- 
    
    
    print "<p>Update Status: ".$jver_status."</p>\n"; 
    
    
    // ------------------------------------------------------------- 
    ?>


    jetzt funktioniert aber bei manchen Webspaces das copy() nicht, obwohl allow_url_fopen = on

    Welche Alternative habe ich, um die externe Datei bei Bedarf auf den Webspace zu kopieren ?

    EDIT:
    und gibt es eine Möglichkeit für Webspace mit PHP aber allow_url_fopen = off ???

  • in: W3C validator Error wegen Content-Encoding

    geschrieben von linkrank

    Hallo

    ich habe eine Domain (anderer Webspace)
    die beim W3C HTML validator nicht meh gelesen werden kann.

    Sorry! This document cannot be checked.
    .... The error was: Don't know how to decode Content-Encoding 'none'


    Vor paar Tagen ging es noch, ich habe an der Seite nichts geändert, also
    wohl am Server (wo ich keinen Einfluss habe) hat sich was geändert ?!

    Wenn ich den Header der URL aufrufe, ist da enthalten:
    [Content-Encoding] => none


    Der Content-Type auf dieser Seite ist:
    [Content-Type] => text/html; charset=iso-8859-1


    wenn ich in der .htaccess hinzufüge:
    Header set Content-Encoding "iso-8859-1"


    dann kommt als Fehlermeldung bei W3C Validator:
    .... The error was: Don't know how to decode Content-Encoding 'iso-8859-1'


    was muss ich (kann ich) tun,
    damit das 'Content-Encoding' wieder funktioniert ?!


  • in: HTML Tabelle: Trennstrich zwischen spalten entfernen

    geschrieben von linkrank

    Hallo

    also wen ich Tabelle direkt mit border="0" mache, ganz ohne CSS,
    dann kommt bei mir auch kein Rand (im FF)

    <table width="500" border="0" cellspacing="2" cellpadding="4" align="center">
      <tr align="left" valign="top">
        <td width="50%">Zeile 1 - Spalte 1</td>
        <td width="50%">Zeile 1 - Spalte 2</td>
      </tr>
      <tr align="left" valign="top">
        <td width="50%">Zeile 2 - Spalte 1</td>
        <td width="50%">Zeile 2 - Spalte 2</td>
      </tr>
    </table>


    vielleicht ist in Deinem CSS das tr schon irgendwo definiert,
    wenn ja, mach es (wie schon gesagt) einfach so mit CSS

    tr { border: none; }


    oder direkt in der Tabelle als style
    <tr align="left" valign="top" style="border: none;">




Login zum Webhosting ohne Werbung!