Beiträge von -Bambino-
-
-
-
-
So könnte es kommen.
Könnte natürlich auch alles in eine quetschen.
Die Frage is halt wie lang es dann dauert die auszulesenHm... mal sehen vielleicht fällt mir ja noch was anderes ein.
Umbauen geht ja immerMach das bloß nicht.
Dann hättest du ja in jeder Tabelle nur eine Zeile pro User.100 Tabellen mit einer Zeile auszulesen, dauert doch länger, als eine Tabelle mit 100 Zeilen auszulesen.
Mach das auf keinen Fall, das geht garnicht. Mysql ist doch für viele Einträge gemacht. Wieso nicht das nutzen?
Und wieso mit ewigen Scripten eine uniqid erzeugen, wenn mysql die Funktion auto-increment hat?
-
Wieso holst du dir die BBC Parameter nicht über Regular Expressions mit preg_match_all und ersetzte dann deine //1 durch die erreichten $matches[1][0] .. ?
=)
-
Naja, und das ist ja vollkommen richtig.
Dann darfst du für $b, oder viel sinnvoller für $unterobjekt oder sonst was, nen Standardwert setzten.
Für die anderen nicht! -
Hai Bambino.
Zu Erstens:
Bei so einer Function könnte ich das noch wissen,
denn es ist ja eine logische Reihenfolge:Check -> was checken? -> von wem? -> "unterbegriff" -> "2. unterbegriff"
und zu Zweitens:
ich habe die Parameter definiert, weil wenn ich es nicht mache dann kommt eine PHP fehlermeldung "Missing argument"mfg Cookie
Zum ersten:
Richtig, jetzt weißt dus noch. Und jetzt erscheints dir logisch. Schreibst du aber ein größeres Projekt, und du hast 40 solcher Funktionen dauert es länger, bis du erst wieder weißt, was für Bedeutungen $a und $b hatten, wenn du es denn nicht ganz vergisst. Für mich war es eben schweer nachzuvollziehen was $a und $b sollten. Hättest du geschriebenHätte jeder verstanden, worum es geht, und du hättest es auch in 5 Jahren noch verstanden. Klar, bei dem Beispiel sicherlich auch so, aber tu dir selber nen Gefallen und lerns richtig, dann können auch andere deine Scripte lesen.
2.
Na sicher kommt diese Fehlermeldung, wenn du eine Funktion mit 4 benötigten Parametern aufrufst, aber nur 3 angibst.
Wenn du aufrufst, müssen natürlich auch alle übergeben werden.
Außerdem könnte man mit diesen Standardwerten deine Function auch komplett ohne Parameter aufrufen, oder ausversehn nur mit 3 Parametern, und würde sich wundern, warum da solche Ausgaben kommen.Von daher: Standardwerte nur da, wo du sie unbedingt brauchst.
-
ACHTUNG
Gewöhne dir mal nen ordentliche Stil an:
$a und $b sind keine sinnvollenvariablennamen.Weißt du in einem halben Jahr noch, was $a und $b ist?
Zweitens: Wieso definierst du Standardwertefür die benötigten Parameter?
Es ist doch keiner der übergebenen Parameter optional... ?=)
-
Du drehst mir ja die Worte im Mund um.
Außerdem ist das nicht von mir ausgedacht.
Und es wurde auch nicht geschrieben, dass du immer OO arbeiten musst, sondern es ist gemeint, du arbeitest OO, wenn dies günstiger ist, als ein anderer Weg.
Objektorientierte Scripte kannst du auslagern und immer wieder nutzen, der Stil ist sauber, und wenn du es vernünftig machst, auch deutlich lesbar.Fühl dich nicht gleich auf den Schlips getreten, ich hab dem Threadersteller erklärt, wie ich es gelesen habe, und wie ich auch den Eindruck habe, estimmt.
-
Du bist dadurch in der Lage, Objektorientiert zu arbeiten.
Normalerweise teilt man den PHP Kentnissstand eines Menschen in drei Stufen:#1 Der gesamte Code besteht fast ausschließlich aus if-abfragen, es ist kein logischer aufbau, der text ist schwer lesbar
#2 Ansätze einer Dateistrukturierung und besseren Lesbarkeit des Codes sind zu erkennen. Eigene Functions werden genutzt.
#3 Der User arbeitet Objektorientiert.
Du musst dir kompliziertere Sachen vorstellen. Zumbeispiel die Berechnung eines Einkaufswagens und die Artikel, die reingehören. Damit ist man in der Lage, deutlich strukturierter zu arbeiten.
Zum anderen kannst du dir Objektorientierte Scripte schreiben, zum Beispiel einen Errorhandler, den du in unterschiedlichen Projekten immer wieder nutzen kannst.
Falls es dich interessiert. suche dir man das Beispiel für eine Objektorientierte Fuhrparkverwaltung raus. Da siehst du am besten wozu du das brauchst.
-
Und kann ich in deinem Script die $_POST Variablen nicht in variablen abspeichern?
Gruß Nico
Auf der anderen Seite wirst du die POST oder GET Daten aber noch weiter verarbeiten müssen, denn eine ungesicherte Usereingabe ist in einem Loginscript nicht zu empfehlen.
-
Naja, es ging aber die ganze Zeit ums Internet, den darum drehte sich ja auch die Frage des Threaderstellers.
Was das Intranet anbelangt ist es vielleicht was anderes.
Aber im Internet sollteste nicht über Header Location einfach aufgrund des Browsers den User sonst wo hinleiten und ihm am besten noch nen Link zum IE Download anbieten...Okay.
btt. -
Nein, das ist nicht benutzerfreundlich.
Dadurch zwingst du deinen User, sich deinem Browservorschlag anzupassen, weil du nicht in der Lage bist eine bessere Alternative zu finden.
Das ist genau wie diese "Seite optimiert für Internet Explorer x.x oder höher".Das ist ja nichtmal n subtiler Vorschlag für nen Browser wechsel, sondern ne Aufforderung wie "Wechsle zu dem Browser den ich will, oder ich zeig dir ne kaputte Seite".
Genau wie bei dir... -
PHP
Alles anzeigenif ( $pass == "" ) { echo '<p>Bitte Passwort angeben!</p>'; } } if ( $user == "User" || $pass == "xxx" ) /// Hier liegt der Fehler { echo "<p>Username: ".$user. "</p>"; echo "<p>Passwort: ".$pass. "</p>"; echo '<p>Zugang gestattet</p>'; }
Die Abfrage muss mit einem && oder and kommen.
Andernfalls reicht es ihm ja schon, wenn nur der Name eingegeben wird.PHP
Alles anzeigen<?php // session_start(); $user = $_POST['user']; $pass = $_POST['pass']; if( $user == "" && $pass == "") { echo "<p>Username:</p>"; echo "<form action=\"login.php\" method=\"post\">"; echo "<p><input type=\"text\" name=\"user\" /></p>"; echo "<p>Passwort:</p>"; echo "<p><input type=\"password\" name=\"pass\" /></p>"; echo "<p><input type=\"submit\" value=\"Senden\" /></p>"; echo "</form>"; echo '<p>Bitte Usernamen und Passwort eingeben!</p>'; } else { if( $user == "" ) { echo '<p>Bitte Usernamen eingeben!</p>'; } if ( $pass == "" ) { echo '<p>Bitte Passwort angeben!</p>'; } } if ( $user == "User" && $pass == "xxx" ) /// Jetzt mit && { echo "<p>Username: ".$user. "</p>"; echo "<p>Passwort: ".$pass. "</p>"; echo '<p>Zugang gestattet</p>'; } ?>
-
Ja, wenn beide Fehlen, wird er bei dir ja schon bei der ersten abfrage was ausgebene, und aufgrund der elseifs ja dann aufhören.
Mit Synaptics Methode klappt es =)
-
Frage: was hat es mit benutzerfreundlichkeit zu tun, wenn man die headerlocation anpasst?
Was das damit zu tun hat?
Du kannst doch nicht ersthaft einem User mit dem IE eine andere Seite vorsetzen wir einem mit Mozilla.
Dann behebt man verdammt nochmal die Probleme und dann ist das überflüssig, oder löst das über CC-Operatoren, aber doch nicht anhand des Browsers umleiten.
Einige unterdrücken mit irgendwelchen Programmen ihre Referrer, Browser und sonst was, und dann wäre das sicherlich keine gute Methode. -
Du kannst zum einen CC-Operatoren einbauen, die allerdings nur vom IE gelesen werden. Damit kannst du zb. verschiedene StyleDatei einbauen.
Ansonsten bietet PHP die Möglichkeit, den Browser zu erkennen.
Allerdings rate ich generell davon ab.
CC-Operatoren okay, aber nicht anhand des Browser weiterleiten. das wäre nicht sehr benutzerfreundlich.... =) -
Das ist leider genau die Einstellung, mit der du nicht weit kommen wirst.
Zu faul sein, weil du meinst es wäre nicht wichtig.Opera hat aber nicht nur nen Anteil von 2% sondern von rund 8%, auf Seiten die Homepagethemen betreffen noch mehr.
8% von 30 sind knapp 3 Besucher am Tag, die wegfallen.
Das sind 21 in der Woche.
Knappe 1100 Besucher im Jahr, die dir Wegfallen.
Ist also so, als würdest du deine Webseite ein Monat des Jahre einfach schließen.
Bei 30 Besuchern am Tag würde ich mir überlegen, ob du dir das leisten kann.Davon abgesehn, fühle ich mich nicht auf den Schlips getreten. Hab Opera schließlich nicht erfunden, sondern nutze es nur.
Und das nahliegendste, den Fehler beim User zu suchen, ist auch ziemlich abwegig, besonders wenn mehrere diesen Fehler melden...^^Und nein, wenn dus wissen willst, selbst wenn ich könnte, würde ich deinen Service vermtulich nicht dauerhaft in Anspruch nehmen, aber testen würde ich Ihn gerne mal, was aber scheinbar ja nicht möglich ist.
-
Wie Dodo schon sagt, du machst es über ein PHP Script mit entsprechenden Parametern.
PHP
Alles anzeigenfunction download($datei) { ... } $parameter = $_GET['download']; if(md5("bild_zum_download1.jpg") == $parameter) { download("bild_zum_download1.jpg"); } ...
Oder per Switch oder sonst was...
Das Prinzip wird klar, denke ich...^^Aber wieso lädst du dir nicht einfach ein Verzeichniss an, legst die archivierten Daten drauf und verlinklst die. Sachen die nicht für jeden Zugänglich sind, sollst du ja da nicht hinlegen...^^
Lg
-
Sicher isses aktiv. Den Fehler nicht zuerst beim User, sondern beim eigenen Script suchen...
Verbessere das lieber, sonst fehlen dir ne Menge Leute.... =/