In deiner Textdatei speicherst du doch keine sensiblen Daten, sondern nur welche User online sind, und ich gehe jetzt einfach mal davon aus das du genau das anzeigen willst auf deiner Seite, welche User online sind?
Beiträge von Basi
-
-
Wenn die besagte Datei immer gleich wäre wäre dein Login binnen 20 Sekunden gehackt.
Du musst das selbst in einer Datei oder Datenbank verwalten.
-
none in diesem Sinne übersetzt = keiner
keiner = 0 -
Tut mir leid aber ich verstehe das Problem mittlerweile gar nicht mehr.
-
Zitat von "hume"
Deine Schreibweise ist mir irgendwie ein wenig zu aggressiv.
Wenn das bei dir so ankommt tut mir das leid, ich will hier niemanden ärgern, das gehört halt einfach zu meiner Eigenart.
Ich will dich auch nicht blöde darstellen oder ähnliches.
Du kannst aber nicht sagen das valider Code sehr wichtig ist aber auf der anderen Seite invaliden Code ausstellen.
-
Willst du da überprüfen ob die Felder leer sind oder wie? Dann ersetze:
$_POST['xxx'] == 1
mit
'' $_POST['xxx']
-
Ja genau der Code, der wo du == true entfernen solltest, da hinter sind keine {}.
Ich verstehe deinen Abschnitt nicht wo du jedes Feld mit $_POST auf 1 überprüfst.
-
Zitat von "hume"
Also, wenn es sich um einen PHP Code handelt immer .php abspeichern, übrigens ist dein Code nicht valide.. folgender Aufbau bei HTML
Ist beim PHP ausprobieren Piepegal ob das valide ist oder nicht, ich glaube nicht das Gerd eine Webseite anbieten will auf der Hallo Welt steht?
Außerdem ist dein Code noch invalider, wo ist der HTML Tag?
-
Zu allererst:
PHP<span class="syntaxdefault"><br /> </span><span class="syntaxkeyword">if(empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'typ'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'brennstoff'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'brennstoffverbrauch'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'brennstoffeinheit'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'erzeugung'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'alter'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'stromverbrauch'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'stromverbrauchseinheit'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'arbeitspreis'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'adresse'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'wohnort'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'tel'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'mail'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE<br /> </span><span class="syntaxkeyword">OR empty (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'ok'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">TRUE</span><span class="syntaxkeyword">)<br /> </span><span class="syntaxdefault"></span>== true kannste dir sparen, ist in diesem Falle wenn du es wegnimmst das Gleiche.
Wieso ist hinter dieser if Abfrage kein {} Block? Da diese Klammern fehlen wird alles zwischen der if Abfrage und dem nächsten Semikolon ausgeführt, sprich, bei dir alles? Ich glaube das ist nicht beabsichtigt.
$_POST['alter'] == 1 Was ist das? Wenn du dein Skript liest wird dir auffallen das in der Altersvariable nur dann eine 1 stehen kann, wenn dein Kunde 1 Jahr alt ist...
Dein komplettes Script ergibt keinen Sinn, entweder enthältst du uns die Hälfte vor, oder das ist kompletter Schwachsinn?
-
PHP
<span class="syntaxdefault"><br /> $password </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'password'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault"> </span>Wenn du einen String md5 verschlüsselst wird er 32 Zeichen lang, also erst überprüfen ob das Passwort lang/kurz genug ist und dann am besten erst in der SQL Anweisung verschlüsseln:
-
Da empfiehlt sich doch tatsächlich deine Methode, du machst das jetzt einfach so:
PHP<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br /><br /> $string </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"27.12"</span><span class="syntaxkeyword">;<br /><br /> if(!</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">))<br /> {<br /><br /> print </span><span class="syntaxstring">'<p>Keine zulässige Zahl.</p>'</span><span class="syntaxkeyword">;<br /><br /> }<br /> elseif(</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/\d\.(\d{1,27})/'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">))<br /> {<br /><br /> </span><span class="syntaxdefault">$zahlen </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'.'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">);<br /><br /> print </span><span class="syntaxstring">'<p>Zahl vor dem Komma: '</span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$zahlen</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">] .</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /> print </span><span class="syntaxstring">'<p>Zahl nach dem Komma: '</span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$zahlen</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">] .</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /><br /> }<br /> else<br /> {<br /><br /> print </span><span class="syntaxstring">'<p>Keine Kommazahl.</p>'</span><span class="syntaxkeyword">;<br /><br /> }<br /><br /><br /></span><span class="syntaxdefault">?><br /></span></span>Erst wird halt geprüft ob die Zahl überhaupt so aussieht wie du sie haben willst, und dann zerschneidest du sie mit explode und hast deine Zahlen.
Wenn du beide Zahlen getrennt brauchst ist preg_replace nämlich Schwachsinn, da man daraus auch nur einen String basteln kann, und ihn dann exploden würde, also ein Schritt zuviel.
-
Konnten wir denn bis jetzt weiterhelfen?
-
Huhu,
das erreichst du mit stripslashes.
PHP<span class="syntaxdefault"><br /><br /> $string </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'\"Hallo\"..\"\"'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> print stripslashes</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault"> </span>Ausgabe: "Hallo"..""
Dies entfernt jedoch ALLE backslashe, ansonsten so:
PHP<span class="syntaxdefault"><br /><br /> $string </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'\"Hallo\"..\"\"'</span><span class="syntaxkeyword">;<br /><br /> </span><span class="syntaxdefault">$string </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">preg_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/\\\"/'</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'"'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">);<br /><br /> print </span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">;<br /><br /> </span><span class="syntaxdefault"></span>Ausgabe: "Hallo".."" \
-
Bitte statt Doppelpost die Edit Funktion nutzen [Blockierte Grafik: http://www.webdesign.sarkkan.de/smilie/zwinker.png]
-
So können wir dir nicht helfen.
Wir müssen wissen wie deine Dateien heißen, ob sie in Unterverzeichnissen liegen, wir brauchen deinen kompletten HTML Code, nicht nur den oberen Teil, der ist hier für ziemlich unwichtig.
-
Wenn ihr unbedingt eine Regex nutzen wollt dann macht es lieber so:
PHP<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br /><br /> $string </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"27.12"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> if</span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> print </span><span class="syntaxstring">'<p>Keine zulässige Zahl.</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> elseif</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/\d\.(\d{1,27})/'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $string</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> print </span><span class="syntaxstring">'<p>Kommazahl.</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> else<br /> </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault"> print </span><span class="syntaxstring">'<p>Keine Kommazahl.</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault">?><br /></span></span>Ergebnis:
27 = Keine Kommazahl,
27.56 = Kommazahl,
65. = Keine Kommazahl
27.1a6/4 = Keine zulässige Zahl
27.5 = Keine zulässige Zahl
a.12 = Keine zulässige ZahlErklärung des Suchmusters:
-
Geht es dir darum Kommastellen zu finden oder herauszufinden was vor dem Komma steht?
-
Zitat von "R4Zz0R"
^^? sollte es dan nicht eher einfach ein leerstring sein als eine notice ? also je nach dem wie hoch das Error reporting steht ...
Bei deinem zitieren ist was schief gelaufen, das habe nicht ich geschrieben, sondern jemand anders.
-
Genau, du kannst auch in der bereits vorhandenen Schleife schon die Mailfunktion anwenden.
-
Wenn du meine 2. Lösung nimmst (direkt über deinem Post) dann kannst du wie folgt vorgehen:
PHP<span class="syntaxdefault"><br /> </span><span class="syntaxkeyword">for(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword"><= </span><span class="syntaxdefault">count</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$emails</span><span class="syntaxkeyword">); </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++)<br /> {<br /><br /> print </span><span class="syntaxdefault">$emails</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">];<br /><br /> }<br /> </span><span class="syntaxdefault"></span>So würdest du Beispielsweise alle Emailadressen ausgeben.