brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-09-2006, 00:07
Deathrow
 Member
Links : Onlinestatus : Deathrow ist offline
Registriert seit: Jul 2003
Ort: Germany
Beiträge: 305
Deathrow ist zur Zeit noch ein unbeschriebenes Blatt
Deathrow eine Nachricht über ICQ schicken Deathrow eine Nachricht über AIM schicken
Standard mailinhalt?

Hallo!

Ich habe mir etwas in PHP geschriebe mit einer Klasse, die es schon gab, aber leider holt der vom body immer nur die erste zeile - aber wieso?

der code:
PHP-Code:
<?php
session_start
();

// !!!!
$mails = array(); // unveraendert lassen!
// !!!

if ($_REQUEST['emplog']) $_SESSION['emplog'] = $_REQUEST['emplog'].'@********';

if (!
$_SESSION['emplog']) die ('Keinen User gewählt!'); else echo $_SESSION['emplog'];

$mysql['host'] = 'localhost';
$mysql['user'] = 'root';
$mysql['pass'] = '********';
$mysql['db'] = '********';
mysql_connect ($mysql['host'], $mysql['user'], $mysql['pass']);
mysql_select_db ($mysql['db']);

$server '********';
$port '110';
$uname '********';
$passwd '********';

function 
pop_login () {
 global 
$pop3$auth$error_msg$count;
 global 
$server$port$uname$passwd;

 
# connect to the pop server
 
if ( ! $pop3->connect($server$port) ) {
  
$error_msg .= sprintf("Failed to connect to POP server %s on port %s.<br><small>%s</small>"$auth->auth["server"], $auth->auth["port"], $pop3->ERROR);
 }

 
# login to the POP server
 
$count $pop3->apop($uname$passwd);
 if ( 
$count ) {
  
$error_msg .= "Failed to login to POP server<br><small>$pop3->ERROR</small>";
 }
}

include(
dirname(__FILE__)."/lib/poprepend.inc");
pop_login();

if (
$_GET['del']) {
    if ( 
$pop3->delete($_GET['del']) ) {
      echo 
"gelöscht!";
  
$pop3->quit();
  
pop_login();
    } else {
      echo 
"<br>Failed to delete message number $id. <br><small>$pop3->ERROR</small>";
    }
}

echo 
$error_msg;
for ( 
$i 1$i <= $count$i++ ){
# get the size of this message
  
$size $pop3->pop_list($i);
  
# get the headers and zero lines of body
  
$body_lines 0;
//  $header_array = $pop3->top($i, $body_lines);
  
$header_array $pop3->get($i);
  
$show_msg TRUE;

# reset header variables
  
$from $subject $date "&nbsp;";

# loop through the headers and look for the stuff
# we are interested in...
    
$in_body 'false';
  while ( list (
$linenbr$line) = each ($header_array) ) {

    
$body '';

    if ( 
eregi ("^From:(.*)"$line$match) ) {
      
$from trim $match[1] );

    } elseif ( 
eregi ("^To:(.*)"$line$match) ) {
      
$to trim $match[1] );

    } elseif ( (!
$cc) and (eregi ("^cc:(.*)"$line$match)) ) {
      
$cc htmlentities(trim $match[1] ));

    } elseif ( 
eregi ("^Subject:(.*)"$line$match) ) {
      
$subject trim $match[1] );
      
# skip pine generated internal messages      
      
if ( ereg ("DON\'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA"$subject) ) {
        
$show_msg FALSE;
      }
    
    } elseif ( 
eregi ("^Date:(.*)"$line$match) ) {
      
$date trim $match[1] );
//
// und hier die nächsten 2 elseif stimmt irgendwas nicht...
//
    
} elseif ( eregi ("^\r"$line) ) {
      
$in_body true;

    } elseif ( 
$in_body ) {
      
$body .= "<br>" htmlentities($line);
    }
  } 
# for each line in the message header

  
if ( $show_msg && $to == $_SESSION['emplog']) {

$sql "INSERT INTO `mails` (`from`,`to`,`subject`,`content`,`date`) VALUES ('".$from."','".$to."','".$subject."','".$body."','".$date."');";

if (
mysql_query ($sql)) { /* $pop3->delete($i); */ echo '<b>Gepseichert:/b> '.$sql.'<br /><br />'; }

/*
$mails[] = array(FROM        => $from,
      TO     => $to,
      SUBJECT     => $subject,
      DATE        => $date,
      MSGNBR      => $i,
      MSGURL      => 'msg.php3?id='.$i);
*/
  
}

# for each message

$pop3->quit();





die();
?>

