php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Sonstiges > Off-Topic Diskussionen
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Off-Topic Diskussionen Kein Platz für Deine Frage gefunden? Dann bist Du hier genau richtig!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-11-2007, 12:33
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Question Seltsames stripos verhalten, oder wie dumm manche User sind

Hi @ all,

Folgendes Dokument ist durchaus ernst gemeint, auch wenn ich mich bemühe es unterhaltsam zu präsentieren.
Dazu gehört allerdings auch, daß ich etwas aushole und weitschweifig werde.

Und nein, das hat absolut nichts damit zu tun, daß ich mich gerne reden höre!

(wie auch, wenn ich schreibe und übrigens, wer Rechtschreibfehler findet, der darf sie ohne Entgeld behalten und weiterverwerten)

Zu mir:
Ich bin PHP Anfänger und dabei mich in PHP5 einzuarbeiten.

Als Anfangsprojekt habe ich mir vorgenommen ein Kontaktformular zu erstellen, welches ich schnell den entsprechenden Umständen anpassen kann.
Wie nicht anders zu erwarten traten die ertsen Probleme relativ schnell auf und ich machte mich auf die Suche im Netz.
Dabei bin ich auf dieses Forum gestoßen und habe hier schon Hilfe erhalten und Anregungen gefunden (danke arkos und H2O).

Nun habe ich etwas festgestellt, bzw. gefunden was ich mir absolut nicht erklären kann:

Das Verhalten von stripos

Was ich damit meine?

Dazu muss ich ganz am Anfang beginnen:

Am Anfang schuf ich...:

Ein einfaches Eingabeformular unter XHTML:
Zitat:
<form id="FormName" action="zielscript.php" method="post" name="FormName">
Ihre E-Mailadresse:<input type="text" name="eMail" size="24">
<p>
<input type="submit" name="sent"></p>
</form>
ok, in Ordnung ich fass mich kurz ....
Zitat:
Zusammenfassung

Ich habe den Ablauf 3 - geteilt:

1. Formular
2. Browserausgabe mit include Versand
3. der Versand

bla, bla, Problem, falscher Pfad bei include, bla bla ....

Das Formular wurde erweitert, im Versand wurde ein korrekter Header eingebaut und ....

Ja, jetzt komme ich zum Punkt!

