kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: MySQL ausgabe in variable

    geschrieben von smartweb

    genaz einfach ....

    wenn Du mysql_fetch_object(() verwendest ....

    while($row = mysql_fetch_[b]object[/b]($ergebnis)){


    ..... dann muss Du die Daten auch als object behandeln, nicht als Array

    bei Objekt mit -> darauf zugreifen:
    $username = $row->User;

    ... und nicht so
    $username = $row['User'];
    wie bei einem Array

    Du kannst Dir aus den Objekt-Daten dann wieder ein Array bauen:
    $query = "SELECT `ID` FROM `user` WHERE `NAME` = '$name' AND `PASS` = '$pass'";
    
    $ergebnis= mysql_query($query);
    
    $resdata = array(); 
    
    if ($ergebnis) { 
    while($row = mysql_fetch_object($ergebnis)){ 
    	$resdata['ID']  = $resdata->ID; 
    	$resdata['PASS']  = $resdata->PASS; 
    	$resdata['username']  = $resdata->NAME; 
    }
    }
    
    // --------------------------------- 
    
    print "<pre style='background:#DEDEDE;'>\n"; 
    print_r($resdata); 
    print "</pre>\n"; 
    
    // ---------------------------------


    aber Du kannst auch gleich in der while() Schleife die Objekt Inhalte ausgeben

    while($row = mysql_fetch_object($ergebnis)){ 
    	print '<br /> User-ID: ' . $resdata->ID . "\n"; 
    	print '<br /> User-NAme: ' . $resdata->NAME. "\n"; 
    	// ----- usw. ----- 
    }


    aber beachte den Unterschied, bei Array so $ata['key'] und bei Objekt so $data->$key

    :=)
  • in: JS: show/hide nur wenn Inhalt nicht leer

    geschrieben von smartweb

    super Danke

    das firstChild.nodeValue bezieht sich doch auf HTML-Elemet

    wenn ich aber im dynamischen inhalt kein HTML mache, sondern nur reinen Text
    funktioniert dann .firstChild.nodeValue auch, oder nehme ich dann besser .innerHTML

    also für z.B.

    if ($_GET['action'] == '1') { $dyn_inhalt = 'Einfacher Text ohne HTML'; }


    PS: gibt es in JavaScript auch sowas wie trim() von PHP ?
    (Umbrüche und Leerzeichen am Anfang und Ende entfernen)

  • in: JS: show/hide nur wenn Inhalt nicht leer

    geschrieben von smartweb

    Hallo
    ich habe eine kleine JS Funktion welche ein DIV ein-/ aus- belnden soll. (show / hide)

    function show_inhalt() { 
    	var block = document.getElementById('mehr_inhalt'); 
    	if (block.style.display == 'none') { 
    	   block.style.display = 'block';
    	} else { 
    	   block.style.display = 'none'; 
    	}
    }


    Aufruf über LInk:
    <a href="javascript:onClick=show_inhalt();">Show / Hide</a>



    irgendwo im HTML steht dann das DIV welches ein / aus geblendet werden soll

    <div id="mehr_inhalt"></div>


    der Inhalt in diesem DIV wird auch dynamisch (je nach Anbfrage / Aufruf) erzeugt,
    kann aber auch mal leer sein, also gar kein dynamisch erzeugten Inhalt bekommen.

    Wenn jetzt der Inhalt "leer" ist und ich das DIV ein-blende,
    dann wird ein leerer Block angezeigt, weil das DIV per CSS padding und background hat.

    #mehr_inhalt { 
      display:none; 
      position:absolute; 
      width:446px;
      margin:8px 8px; 
      padding:8px; 
      background-color: #EEEEEE; 
      text-align:left; 
      border: 1px solid #000000;			
    }


    Wie bekomme ich es hin, dass das DIV nur dann sichtbar wird,
    wenn es auch einen Inhalt hat, also wenn "leer" dann nicht einblenden ?

    hier mal mein kompletter Test Quellcode:
    <html>
    <head>
    <title>TEST</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <script language="JavaScript" type="text/javascript">
    
    function show_inhalt() { 
    	var block = document.getElementById('mehr_inhalt');  
    	if (block.style.display == 'none' || block.style.display == '') { 
    		block.style.display = 'block';
    	} else { 
    		block.style.display = 'none'; 
    	}
    }
    
    </script>
    
    <?php
    // ------------------------------------------------------ 
    
    if (!empty($_GET['action'])) { 
    	    if ($_GET['action'] == '1') { $dyn_inhalt = '<p> Test:1 blabla1 <strong>Nr.1</strong> ... lalala1 </p>'; } 
    	elseif ($_GET['action'] == '2') { $dyn_inhalt = ''; }  // ----- kein Inhalt / Leer ----- 
    	elseif ($_GET['action'] == '3') { $dyn_inhalt = '<p> Test:3 blabla3 <strong>Nr.3</strong> ... lalala3 </p>'; } 
    	  else { $dyn_inhalt = '<p> Keine Ahnung was Du willst ... </p>'; } 
    }
    else { 
    	$dyn_inhalt = '... nitte eine Aktion ausw&auml;hlen ...';  // ----- kein Inhalt / Leer ----- 
    } 
    
    // ------------------------------------------------------ 
    ?>
    
    
    <style type="text/css">
    
    .blockinfo { 
      width:500px;
      margin:8px auto; 
      padding:8px; 
      text-align:left; 
      border: 1px solid #000000;
    }
    
    #mehr_inhalt { 
      display:none; 
      background-color: #EEEEEE; 		
    }
    
    #test_debug { 
      display:block; 
      background-color: #FFFFCC; 		
    }
    
    </style>
    
    
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    
    <div align="center">
    
    <h1>TEST</h1>
    
    <p> 
     ... <a href="?action=">Home</a> 
     ... <a href="?action=1">Test1</a> 
     ... <a href="?action=2">Test2</a> 
     ... <a href="?action=3">Test3</a> 
    </p>
    
    <p>Mehr Inhalt ... <a href="javascript:onClick=show_inhalt();">Show / Hide</a> ... </p>
    
    <br>
    <br>
    
    <div id="mehr_inhalt" class="blockinfo"><?php print $dyn_inhalt; ?></div>
    
    <br>
    <br>
    
    <div id="test_debug" class="blockinfo"><?php print $dyn_inhalt; ?></div>
    
    <br>
    <br>
    
    </div>
    
    </body>
    </html>


    bei Klick auf Link mit href="?action=2" bleibt der dynamische Inhalt komplett leer,
    ---> wenn das vorkommt, soll der "mehr_inhalt" Block nicht eingeblendet werden

    PS: der dynamische Inhalt wird nicht immer mit PHP erstellt, sondern auch mit JS,
    daher kann ich es nicht über eine PHP-Abfrage if (!empty($dyn_inhalt)) machen.
    weil das ja nur funktioniert, wenn der dynamische Inhalt in PHP erstellt wurde.

  • in: suggestqueries.google unvollständig ?

    geschrieben von smartweb

    prosuche schrieb:
    ... Welche Alternativen zu diesem Google Suggestions gibt es ? ...


    BING: (JSON) http://api.bing.com/osjson.aspx?query=bie&Market=de-DE (Test mit "bie")

    ... wäre eine Alternative bzw. eine Ergänzung.

    sonst evtl auch http://www.openthesaurus.de ist zwar kein Suggestion Service
    aber findet evtl auch passende Begriffe ... (XML) Test mit "bie" ... siehe: "startswithterms"
    Das geht auch mit JSON ... &format=application/json ... siehe OpenThesaurus API Doku

  • in: HTML zu Plain-Text umwandeln

    geschrieben von smartweb

    Hallo

    @kgreen .... nein ich schreibe die Emails nicht selber,
    ich will Emails von anderen empfangen und wenn nur HTML dann umwandeln,
    leider haben einige Absender keine SubTypes mit PLAIN Text sondern nur HTML.

    ich habe jetzt mit einer neuen Funktion eine Lösung die funktioniert.
    dabei werden alle Link-Inhalte, egal ob Text, HTML oder IMG zu reinem Text umgewandelt.

    mein Script sieht jetzt so aus:

    <?php 
    // ------------------------------------------------------- 
    
    header("Content-Type: text/html; charset=utf-8"); 
    
    // ------------------------------------------------------- 
    
    $readfile = 'data/_email_id_1234.htm';  // --- Nachricht im HTML-Format 
    
    $fcontent = file_get_contents($readfile);
    
     
    // ------------------------------------------------------- 
    
    
    function strip_html_links($matches) { 
    	
    	$i=0; 
    	foreach($matches[2] as $linkinhalt) { 
    		
    		$findmich = '<img'; 
    		if (stripos($linkinhalt, $findmich) !== false) { 	
    			preg_match('/alt=["|\'](.*)["|\']/Uis', $linkinhalt, $imatches);
    			$matches[2][$i] = '[IMG] '.$imatches[1]; 	
    		}
    		else { 
    			$matches[2][$i] = '[TXT] '.strip_html_tags($linkinhalt); 
    		}
    		$i++; 
    	}
    	
    	return $matches;
    
    }
    
    // ------------------------------------------------------- 
    
    function strip_html_tags($htmlcode) { 
    	
    	// ---- Zeilenumbruch und Tabs entfernen ----
    	$htmlcode = str_replace("\r", '', $htmlcode);
    	$htmlcode = str_replace("\t", ' ', $htmlcode);
    	
    	// ---- HTML-TAGs zu Plain-Text ----
    	$string = preg_replace ('/<[^>]*>/', ' ', $htmlcode);
    	
    	$string = str_replace('&nbsp;', ' ', $string);
    	$string = html_entity_decode($string);
    	
    	// ---- Mehrfach Leerzeichen entfernen ----
    	$string = preg_replace('/ {2,}/', ' ', $string);
    	
    	// ---- Mehrfach Zeilenumbruch entfernen ----
    	$string = str_replace("\n ", "\n", $string);
    	$string = str_replace(" \n", "\n", $string);
    	$string = preg_replace("/\n\n{2,}/", "\n", $string);
    	
    	$string = trim($string);
    	
    	return $string;
    }
    
    // ------------------------------------------------------- 
    
    
    // ------------------------------------------------------- 
    // ---- RUN (1) ... finde alle Links im HTML-Code als Treffer ---- 
    
    $pattern = '°<a[^>]+href[^>]*=[^>]*["|\']([^"\']+)["|\'][^>]*>(.*)<\/a>°Uis'; 
    
    preg_match_all($pattern,$fcontent,$matches);
    
    
    // ------------------------------------------------------- 
    // ---- RUN (2) ... ersetzte Links in Treffer zu Plain-Text ---- 
    
    $matches = strip_html_links($matches); 
    
    
    // ------------------------------------------------------- 
    // ---- RUN (3) ... ersetzte alle Links im HTML-Code zu Plain-Text ---- 
    
    $z=0; 
    foreach($matches[0] as $linkcode) { 
    	$replace = '# LINK: '.$matches[2][$z].' URL: '.$matches[1][$z].' #'; 
    	$fcontent = str_replace($matches[0][$z], $replace, $fcontent); 
    	$z++; 
    }
    
    
    // ------------------------------------------------------- 
    // ---- RUN (4) ... ersetzte den restlichen HTML-Code zu Plain-Text ---- 
    
    $fcontent = strip_html_tags($fcontent); 
    
    
    // ------------------------------------------------------- 
    // ------------------------------------------------------- 
    
    
    print '<br />'."\n";
    print '<br />'."\n";
    print '<br />'."\n";
    
    // ---- DEBUG --- fertiger TEXT mit Links als Plain-Text ---- 
    
    print '<pre style="margin:18px 6px; padding:4px; text-align:left; background:#DEDEDE; color:#000099;">'."\n";
    print htmlentities(print_r($fcontent, true))."\n";
    print '</pre>'."\n";
    
    print '<br />'."\n";
    print '<br />'."\n";
    print '<br />'."\n";
    
    // ---- DEBUG --- alle Link-Treffer aus HTML-Code ---- 
    
    print '<pre style="margin:18px 6px; padding:4px; text-align:left; background:#DEDEDE; color:#000099;">'."\n";
    print htmlentities(print_r($matches, true))."\n";
    print '</pre>'."\n";
    
    print '<br />'."\n";
    print '<br />'."\n";
    print '<br />'."\n";
    
    
    // ------------------------------------------------------- 
    ?>


    das funktioniert soweit ... hab aber noch nicht viel damit getestet.


    -------------------------------------

    @hackyourlife ... ja Danke, gute Idee das mit DOM zu machen, ist evtl performanter,

    aber mit DOM habe ich noch so gut wie keine Erfahrung,
    werde mir das (Prinzip) erstmal genau ansehen.
    bzw wie ich diese Funktion(en) einsetzen kann.

    habe auch schon an simplexml gedacht, um die Inhalte aus HTML zu verarbeiten
    aber - genauso wie mit DOM - muss dazu der HTML-Code "sauber" verschachtelt sein,
    und ich habe auf die Quelle keinen Einfluss, wenn "schlechtes" HTML ... dann Error ?!

    Danke für den Link zu github ... damit werde ich jetzt mal versuchen, wie es / was geht.

    Bis dahin funktioniert "mein Script" mit dem "RegEx" Gedöns ja schonmal,
    oder findet jemand darin noch einen (gravierenden) Denk-Fehler oder Biug ... ?!



  • in: Fehler bei Passwort PHP

    geschrieben von smartweb

    Hallo


    lass einfach dieses header('Status...') Zeugs weg
    und mach Weiterleitung auf Deine index.php im gleichen Verzeichnis, ohne Host und Path

    <?php
         if (!empty($_POST['username']) && !empty($_POST['passwort'])) { 
          session_start();
    
          $username = $_POST['username'];
          $passwort = $_POST['passwort'];
    
          // Benutzername und Passwort werden überprüft
          if ($username == 'test' && $passwort == 'lima') {
           $_SESSION['angemeldet'] = true;
    
           // Weiterleitung zur Startseite
           header('Location: index.php');
           exit;
           }
          }
    ?>


    PS:
    ich glaube das so ein $_SESSION['angemeldet'] = true; nicht wirklich "sicher" ist

    ist zwar nicht viel besser, aber schau dir mal diesen Code --> LINK an
    ... da ist die Prüfung immerhin mit Hash = Salt + Password
    ausserdem siehst Du da auch gleich wie man Logout machen kann (session_destroy)

  • in: HTML zu Plain-Text umwandeln

    geschrieben von smartweb

    Hallo

    ich möchte HTML-Code zu Plain-Text umwandeln
    zum Zweck ... Emails die nur im HTML-Format vorliegen zu reinem Text machen.

    ich habe auch schon eine Funktion dazu gebastelt.
    // ------------------------------------------------------------------ 
    
    function strip_html_tags($htmlcode) { 
    	
    	// ---- Zeilenumbruch und Tabs entfernen ---- 
    	$htmlcode = str_replace("\r", '', $htmlcode); 
    	$htmlcode = str_replace("\t", ' ', $htmlcode); 
    	
    	// ---- HTML-TAGs zu Plain-Text ---- 
    	$string = preg_replace ('/<[^>]*>/', ' ', $htmlcode); 
    	
    	$string = str_replace('&nbsp;', ' ', $string); 
    	$string = html_entity_decode($string);
    	
    	// ---- Mehrfach Leerzeichen entfernen ---- 
    	$string = preg_replace('/ {2,}/', ' ', $string);
    
    	// ---- Mehrfach Zeilenumbruch entfernen ---- 
    	## $string = str_replace("\n ", "\n", $string); 
    	## $string = str_replace(" \n", "\n", $string); 
    	## $string = preg_replace("/\n\n{2,}/", "\n", $string);
    	
    	$string = trim($string);
    	
    	return $string; 
    
    } 
    
    // ------------------------------------------------------------------


    Diese Funktion funktioniert zwar ganz gut, ...
    ... die mit ## aus-kommentierten Teile sind optional (nicht so wichtig)
    der entscheidente Teil ist wohl der Teil: "HTML-TAGs zu Plain-Text"

    ... aber wenn im HTML auch LInks sind, dann verschwinden die natürlich auch,
    ich hätte aber gerne was, dass mir die Link-URLs bei-behält.

    Beispiel:
    <p> Das ist normaler <strong>Text</strong> und jetzt kommt 
    ein Link <a href="http://www.google.de">Klick mich</a> dazu</p>


    gibt bisher:
    Das ist normaler Text und jetzt kommt 
    ein Link Klick mich dazu


    ich hätte gerne sowas in der Art:
    Das ist normaler Text und jetzt kommt 
    ein Link [Klick mich] http://www.google.de dazu

    es muss nicht exact diese Form haben, hauptsache Link-Text und Link-URL erkennbar.

    Problem wird dabei auch sein, wenn im HTML ein <img> als Link ist
    dann könnte man den Alt-Text als [Link-Text] nehmen,
    aber das setzt voraus, das der <img> Tag auch ein alt-Text hat.

    ... wie gesagt,
    das Ziel ist es Emails die nur in HTML vorliegen zu reinem Text umwandeln,
    dabei sollen aber Link-URLs (zumindest von Text-Link) erhalten bleiben.

    jemand ne Idee ? ... andere Lösung für "Email HTML-Code zu Plain-Text" ?

Login zum Webhosting ohne Werbung!