<table width="900" cellspacing=1 cellpadding=1 style="border-collapse: collapse;" bordercolor="#000000">
 <tr bgcolor="#c0c0c0">
  <td width="150">Absender</td>
  <td width="150">Empfaenger</td>
  <td width="150">Datum</td>
  <td width="250">Betreff</td>
  <td>Lesen</td>
  <td>del</td>
 </tr>
<?php
if (count($mails) > 0) {
  for (
$i=0;$i<count($mails);$i++) {

    if ( 
eregi ("^(.*)<(.*)>"$mails[$i][FROM], $match) ) {
      if (
$match[1])
        {
          
$mails[$i][FROM] = trim($match[2]);
        }
    }

  echo 
'<tr>
  <td>'
.htmlspecialchars(str_replace(array("<"">"), ""$mails[$i][FROM])).'</td>
  <td>'
.htmlspecialchars(str_replace(array("<"">"), ""$mails[$i][TO])).'</td>
  <td>'
.substr($mails[$i][DATE], 022).'</td>
  <td>'
.$mails[$i][SUBJECT].'</td>
  <td>'
.$mails[$i][MSGURL].'</td>
  <td><a href="?del='
.$mails[$i][MSGNBR].'">'.$mails[$i][MSGNBR].'</a></td>
 </tr>'
;
  }
} else echo 
'<tr><td colspan="4">Keine Nachrichten vorhanden!</td></tr>';
?>
</table>
was könnte es sein?
__________________
Mit freundlichem Gruß,
Deathrow
Mit Zitat antworten
  #2 (permalink)  
Alt 04-09-2006, 00:14
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

etwas genauer bitte.
Mit Zitat antworten
  #3 (permalink)  
Alt 04-09-2006, 00:22
Deathrow
 Member
Links : Onlinestatus : Deathrow ist offline
Registriert seit: Jul 2003
Ort: Germany
Beiträge: 305
Deathrow ist zur Zeit noch ein unbeschriebenes Blatt
Deathrow eine Nachricht über ICQ schicken Deathrow eine Nachricht über AIM schicken
Standard

ja, er speichert halt in der DB immer nru die erste zeile ab, vom body, mehr nicht
__________________
Mit freundlichem Gruß,
Deathrow
Mit Zitat antworten
  #4 (permalink)  
Alt 04-09-2006, 00:27
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe keine zeit, mich in den code einzulesen, wenn du ihn nicht kürzst.
aber ich sehe eine auskommentierte zeile.
Mit Zitat antworten
  #5 (permalink)  
Alt 04-09-2006, 00:32
combie
 PHP Expert
Links : Onlinestatus : combie ist gerade online
Registriert seit: May 2006
Beiträge: 2.925
combie befindet sich auf einem aufstrebenden Ast
Standard

*gelöscht*
Weil Thema verfehlt....

Geändert von combie (04-09-2006 um 00:40 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 04-09-2006, 00:44
Deathrow
 Member
Links : Onlinestatus : Deathrow ist offline
Registriert seit: Jul 2003
Ort: Germany
Beiträge: 305
Deathrow ist zur Zeit noch ein unbeschriebenes Blatt
Deathrow eine Nachricht über ICQ schicken Deathrow eine Nachricht über AIM schicken
Standard

also, der problemteil lieht hier drin:

PHP-Code:
<?php
//
// AUSSCHNITT:
//
// und hier die nächsten 2 elseif stimmt irgendwas nicht...
//
    
} elseif ( eregi ("^\r"$line) ) {
      
$in_body true;

    } elseif ( 
$in_body ) {
      
$body .= "<br>" htmlentities($line);
    }
?>
__________________
Mit freundlichem Gruß,
Deathrow
Mit Zitat antworten
  #7 (permalink)  
Alt 04-09-2006, 00:47
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

\r mal gegen "\n" oder "\r\n" ersetzt?
Mit Zitat antworten
  #8 (permalink)  
Alt 04-09-2006, 03:22
nix_wie_weg
 Banned
Links : Onlinestatus : nix_wie_weg ist offline
Registriert seit: Aug 2006
Beiträge: 109
nix_wie_weg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

erstens $in_body = 'false'; (also true!) anstatt $in_body = false;

zweitens reset($header_array);

drittens $body=''; aus der Schleife rausnehmen. (einige Zeilen nach oben schieben).

viertens muss if($in_body) als erster Test kommen - im Body nicht mehr auf From To usw. achten.

aber alles ohne es genau untersucht zu haben. Es wundert mich dass die ERSTE zeile
behalten wird. Man würde denken, die letzte Zeile des body wird behalten.

Geändert von nix_wie_weg (04-09-2006 um 03:34 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15 Uhr.