von H2O erhielt ich 2 überarbeitete Codes (wahrscheinlich gieng ich ihm zu dem Zeitpunkt schon zum 1. mal auf die Nerven, sorry H2O
1. Die Ausgabe
2. Den Versand-Teil des Scripts

Im Vesand-Teil wurde folgende Abfage Eingefügt:
PHP-Code:
if(stripos($eMail'bcc:')){    // Minimale Kontrolle
    
die("Ung&uuml;ltige Absenderadresse, Mail nicht verschickt<br />"); 
Und das Unerklärliche begann!
Zitat:
Fatal error: Call to undefined function: stripos() in ...
Tja, was ist wohl der 1. Gedanke bei der Meldung?

Genau: stripos gibt es erst ab PHP5

Aber es steht doch PHP5 zur Verfügung!

Edit:
Auf der Testdomain ist PHP 3, PHP 4 und PHP5 (V. 5.2.4) installiert

Das wird sofort überprüft!
Mit folgender Abfrage
stripos.php:
PHP-Code:
<?php
if (!function_exists('stripos')) {
   echo 
"stripos ist da";
    }
else {
   echo 
"nope";
}
?>
Die Ausgabe erfolgt wie Erwartet:
Zitat:
stripos ist da
Und nun wirds wirklich seltsam.

Folgender Code gibt die allseits beliebte Meldung:
Zitat:
Fatal error: Call to undefined function: stripos() in ...
aus:
stripos2.php:
PHP-Code:
<?php
$findmich  
'a';
$meinstring1 'xyz';
$meinstring2 'ABC';

$pos1 stripos($meinstring1$findmich);
$pos2 stripos($meinstring2$findmich);

// 'a' ist natürlich nicht in 'xyz' enthalten
if ($pos1 === false) {
    echo 
"Die Zeichenkette '$findmich' kommt nicht im String '$meinstring1' vor.";
}

// Beachten Sie die Verwendung von ===. Ein einfaches == funktioniert nicht wie
// erwartet, da 'a' an Position 0 (also erster!) Stelle steht
if ($pos2 !== false) {
    echo 
"Die Zeichenkette '$findmich' wurde in '$meinstring2' an Position $pos2 gefunden";
}
?>
Naja, man ist ja vorsichtig, man kann die PHP-Version über die Endung *.php3, *.php4, *.php5 definieren

Gesagt, getan.

stripos2.php umbenannt in stripos2.php5 ergibt folgende Meldung:
Zitat:
Die Zeichenkette 'a' kommt nicht im String 'xyz' vor.Die Zeichenkette 'a' wurde in 'ABC' an Position 0 gefunden
Super, Problem gelöst, dachte ich zumindest,
bis auf eine Kleinigkeit:

Warum zum Teu... gibt mir dann stripos.php5:
PHP-Code:
<?php
if (!function_exists('stripos')) {
   echo 
"stripos ist da";
    }
else {
   echo 
"nope";
}
?>
nope aus?

Kann mir das bitte irgendwer erklären?

Gruß

Martin
__________________
Greets

Martin

absolut beginner
aber lernwillig

Geändert von brmartin (01-11-2007 um 12:56 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 01-11-2007, 12:37
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Es muss natürlich heißen:
PHP-Code:
if (function_exists('stripos')) {
   echo 
"stripos ist da";
    }
else {
   echo 
"nope";

Mit Zitat antworten
  #3 (permalink)  
Alt 01-11-2007, 12:54
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke PHP Desaster,

Mann bin ich mal wieder Blind!

wie kann man das "!" überlesen?

Das kommt davon wenn "copy und paste" verwendet wird!

Ich hätte mir gestern 1,5h sucherei ersparen können

Und damit ist Obiges geschreibsel mal wieder hinfällig.

Auser man macht daraus ein Beispiel, daß der verwendete Code genau gelesen werden sollte!
__________________
Greets

Martin

absolut beginner
aber lernwillig
Mit Zitat antworten
  #4 (permalink)  
Alt 01-11-2007, 13:01
Hopka
 PHP Expert
Links : Onlinestatus : Hopka ist offline
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.172
Hopka ist zur Zeit noch ein unbeschriebenes Blatt
Hopka eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von brmartin
Auser man macht daraus ein Beispiel, daß der verwendete Code genau gelesen werden sollte!
Oder einfach selber schreiben!
__________________
hopka.net!
Mit Zitat antworten
  #5 (permalink)  
Alt 01-11-2007, 16:13
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard Re: Seltsames stripos verhalten, oder wie dumm manche User sind

[QUOTE]Original geschrieben von brmartin
PHP-Code:
<?php
if (!function_exists('stripos')) {
   echo 
"stripos ist da";
    }
else {
   echo 
"nope";
}
?>
warum machst du echo-s statt direkt eine stripos zu machen?
PHP-Code:
if (!function_exists('stripos')) 
{
  function 
stripos($str,$find)
  {
     return 
strpos(strtolower($str),strtolower($find));
  }

__________________
Slava
bituniverse.com
Mit Zitat antworten
  #6 (permalink)  
Alt 01-11-2007, 18:53
brmartin
 Newbie
Links : Onlinestatus : brmartin ist offline
Registriert seit: Oct 2007
Beiträge: 24
brmartin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi Slava,

Wie gesagt,

war ein einfaches "copy and paste", hab mir die Abfrage nicht genauer angesehen und auch nicht darüber nachgedacht, sonst währe mir die Negation aufgefallen.

Sinn war ja nur nachzuprüfen ob bei der endung *.php PHP 5 oder PHP 4 geparsed wird. Daß Php 5 zur Verfügung steht weiß ich.

Klar, ich hätte auch einfach phpinfo.php aufrufen können, dann hätte ermir angezeigt, daß die Endung php über PHP 4 geparsed wird.

Naja, etwas nachdenken hilft
__________________
Greets

Martin

absolut beginner
aber lernwillig
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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