php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.12.2005, 21:22  
Neuer Benutzer
 
Registriert seit: 12.08.2005
Beiträge: 15
Manuchau
Standard "Notice" wird trotz verwendung von @ angezeigt.

Hallo,

ich verwende die imap_open() Funktion. Wenn etwas an den Zugangsdaten nicht stimmt, dann wird etwa folgende Ausgabe erzeugt:

Warning: imap_open(): Couldn't open stream [...]
Notice: Unknown: Retrying CRAM-MD5 authentication after permission denied (errflg=1) in Unknown on line 0
Notice: Unknown: Can not authenticate to IMAP server: [CLOSED] IMAP connection broken (authenticate) (errflg=2) in Unknown on line 0

Wenn ich ein @ vor den Funktionsaufruf schreibe, dann verschwindet das "Warning", aber die "Notice" Meldungen bleiben.

Ich möchte aber gerne, dass gar keine Meldung erscheint, wenn bei der Ausführung von imap_open() etwas nicht funktioniert hat. Allerdings möchte ich nicht generell die Generierung von "Notice" Meldungen unterdrücken, sondern nur für diese eine Funktion.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen kann.

Vielen Dank und mit freundlichen Grüßen,

Manuchau
Manuchau ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.12.2005, 23:16  
Gast
 
Beiträge: n/a
Standard

Du könntest z.B. vor den Funktionsaufruf per error_reporting() die Anzeige von Notice unterdrücken.
danach kannst du sie dann wieder mit der gleichen funktion freigeben.
 
Alt 14.12.2005, 23:34  
Neuer Benutzer
 
Registriert seit: 12.08.2005
Beiträge: 15
Manuchau
Standard

Hey, das ist eine gute Idee. Die nehm' ich

Vielen Dank Nendrew
Manuchau ist offline  
Alt 15.12.2005, 19:43  
Neuer Benutzer
 
Registriert seit: 12.08.2005
Beiträge: 15
Manuchau
Standard

Tja, ich war mir auch sicher, dass das so gehen muss. Seltsamerweise werden immernoch notice Meldungen ausgegeben. Ich wäre dankbar, wenn wir folgende Funktion betrachten könnten:

PHP-Code:
<?php
function imap_test($benutzer$pass$server$mailbox)
{
    
$server_mailbox "{" $server "/notls}$mailbox";
    
error_reporting(0);
    
$inbox imap_open($server_mailbox$benutzer$pass);
    
error_reporting(E_ALL);
    return 
0;
}
?>
Wenn ich diese Funktion mit korrekten Parametern aufrufe, dann wird keine einzige Meldung ausgegeben. Das soll auch so sein.
Übergebe ich allerdings dieser Funktion ein falsches Passwort, dann wird folgendes ausgegben:

Notice: Unknown: Retrying CRAM-MD5 authentication after permission denied (errflg=1) in Unknown on line 0

Notice: Unknown: Can not authenticate to IMAP server: [CLOSED] IMAP connection broken (authenticate) (errflg=2) in Unknown on line 0

Das verstehe ich nicht. Ich hatte gehofft, dass wegen der Anweisung error_reporting(0); keine Meldungen ausgegeben werden.

Wenn ich in der Funktion oben die Zeile error_reporting(E_ALL); auskommentiere und wieder ein falsches Passwort übergebe, wird keine Meldung ausgegeben.
Das wiederum ist klar. Aber wie schon gesagt will ich ja im weiteren Verlauf des Programms wieder "Notice" Meldungen sehen und daher brauche
ich die error_reporting(E_ALL); Anweisung.

Hat jemand noch eine Idee und/oder kann dieses Verhalten erklären?

Schönen Dank und mit freundlichen Grüßen,

Manuchau
Manuchau ist offline  
Alt 15.12.2005, 19:49  
Gast
 
Beiträge: n/a
Standard

eine weiter möglichkeit wäre, dass du die Ausgabe pufferst und somit ganz einfach die Ausgabe verwirfst...
PHP-Code:
<?php
ob_start
()
imap_open(...)
ob_end_clean()
?>
Nachzulesen hier: ob_start()
 
