Achso, noch ein kleiner Tipp fürs Captcha:
Mal direkt an den Buchstaben ein paar Linien, dadurch können Bots kaum die Struktur der Buchstaben erkennen. ![]()
Beiträge von The User
-
-
Da nimmst du einfach Sessions.
In beide Dateien oben session_start(), und anstatt $captcha benutzst du $_SESSION['captcha'], so einfach geht das.
Viele liebe Grüße
The User -
Wenn man ein vernünftiges Tut hat, braucht man sich mit diesen Sachen nicht rumzuschlagen. Man benutzt die Standardbibliothek, string, vectors und auto_ptr, Referenzen, boost kann es wieder vereinfachen...
-
Viele Sachen werden in diesem Forum oft wiederholt, deshalb möchte ich hier einmal einige Sachen zusammenstellen:
Tutorials:
http://www.online-tutorials.net/c-c++-c/c++-tu…als-t-1-58.html (C++-Tutorial, geht jedoch vor allem auf die C-Bestandteile ein)
http://www.online-tutorials.net/c-c++-c/c++-tu…ls-t-1-230.html (Fortsetzung, die auf die OOP eingeht)
http://de.wikibooks.org/wiki/C (C-Tutorial auf Wikibooks)
http://de.wikibooks.org/wiki/C++ (C++-Tutorial auf Wikibooks)
http://www.tutorials.at (C-Tutorial)Bücher
C++ Primer - Ein Buch perfekt für Einsteiger mit etwas Programmierkenntniss. Bietet mit der Zeit einen tiefen Einblick in C++. Dabei wird konsequent mit High-Level-Methoden gearbeitet, was dem Einsteiger später unkompliziertere Entwicklung ermöglicht.
Bjarne Stroustrup - Die C++ Programmiersprache - Das C++-Standardwerk (nicht für blutige Anfänger)
Andrei Alexandrescu - Modernes C++ - Absolut geniale Template-Programmierung. Erfordert ein breites Verständnis von Templates. Einige Spracheigenschaften werden jedoch erklärt. Auf keinen Fall für Anfänger geeignet, da der Code hoch komplex ist und vor allem auch Design eine Rolle spielt.
Außerdem recht bekannt:
Scott Meyers, Effective C++Bibliotheken:
SFML: http://sfml-dev.org (allgemeine Multimedia und Netzwerk-Bibliothek)
Clanlib: http://clanlib.org (Multimedia und Netzwerk speziell für Spiele, mit Gui)
Allegro: http://alleg.sourceforge.net/index.de.html (Multimedia und Netzwerk, aber auf C-Basis, nicht objektorientiert)
SDL: http://www.libsdl.org/ (Multimedia und Netzwerk, aber auch nicht objektorientiert und relativ Hardware nah)
(Multimedia meint, dass sich 2D-Sachen für Spiele zeichnen lassen, Sound ausgegeben werden kann, Animationen etc.)Boost: http://www.boost.org/ (allgemeine Bibliothek, z. B. Verzeichnishandling, XML-Parsing, Algorithmen...)
Qt: http://trolltech.com/products/qt/ (Bibliothek zum erstellen von teils sehr komfortablen Benutzeroberflächen, für 2D-Graphik sehr geeignet)
wxWidgets: http://www.wxwidgets.org/ (eine weitere GUI-Bibliothek)
GTK+: http://www.gtk.org/ (GUI-Bibliothek, nicht objektorientiert)
KDE: http://techbase.kde.org (setzt auf Qt auf und bietet nochmehr Funktionen sowie die Integration in den KDE-Desktop, zu erwähnen ist eine erweiterte Scripting-Engine)
(GUI = Graphical User Interface, also für Fenster, Buttons, Texteingaben etc.)http://www.opengl.org/ (umfangreiche 3D-Bibliothek, nicht objektorientiert)
OpenSceneGraph: http://www.openscenegraph.org/projects/osg (Objektorientierung auf Basis von OpenGL)
Irrlicht: http://irrlicht.sourceforge.net/ (Ebenfalls objektorientiert, unterstützt außerdem auch Direct3D und die Datei-Formate einiger Spiele)Crypto++: http://cryptopp.com (C++-Bibliothek zur Verschlüsselung)
Magick++: http://www.imagemagick.org/script/index.php (Bibliothek zur Bearbeitung von Bildern)
MySQL++: http://tangentsoft.net/mysql++/ (objektorientierter, sicherer Zugriff auf das bekannte Datenbanksystem)
SymbolicC++: http://issc.uj.ac.za/symbolic/symbolic.html (CAS-Bibliothek, komplizierte Berechnungen, symbolische Mathematik, Lisp-Support)
Diese Bibliotheken sind alle mehr oder minder Plattformunabhängig, wenn ihr solche Bibliotheken verwendet, könnt ihr also den selben Quelltext meist auf Linux, Windoof, BSD, MacOSX, Solaris... kompilieren!!!
Es soll auch keiner sagen, dass diese Bibliotheken nicht genug bieten.
Wenn hier keine mehr helfen kann (was ja eigentlich gar nicht geht...)
http://www.c-plusplus.de - ein deutschsprachiges Forum, dass C++ als echten Themenschwerpunkt hat.
http://www.cplusplus.com/forum/ - falls es war ist, dass die deutschen Programmierer zu schlecht sind, kann auch hier gefragt werden.
http://qtforum.de/forum/ - ein sehr nettes Forum rund um Qt, das auch auf grundsätzliche C++-Fragen sowie Qt für Java eingeht.Tutorials zu externen Bibliotheken
http://doc.trolltech.com/4.4/tutorials.html - offizielle englischsprachige Qt-Tutorials
http://doc.trolltech.com/4.4 - offizielle Qt-Dokumentation mit vielen lehrreichen Beispielen
http://opengl.org/code/ - die offiziellen OpenGL-Tutorials
http://www.sfml-dev.org/tutorials/ - offizielle SFML-Tutorials, neben dem benutzererstellten WikiWas alles geht in C++
http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/ - Eine noch nicht ganz vollständige Vorstellung sehr vieler C++-Idiome und Paradigmen
http://freakycpp.com/ - Man sieht einmal, dass Policy-Based-Design "freaky" und sinnvoll ist.-------------------------------------------------------------------------------------------------------------------------
Noch ein Hinweis für den C++-Teil des Forums:
Verwendet doch bitte nach Möglichkeit Standard-C++, Visual C++ ist nur eine verunstaltete, plattformabhängige Version von C++.
Die Standardbibliothek ist dein Freund. Sie bietet Klassen, die das Programmieren wesentlich einfacher und flexibler gestalten, insbesondere aufwendige Zeigeroperationen sind meist nicht nötig, C-Strings sind vollständig zu meiden, Arrays meist zu unkomfortabel im Vergleich zu list, vector und deque, streams praktisch zum formatieren und zur Ein-/Ausgabe.
Die Standardbibliothek lässt sich erkunden unter:
http://cplusplus.comAußerdem sollte Objektorientierung in C++ kein Fremdwort sein, nicht nur in Java kann man so etwas machen, C++ bietet da sogar noch einiges mehr. Auch Templates entfalten ihre ganze Stärke übrigens erst mit Klassen.
Kurz um: Spart euch den Low-Level-Kram und schreibt effizientes und sicheres C++, das sich von C-Relikten verabschiedet!
Compiler und IDEs
gcc, g++, ist bei Linux Standard, unter Mac bei den Entwicklertools, Windoof-Version MinGW
KDevelop: http://www.kdevelop.org/ (IDE für KDE - gibt es für die meisten Systeme - hiermit lassen sich insebesondere auch QT und KDE-Applikationen oder auch Plasmoide entwickeln, unterstützt automake, cmake, rpmbuild, cvs, svn...)
Code::Blocks: http://www.codeblocks.org/ (eine weitere IDE mit gutem wxwidgets-Support)
DevC++: http://www.bloodshed.net/devcpp.html (eine IDE vor allem für Windoof, seit Ewigkeiten in der Beta)
wxDevC++: http://wxdsgn.sourceforge.net/ (basiert auf Dev-C++, fügt u. a. wxwidgets-Support hinzu)
QDevelop: http://qdevelop.org/ (vor allem für Qt4, plattformunabhängig)
Qt Creator: http://trolltech.com/about/news/qt-…review-released (IDE von und für Qt, noch in der Preview)Scannen und Parsen
Flex: http://flex.sourceforge.net/ (Freie Variante von Lex, dient der lexikalischen Analyse, erzeugt also Tokens aus übergebenem Text nach übergebenen Regeln)
GNU Bison: http://www.gnu.org/software/bison/ (Freie Variante von Yacc, erzeugt Quellcode zum Auswerten einer Grammatik, die sich als BNF beschreiben lässt)
QLALR: http://labs.trolltech.com/page/Projects/Compilers/QLALR (Ähnliche Funktionalität wie Bison, gehört zum Qt-Projekt)
Boost bietet auch einige Features für Reguläre Ausdrücke und Kontextfreie Grammatiken.Tools zum Erstellen von Makefiles
Automake, Autoconf und libtool: http://www.gnu.org/software/automake/ (Der gängigste Weg, Makefiles zu erstellen, dabei wird zunächst ein Script Namens configure erstellt, das Makefiles passend zum System erstellt und abhängigkeiten überprüft)
QMake: http://doc.trolltech.com/4.5/qmake-manual.html (Narrensicher, einfach und dennoch mächtig, sehr verständliche kurze Konfigurationsdateien, Teil des Qt-Projekts)
CMake: http://www.cmake.org/ (Ebenfalls wesentlich einfacher als Automake, allerdings sehr mächtig)Versionierungstools
Subversion: http://subversion.tigris.org/ (Wohl das populärste System)
CVS: http://www.nongnu.org/cvs/ (Schon etwas älter als SVN)
Git: http://git-scm.com/
Bazaar: http://bazaar-vcs.org (Extrem einfach und mächtig, unterstützt verschiedenste Entwicklungsabläufe)Hosting-Plattformen
Sourceforge: http://sourceforge.net (Die größte Plattform, verwendet unfreie Software)
Savannah: http://savannah.gnu.org (Plattform der FSF, verwendet nur Freie Software (Savane))
Gna!: http://gna.org (Verwendet die selbe Software wie Savannah)
Launchpad: http://launchpad.net (Verwendet unfreie Software)Vierzehn Gründe für C++ und gegen Java
-C++ zwingt niemandem ein Programmier-Paradigma auf: Funktionale Programmierung ist möglich
-C++ bietet Templates und somit erweiterte Möglichkeiten für typsichere Container, Meta-Programmierung und Policy-Based-Design
-Der Umgang mit Java-Klassen ist mangels Operator-Überladung wenig intuitiv
-C++ ist wesentlich schneller, da erweiterte Möglichkeiten zur Optimierung (inline-Funktionen, freie Speicherverwaltung, mehr integrierte Typen...) zur Verfügung stehen und nativer Code erzeugt wird
-C++ ist plattformunabhängig auf Quellcode-Ebene, native Programme werden immer gebraucht
-C++ bietet eine konsistentere, flexiblere und schnellere Standard-Bibliothek, die jedoch etwas weniger Gebiete abdeckt
-Die gesammte Java-Standard-Bibliothek steht in C++ mit einer adäquaten Syntax zur Verfügung, keinerlei Einschränkung in der Verwendung
-Es gibt hervorragend designte, enorm vielfältige und Freie externe Bibliotheken, die zusammen mehr als die Java-Standard-Bibliothek bieten, z.B. Boost und Qt
-C++ wird von keinem Unternehmen mit seinen kommerziellen Interessen kontrolliert
-C++ ist in der Programmierung auf Embedded-Geräten anwendbar
-C++ bietet uneingeschränkte mehrfache Vererbung, wer das nicht mag, soll es nicht verwenden
-Objekte unterscheiden sich in C++ in der Verwendung kaum von integrierten Typen
-In C++ existieren umfassende Möglichkeiten zur Kopierung und Konvertierung
-Der kommende Standard wird noch mehr Features bietenViele liebe Grüße
The User -
Er meinte doch nicht im Browser?
-
Also das Passwort fürs Hauptmenü sollte als Prüfsumme gespeichert werden, die Log-Dateien musst du dann mit AES oder so verschlüsseln.
Und tu mir doch einen Gefallen: Benutze Standard-C++ und nicht immer WinAPI! -
Ja, man sollte Standards benutzen, das ist das einzig brauchbare.
Also Tutorials:
http://de.wikibooks.org/wiki/C++
http://online-tutorials.net (Der große Link, wo C++ steht
)
http://de.wikibooks.org/wiki/C (nur für C, ist aber kompatibelAls Buch würde ich den C++ Primer empfehlen, gerade der legt Wert auf Standards.
-
Dodo, man kann doch auch ein Minispiel in C++ schreiben, muss doch nicht Flash sein.

