Zum Inhalt springen

FinalFantasy

Mitglieder
  • Gesamte Inhalte

    966
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von FinalFantasy

  1. Ich habe in letzter Zeit PHP und MySQL gemacht. Ich würde schon gern mal was grösseres machen, die Frage ist nur, ob ich schon gut genug bin, und was du eigentlich machen willst.
  2. Ja, klar, is nicht so schlimm @christl. Ihr werdet schon ohne mich auskommen. Mich kennt ja hier eh kaum jemand auch nur ein wenig besser, und weil ja heisst der ERSTE Stammtisch, im neuen Jahr, geh ich mal davon aus, dass es noch mehrere geben wird. Vielleicht klappts ja dann da... Geld ist halt bei mir momentan auch recht knapp. (Ich muss ja von meinem Azubigehalt auch noch meine Wohnung zahlen)
  3. Hm, also übernachten is mir zu teuer. Allein hinfahren aber eigentlich auch. Hm, so wies ausschaut komm ich dann wohl doch nicht....
  4. Kommt drauf an, was du für Zugriffsrechte auf deinen Webspace hast. Du brauchst den Verzeichnissen ja beispielweise nur die Zugriffsrechte für den Apache-User entziehen (Sofern das System Apache benutzt), dann kann Apache dass Verzeichniss nicht in einem Browser von irgendeinem Surfer öffnen. Aber mir fällt grad ein, dann kommst du wahrscheinlich ja selber nichtmehr an die Bilder.... hm, das ist dumm
  5. Ich denk mal er meint Suse, rein von den Versionsnummern her. Aber ich frage mich eher, wieso willst du den Server upgraden, wenn er einwandfrei läuft? Brauchst du etwas, was 8.2 nicht kann, aber 9.0 könnte?
  6. Also ich hab ganz schlechte Erfahrungen mit WD gemacht, was die Haltbarkeit der Platten angeht. Mir ist auch schon eine WD400EB abgeraucht. Einfach im Internet den Umtauschzettel ausfüllen, ausdrucken, einschicken, und in spätestens 2 Wochen hast du ne neue Platte. Da ist WD schnell, dass muss man ihnen lassen.
  7. Ah, genau dass hab ich gestern auch gemacht, wusste aber nicht, dass man im <option> tag eine Value angeben kann.... Das würde die sache ja gewaltig vereinfachen. *gg* Krieg ich dann im nachfolgenden Dokument in $_POST nur noch die Value, oder zusätzlich den Text?? Nur die Value, oder?
  8. Sieht hier jemand vielleicht, wieso ich immer nur die erste POST-Serie in die DB krieg, aber die anderen 4 nicht? Die inserts an sich gehen in der DB, hab ich schon getestet. Die Schleife läuft auch richtig durch, weil ich ja die Ausgaben bekomme. <?php session_start(); include('opendatabase.php'); //Kampf in Tabelle einfügen for($i = 0; $i < 5; $i++) { //Name in Vorname und Name zerlegen $pos = strpos($_POST["schuetze".$i], " "); $name = substr($_POST["schuetze".$i], 0, $pos); $vorname = substr($_POST["schuetze".$i], $pos+1, strlen($_POST["schuetze".$i])-$pos); //SchützenID aus DB holen $result = mysql_query(sprintf( "SELECT ID FROM Schuetze WHERE name=\"%s\" AND vorname=\"%s\"", $name, $vorname)); $schuetzeID = mysql_fetch_array($result); //Schütze in Ergebniss Tabelle eintragen $query = sprintf( "INSERT INTO Ergebnisse VALUES (LAST_INSERT_ID( ), \"%s\", \"%s\", \"%s\")", $schuetzeID['ID'], $_POST['KampfID'], $_POST["s".$i."erg"]); //DEBUG: echo $query."<br>"; mysql_query($query); } echo '<b>Daten wurden gespeichert!</b>'; ?> [/PHP]
  9. Hi, Wie ist es eigentlich effektiver doppelte Einträge zu vermeiden, wenn ich von PHP auf MySQL zugreiffe? Vorher nen Select mit den einzufügenden Daten machen, und dann von PHP her ggf. den Insert schon verhindern? Müsste doch eigentlich auch gehen, dass ich das Feld in MySQL als Unique definiere.... Wird dann von SQL der Insert abgewiesen? Diese Methode funktioniert aber nur mit einzelnen Feldern, und nicht mit mehreren in Kombination... Oder vielleicht nur ein Select count (*) und dann Prüfen, ob schon was existiert, also das Ergebniss > 0 ist? Wie macht denn ihr das so?
  10. Hm, also wenn alle IPs stimmen, (gleiches Subnet....) und keine Firewall läuft, dann is das komisch. Hatte mit Win2k noch nie Probleme, was Netzwerk angeht. [Edit]: Die Netzwerkkarte hat aber schon eine gültige MAC-Adresse? Habs auch schon erlebt dass da 00-00-00-00-00-00 drinstand. Kannst du mit ipconfig /ALL nachschauen.
  11. Stimmen denn die zugewiesenen IPs?
  12. Also seit ich meinen Laptop habe, hab ich eigentlich kaum mehr nen Monitor spazieren getragen. *gg* Hach, so ein Laptop ist schon was feines.
  13. Das erste ginge z.B. so: =VERKETTEN(A1, " ", A2) oder =A1&" "&A2 Eigentlich ganz einfach.
  14. Ok, für alles was ich bis jetzt als EventLog gefunden hab, muss man eine Ressource anlegen, diese seperat compilieren, und dann erst immer laden.... Gibts nicht ne Möglichkeit, da einfach nur einen String reinzuschreiben?? Eine Messagebox kann man auch nicht anzeigen, aus einem Service raus, oder? Weil der Bezug zu nem Fenster/Desktop fehlt. Naja, irgendwie muss es ja gehen... hm.....
  15. Ah, das war genau der Punkt, der mir gefehlt hat. Danke schonmal, soweit läufts jetzt. Jetzt muss ich noch rausfinden, wie ich EventLog-Einträge schreibe, aber ich schau erstmal, ob ich das selber rausbringe. Danke schonmal.
  16. Ja, das ist mir schon bekannt. Die Frage ist nur: Wie programmier ich das? Dass der Dienst mit /install auch angemeldet wird, dass der Dienst auf net start service auch startet.....
  17. Steht aber als Beispiel so in der MSDN. Ich kanns ja nicht, und wills mir lernen, also wie muss ich es machen??
  18. Hier ist das Beispiel: #include <windows.h> #include <stdio.h> SERVICE_STATUS MyServiceStatus; SERVICE_STATUS_HANDLE MyServiceStatusHandle; VOID SvcDebugOut(LPSTR String, DWORD Status); VOID WINAPI MyServiceStart (DWORD argc, LPTSTR *argv); VOID WINAPI MyServiceCtrlHandler (DWORD opcode); DWORD MyServiceInitialization (DWORD argc, LPTSTR *argv, DWORD *specificError); void main( ) { SERVICE_TABLE_ENTRY DispatchTable[] = { { "MyService", MyServiceStart }, { NULL, NULL } }; if (!StartServiceCtrlDispatcher( DispatchTable)) { SvcDebugOut(" [MY_SERVICE] StartServiceCtrlDispatcher error = %d\n", GetLastError()); } } VOID SvcDebugOut(LPSTR String, DWORD Status) { CHAR Buffer[1024]; if (strlen(String) < 1000) { sprintf(Buffer, String, Status); OutputDebugStringA(Buffer); } } void WINAPI MyServiceStart (DWORD argc, LPTSTR *argv) { DWORD status; DWORD specificError; MyServiceStatus.dwServiceType = SERVICE_WIN32; MyServiceStatus.dwCurrentState = SERVICE_START_PENDING; MyServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_PAUSE_CONTINUE; MyServiceStatus.dwWin32ExitCode = 0; MyServiceStatus.dwServiceSpecificExitCode = 0; MyServiceStatus.dwCheckPoint = 0; MyServiceStatus.dwWaitHint = 0; MyServiceStatusHandle = RegisterServiceCtrlHandler( "MyService", MyServiceCtrlHandler); if (MyServiceStatusHandle == (SERVICE_STATUS_HANDLE)0) { SvcDebugOut(" [MY_SERVICE] RegisterServiceCtrlHandler failed %d\n", GetLastError()); return; } // Initialization code goes here. status = MyServiceInitialization(argc,argv, &specificError); // Handle error condition if (status != NO_ERROR) { MyServiceStatus.dwCurrentState = SERVICE_STOPPED; MyServiceStatus.dwCheckPoint = 0; MyServiceStatus.dwWaitHint = 0; MyServiceStatus.dwWin32ExitCode = status; MyServiceStatus.dwServiceSpecificExitCode = specificError; SetServiceStatus (MyServiceStatusHandle, &MyServiceStatus); return; } // Initialization complete - report running status. MyServiceStatus.dwCurrentState = SERVICE_RUNNING; MyServiceStatus.dwCheckPoint = 0; MyServiceStatus.dwWaitHint = 0; if (!SetServiceStatus (MyServiceStatusHandle, &MyServiceStatus)) { status = GetLastError(); SvcDebugOut(" [MY_SERVICE] SetServiceStatus error%ld\n",status); } // This is where the service does its work. SvcDebugOut(" [MY_SERVICE] Returning the Main Thread \n",0); return; } VOID WINAPI MyServiceCtrlHandler (DWORD Opcode) { DWORD status; switch(Opcode) { case SERVICE_CONTROL_PAUSE: // Do whatever it takes to pause here. MyServiceStatus.dwCurrentState = SERVICE_PAUSED; break; case SERVICE_CONTROL_CONTINUE: // Do whatever it takes to continue here. MyServiceStatus.dwCurrentState = SERVICE_RUNNING; break; case SERVICE_CONTROL_STOP: // Do whatever it takes to stop here. MyServiceStatus.dwWin32ExitCode = 0; MyServiceStatus.dwCurrentState = SERVICE_STOPPED; MyServiceStatus.dwCheckPoint = 0; MyServiceStatus.dwWaitHint = 0; if (!SetServiceStatus (MyServiceStatusHandle, &MyServiceStatus)) { status = GetLastError(); SvcDebugOut(" [MY_SERVICE] SetServiceStatus error %ld\n",status); } SvcDebugOut(" [MY_SERVICE] Leaving MyService \n",0); return; case SERVICE_CONTROL_INTERROGATE: // Fall through to send current status. break; default: SvcDebugOut(" [MY_SERVICE] Unrecognized opcode %ld\n", Opcode); } // Send current status. if (!SetServiceStatus (MyServiceStatusHandle, &MyServiceStatus)) { status = GetLastError(); SvcDebugOut(" [MY_SERVICE] SetServiceStatus error %ld\n",status); } return; } DWORD MyServiceInitialization(DWORD argc, LPTSTR *argv, DWORD *specificError) { argv; argc; specificError; return(0); } [/PHP] wie man sieht, übernimmt die Main-Funktion nichtmal Argumente. Was für ein Argument solltes dass dann sein? Muss ich das vielleicht als ein bestimmtes Projekt anlegen? Oder irgendwo das Programm eintragen?? (Services unter Wind2k-Administrative Tools....)
  19. Ok, stimmt. Aber da krieg ich wirklich ne "Anwendung reagiert nicht" Fehlermeldung beim Runterfahren, und das stört schon. Ausserdem kann ich so nicht in den EventLog schreiben, oder? Hat nicht zufällig jemand ein Gerüsst für nen Service? Da braucht ja nichts ausprogrammiert sein drin. Hab den Beitrag ind der MSDN auch gelesen, das Beispiel kompiliert bei mir sogar, allerdings wird der Service nicht gestartet, wenn ich das Ausführe.
  20. Und was war es jetzt?
  21. Ihr werdets nicht glauben, aber die Kiste läuft!! Ich komm sogar ins Internet. Nur ist alles extrem langsam! Komm kaum über 1k. Am Server kommt immer, dass irgendwelche Pakages auf unterschiedlichen Ports rejected wurden. Mal ne Frage: Ich benutz Seti@home und chatte in verschiedenen Java-Chats. Blockt der dass dann, oder wie?
  22. Habs mir schon ein bischen angeschaut. Service is vielleicht doch etwas kompliziert. An welcher Stelle muss ich denn in MFC das Fenster verstecken?
  23. Achso, hm. Ja, das mit keinem Fenster ist in MFC nicht so einfach. Mit direkter WinAPI ginge das vielleicht, hab ich noch nicht probiert. Das Programm soll eigentlich eh nur laufen, wenn jemand angemeldet ist, aber die "Programm reagiert nicht"-Meldung ist dann doch störend. Ich schau mal deinem Link nach. Danke für die schnelle Antwort.
  24. Hallo, wie kann ich einen Service schreiben? Also eigentlich ein kleines Programm, dass komplett im Hintergrund läuft. Es soll von dem Programm nichts sichtbar sein, also keine Oberfläche. Wenn man den Prozess im Taskmanager sieht, macht das allerdings nichts. Ein kleines Beispiel würde mir schon sehr helfen. Das wichtigeste ist halt, dass man keine Oberfläche sieht, also auch keine Dosbox oder so. Achja, es soll wirklich so laufen, also bitte nicht mit irgendwelchen Hilfsprogrammen wie AppToService oder so. Die helfen mir nichts.
  25. Juhu, jetzt geht es!! Hab mir das ganze SDK runtergeladen. Thx, für eure Hilfe

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...