Alt 15.12.2005, 20:02  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Reicht es nicht aus, wenn du als 4. Parameter die Option OP_SILENT angibst?
Zitat:
OP_SILENT - Don't pass up events (internal use)
http://www.php.net/imap_open
xabbuh ist offline  
Alt 15.12.2005, 22:26  
Neuer Benutzer
 
Registriert seit: 12.08.2005
Beiträge: 15
Manuchau
Standard

xabbuh und Nendrew,

vielen Dank für eure Antworten.

Interessanterweise erzeugt die Funktion

PHP-Code:
function imap_test($benutzer$pass$server$mailbox)
{
    
$server_mailbox "{" $server "/notls}$mailbox";
    
error_reporting(0);
    
ob_start();
    
$inbox imap_open($server_mailbox$benutzer$pass);
    
ob_end_clean();
    
error_reporting(E_ALL);
    return 
0;

ebenfalls zwei Notice Meldungen bei Verwendung von einem falschen
Passwort.

Obwohl die Sache mit OP_SILENT, also die Verwendung der Zeile
$inbox = imap_open($server_mailbox, $benutzer, $pass, OP_SILENT);
auch nicht funktioniert hat, wäre ich ohne deine Antwort nicht auf eine Lösung gekommen xabbuh. Bei der Suche danach, was OP_SILENT genau
macht, bin ich auf die Funktion imap_errors()
gekommen. Folgende Funktion gibt auf bei einem falschen Passwort
keine Notice Meldung mehr aus:

PHP-Code:
function imap_test($benutzer$pass$server$mailbox)
{
    
$server_mailbox "{" $server "/notls}$mailbox";
    
error_reporting(0);
    
$inbox imap_open($server_mailbox$benutzer$passOP_SILENT);
    
imap_errors();
    
error_reporting(E_ALL);
    return 
0;

Die imap_errors() Funktion sammelt also alle Meldungen ein.

Vielen Dank für eure Hife!

Schönes Wochenende wünsche ich

Manuchau
Manuchau ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wieso wird nur ein Datensatz angezeigt? Minimi Datenbanken 14 08.02.2008 02:54
php datei wird nur weiß angezeigt trotz html Newsscript PHP Tipps 2008 7 20.01.2008 01:14
Nach Formular "Seite kann nicht angezeigt werden" PsychoEagle PHP Tipps 2007 6 15.06.2007 23:51
[Erledigt] Seite wird nicht gleich angezeigt HTML, Usability und Barrierefreiheit 6 06.03.2006 15:49
[Erledigt] Zuviele Seiten werden angezeigt PHP Tipps 2007 5 24.12.2005 12:49
alte Bildversion wird angezeigt PHP Tipps 2007 19 30.11.2005 17:52
$_Get['bps'] wird nicht angezeigt... Matthiasnet PHP Tipps 2005-2 7 28.08.2005 15:09
php5 Seiten in htdocs werden nicht angezeigt. PHP Tipps 2005-2 26 25.06.2005 18:30
Bild nicht angezeigt?! scooter HTML, Usability und Barrierefreiheit 15 15.06.2005 10:37
Teile der Seite werden doppelt angezeigt PHP Tipps 2005 8 06.05.2005 15:10
[Erledigt] Bilder werden nicht richtig angezeigt PHP Tipps 2005 31 30.04.2005 18:29
Die XML Seite kann nicht angezeigt werden c001130 HTML, Usability und Barrierefreiheit 0 20.01.2005 21:22
[Erledigt] Bild wird nicht angezeigt Server, Hosting und Workstations 7 03.09.2004 16:08
Zeit wird nicht richtig angezeigt ... PHP Tipps 2004 8 18.07.2004 16:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php imap_open op_silent, php notice: unknown: retrying cram-md5 authentication after user not, php notice medlungen unterdrücken, permission denied (errflg=2) in unknown on line 0, \[closed] imap connection broken (authenticate)\, retrying cram-md5 authentication after permission denied, error_reporting notice unterdrücken, \permission denied (errflg=1) in unknown on line 0\, \imap connection broken (authenticate)\, html notice soll nicht angezeigt, imap_open errflg, php notice unterdrücken @, op_silent php, php notice unterdrücken, op_silent imap_open, notice angezeigt besucher, php notice meldung, php notice warning unterdrücken, php imap_open cram-md5, imap_open php notice

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.