Ich würde zu C++ auch wegen der Sprache an sich raten, es ist einfach die schönste Sprache mit den meisten Möglichkeiten.
http://de.wikibooks.org/wiki/C++
Clanlib ist auch noch eine gute Bibliothek, such mal danach. -
Aber ich habe es jetzt verstanden, danke Bandit!

No0ob hatte ja nochmal nachgefragt, dafür der letzte Post. -
Hallo?
Hat jetzt keiner mehr gevotet, Ergebnis gibts au net? -
Da gibt es ein paar PS-Filter mit denen das recht schnell geht meine ich.
Einfach einen Farbverlauf machen und dann ein paar Filter testen.
-
mysql_insert_id bzw, PDO::lastInsertID oder LAST_INSERT_ID() liefern nur ein Ergebnis, wenn mit der selben Datenbankverbindung ein INSERT (oder wohl auch REPLACE) ausgeführt worden ist.
Deshalb sollten wir erst eine leere Zeile einfüggen, dann mit einer der Optionen die id auslesen, diese weiterverarbeiten und dann ein UPDATE durchführen.
Das hat neben der Zuverlässigkeit noch den Vorteil, dass die id in der DB "reserviert" ist und ein parallel laufendes Script das nicht ändern kann, das wäre nämlich selbst ein Problem, wenn es eine exaktere Funktion als max(id) gäbe.
Viele liebe Grüße
The User -
Also ich sehe da eigentlich nur CSS.

