kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: SESSION gibt Array aus

    geschrieben von btausch

    ja klar, denn $_SESSION ist ja auch ein Array .... das soll so sein

    versuch es mal mit print_r() um das Array "formatiert" auszugeben
    print "<pre>\n"; 
    print_r($_SESSION); 
    print "</pre>\n";


    oder, wenn Du nur ein bestimmtes Element von $_SESSION ausgeben willst,
    dann musst Du den Array-Key (Name) kennen,

    zum Beispiel:
    echo $_SESSION['username'];


    PS: immer dran denken, wenn Arbeiten mit $_SESSION
    dann muss es im Code auch ein
    session_start();
    geben
    bevor irgend eine Ausgabe an Browser geht (also ganz oben mit rein)
  • in: imap_fetch_overview - keine Absender-Adresse ?

    geschrieben von btausch

    Hallo

    ich möchte eine Übersicht von Emails aus einem Postfach ausgeben
    aber mit imap_fetch_overview() bekomme ich als 'from' sehr oft
    nur den Ansender-Name und nicht die Absender Email-Adresse ?!?

    $mbox = imap_open($h_host,$m_user,$m_pass) or die("Could not open Mailbox");
    
    $mcheck = imap_check($mbox);
    
    $mbox_overview = imap_fetch_overview($mbox,"1:{$mcheck->Nmsgs}",0); 
    
    // --- usw.


    muss ich dafür jede einzelne Message-NR auch noch imap_headerinfo() aufrufen ?

    foreach($mbox_overview as $msgitem) { 
       print "<br />".$msgitem->msgno."\n";
       print "<br />".$msgitem->date."\n";
       print "<br />".$msgitem->subject."\n";
       print "<br />".$msgitem->from."\n";   // --- hier kommt nur der Absender Name --- 
       print "<br />\n";
    
       $mid = $msgitem->msgno; 
       $msg_header = imap_headerinfo($mbox, $mid);
       print '<pre>'.  print_r($msg_header->from, true) . '</pre>
    
       $from_email = $msg_header->from[0]->mailbox . '@' . $msg_header->from[0]->host; 
    
       print "<br />".$from_email."\n";   // --- hier kommt die Absender Email-Adresse--- 
       print "<br />\n";
    }


    gibt es keine Übersicht -Liste, die bereits die Absender Email-Adresse enthält ?
    .. weil bei sehr vielen Emails kann das sonst die Ressourcen / Laufzeit sprengen.

    EDIT

    Problem gelöst ....

    in den Daten steht z.B:
    [from] => Donald Duck <donald_duck@test.de>


    aber mit print der Daten
    print $msgitem->from;
    wird das in den spitzen Klammern nicht sichtbar abgezeigt

    mit
    print htmlentities($msgitem->from);
    wird auch die Absender Email-Adresse angezeigt
    ist also doch da ...
    ich kann die "reine" Email-Adresse dann heraus holen mit

    $mftxt = (string)$msgitem->from; 
    
    if (strpos($mftxt,'<') !== false) {
    preg_match('/<(.*?)>/', $msgitem->from, $matches);
    $mail_from = $matches[1]; 
    }
    else {
    $mail_from = $mftxt; 
    }


    oder jemand ne bessere Idee ?!

    EDIT .. ja ...

    $mftxt = (string)$msgitem->from; 
    
    if (strpos($mftxt,'<') !== false) {
    $mp1 = strpos($mftxt,'<')+1; 
    $mp2 = strpos($mftxt,'>')-1; 
    $mail_from = substr($mftxt, $mp1 ,-1);
    }
    else {
    $mail_from = $mftxt; 
    }


    :)
  • in: Lesezeichen in Firefox per Klick hinzufügen geht nicht mehr

    geschrieben von btausch

    das habe ich alles schon selber gegoogelt
    und du hast wohl auch die Frage falsch verstanden,

    ich will nicht wissen wie das geht (die Funktion dazu habe ich ja bereits)
    sondern warum das vor kurzem im FF noch ging, aber jetzt nicht mehr geht.

    anscheinend ist der JS Aufruf mit window.sidebar "Deprecated" (veraltet)

    daher die Folge-Frage: gibt es jetzt eine andere Möglichkeit,
    um dem User einen Link anzubieten, (für gängige Browser)
    mit dem er die aktuelle Seite zu seinen Lesezeichen hinzufügen kann ?

    wenn man nach dem Thema googelt, findet man nur die "alte" Variante,
    die aber ja leider nicht mehr Funktioniert.
  • in: Habe vergessen wie ich CSS in PhP einlinke

    geschrieben von btausch

    webfreclan schrieb:
    PHP kann HTML ausführen - HTML Code:
    <link rel="stylesheet" type="text/css" href="design.css">


    nicht ganz richtig ... :)

    PHP kann "nur" einen String an den Browser senden
    dieser kann dann vom Browser als HTML interpretiert werden.

    <?php 
    
    print '<link rel="stylesheet" type="text/css" href="design.css">'."\n"; 
    
    ?>


    sorry für meine Spitzfindigkeit.
  • in: PHP Script im Hintergrund starten

    geschrieben von btausch

    Hallo

    wenn das regelmäßige Aufgaben sind (z.B. 1x am Tag)
    dann könte man das Script auch über einen CronJob starten

    einfach einen GET Request zum Auslösen des Script per CronJob senden
    also z.B. mit deinscript.php?run=backup&typ=mysql

    Der Webspace von Lima-City selbst bietet glaube ich keine CronJobs an
    aber es gibt verschiedene Dienste, die das auch mit externem Aufruf machen
    dazu einfach mal nach "free cron-job" googeln.

    Laufzeit 10 Sekunden ist relativ lang,
    wenn möglich, evtl. die Aufgaben in mehrere kleinere Scripte aufteilen,
    so dass jedes einzelne Script nur ca.. 3 bis 5 Sekunden Laufzeit braucht
    damit nicht wegen timeout das Script vor Erledigung seiner Aufgabe abgebrochen wird.


    PS: warum heisst diie Funktion curl_request_async() , obwohl sie fsockopen() verwendet
    bzw. anders gefragt ... warum nimmst Du da fsockopen() und nicht einen curl Aufruf ?!

  • in: Lesezeichen in Firefox per Klick hinzufügen geht nicht mehr

    geschrieben von btausch

    Hallo

    diese Funktion hat bisher funktioniert ... jetzt nicht mehr für FF (Firefox Browser)
    ... zum hinzufügen als Lesezeichen per (Link-) Klick

    function seitemerken() { 
    	
    	var xlink = window.document.location; 
    	var xname = window.document.title;
    	
    	if (window.external && window.external.AddFavorite) { 
    		window.external.AddFavorite(xlink,xname); // IE4 and later 
    	}
    	else if (window.sidebar && window.sidebar.addPanel) { 
    		window.sidebar.addPanel(xname,xlink,''); // Gecko/firefox
    	}
    	else {
    		alert("Sorry, your browser doesn't support this");
    	}
    
    }


    Der Link dazu:
    <a href="javascript:seitemerken();">Seite merken als Lesezeichen</a>


    das hat damit bisher funktioniert (im FF), aber jetzt kommt auf einmal die alert Fehlermeldung

    hat FF window.sidebar abgeschafft, oder heisst das jetzt anders ?

    Wie kann ich für Homepage-Besucher einen Link anbieten,
    mit dem er die aktuelle Seite als Lesezeichen (im FF) anlegen kann ?

    ---> Ich will das Dialog-Fenster per Maus-Klick geöffnet bekommen,
    das bei FF mit CTRL + D kommt (STRG + D) ... Lesezeichen in FF neu anlegen

    EDIT ... (wie) kann man mit JS eine Tastenkombination (STRG + D) auslösen ?
  • in: Crawler und Bots (IP-Bereiche) sperren

    geschrieben von btausch

    Hallo
    ich habe eine HOmepage, die wird von (unerwünschten) Bots überrannt,
    zum Teil aus DE, USA, China, Japan, etc. ... die kommen 100 mal täglich und öfter


    ich möche von meiner Webseite also bestimmte Crwaler / Bots aussperren

    manche kommen immer mit ähnlicher IP-Adresse, da könnte ich doch deren IP-Block sperren ?
    ... wie macht man das ... EDIT: in der robots.txt


    deny from 144.76.22

    oder
    deny from 144.76.22.0/8


    habe das mit dem .0/8 in einem BSP gesehen, aber was macht das,
    nur von 144.76.22.0 bis 144.76.22.8 .... ??



    aber andere kommen mit sehr unterschiedlichen IPs, kann ich diese dann über user-agent sperren ?


    user-agent: trendictionbot
    disallow: /

    user-agent: AhrefsBot
    disallow: /

    wie muss der "String" nach user-agent: "Befehl" im HTTP_USER_AGENT] vorkommen ?
    ... genau oder irgendwie als Teilstring ?

    Bsp:

    [HTTP_USER_AGENT] => Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

    würde das dann schon funktionieren (nur mit Teil-String)
    user-agent: Yandex
    disallow: /


    oder muss ich den "genauen" Name des Bots kennen ?

    ---> gibt es eine (aktuelle) Liste mit "bösen" Bots, die man aus-sperren sollte
    also eine Sammlung der IPs oder User-Agents von unerwünschten crwalern ?


Login zum Webhosting ohne Werbung!