Ist gut und kreativ gemacht, wie immer bei dir.
-
Also das wird gleich mehrfach gebraucht:
Einmal um eine Email mit einem Bestätigungslink zu senden (da wird nicht angehangen) und einmal um ein Verzeichnis anzulegen. (da wird angehangen)
Dieser Verzeichnisname kann aber auch durchaus unabhängig von der DB sein und wird daher separat gespeichert. -
Stimmt, da hast du Recht.
Ich werde tatsächlich ein Insert und dann ein Update machen, dadurch wird die Nummer "reserviert". -
Ich habe schon alle ersetzt und die unnötigen "global"s weggemacht.

Ich habe mich nur gewundert, dass das ohne semikolon und mit einem undefinierten Ausdruck buuuuuuuhhhhhhhh klappt. -
Es gibt keine Möglichkeit den Status des Primary-Keys abzufragen?
INSERT und dann UPDATE ist einfach nur Ressourcen-Verschwendung. -
Ich möchte ja nur die letzte bekommen.

Die ID ist ja dann auch zur späteren Reidentifikation, in einen String kommt eine ID und später kann man die zurückverfolgen, ob die jetzt 4711 oder 1337 ist ist unerheblich.Edit:
Beispiel: https://www.forum-hilfe.de/posting.php?mode=editpost&p=297462
Die ID wird in den Get-String gepackt, um die Seite vom Get-String aus identifizieren zu können.Ein noch besseres Beispiel ist es, wenn die ID gleich gebraucht wird, also wenn man ein Posting abschickt wird direkt die ID zum Verlinken gebraucht.
-
Sieht echt gut aus.

-
Ich tippe darauf, dass require goup administrators das entscheidende war.