kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Problem/Frage bezüglich AJAX - PHP (POST)

    geschrieben von musketiere

    Juhuuu :angel: :lol:

    Danke, danke, dankee!

    Es lag daran, dass anscheinend die Spracherkennungs-API eigenmächtig Leerzeichen vor den String gesetzt hat (komischerweise nicht vor den ersten...)

    Konnte ich ganz einfach mit trim() lösen

    $final = trim(strtolower($_POST['final']));


    Nochmals: Vielen Dank für die Hilfe - bin einfach nicht drauf gekommen ^^
  • in: Problem/Frage bezüglich AJAX - PHP (POST)

    geschrieben von musketiere

    Hallo zusammen,

    ich habe eine kleine, unterhaltsame (zumindest wird sie das noch) Web-Anwendung mit der Web Speech API (Speech Recognition und Speech Synthesis) geschrieben.

    Was sie machen soll:
    - per 'Speech Recognition' verstehen, was ihr der Anwender sagt und in Text verwandeln -funktioniert-
    - das gesagte per Ajax an den Server senden und Antwort des Servers zurücksenden (was notwendig ist, um den String auszuwerten, und durch eine Datenbank Konversationen bezüglich des zuletzt gesagten zu führen, usw.) -funktioniert nicht ganz-
    - Die Antwort des Servers per 'Speech Synthesis' sprechen -funktioniert-

    Mein genaues Problem ist jetzt, dass der Vorgang nur beim ersten Mal, beziehungsweise aller (ca.) 20 Sekunden durchgeführt wird...

    Wenn ich also 'Hallo' sage, wird das verstanden, zum Server geschickt, verarbeitet und es wird 'Willkommen' ausgesprochen.
    Wenn ich wenige Sekunden danach z.b.: 'Test' sage, wird das verstanden (!), zum Server geschickt (!), ist nicht "" (leer) oder empty oder !isset oder ähnliches ... nee ... ich weiß selbst nicht genau, was es ist...

    Meine Auswertung auf dem Server:

    <?php
    header('Content-Type: text/html; charset=utf-8');
    header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0');
    
    //Auswertung Beginn
    $final = strtolower($_POST['final']);
    
    switch ($final) {
    	case 'hallo':
    		$meldung = 'Willkommen';
    		break;
    
    	case 'test':
    		$meldung = '1 2 3';
    		break;
    
    	case '':
    		$meldung = 'Der übergebene String ist leer';
    		break;
    			
    	case (!isset($final)):
    		$meldung = 'Der übergebene String ist nicht gesetzt';
    		break;
    			
    	case (empty($final)):
    		$meldung = 'Der übergebene String ist empty';
    		break;
    	
    	default:
    		//$meldung = 'String stimmt mit nichts überein'; - Als ich das eingefügt hatte, traf das anstatt von 'Variable ist ein leerer String', siehe unten, zu. -
    		break;
    }
    
    switch ($meldung) {
    	case '':
    		$meldung = 'Variable Meldung ist ein leerer String'; //trifft ab 2. Mal zu!
    		break;
    
    	case (!isset($meldung)):
    		$meldung = 'Variable Meldung ist nicht gesetzt';
    		break;
    			
    	case (empty($meldung)):
    		$meldung = 'Variable Meldung String ist empty';
    		break;
    	
    	default:
    		# Nichts trifft zu
    		break;
    }
    
    echo $meldung;
    //Auswertung Ende
    
    ?>


    Der Rest funktioniert definitiv einwandfrei (Hab das ausgiebig getestet, etliche console.log's an allen möglichen Stellen gemacht und überall relevante Werte ausgeben lassen - es hängt an der Server-Auswertung, aber eben nur ab dem 2. Mal bzw. wenn ich innerhalb von 20-30 Sekunden wieder sende.)

    $final ist das Ergebnis der Spracherkennung und wird jedesmal korrekt (nicht leer oder so) übergeben (kann z. b. am Ende bei echo $meldung ausgegeben werden).
    Die Sprachausgabe klappt übrigens auch immer, wenn ich Ajax nicht verwende!
    Beispiele aus Ajax-Tutorials mit Formular-Vervollständigung klappen auch... Jedes Mal ^^

    Ich bin echt am Verzweifeln - ich konnte das Problem so weit eingrenzen (hoffe/glaube ich), hab aber keinen Plan, was genau das Problem ist :lol:
    Habt ihr eine Idee oder einen Vorschlag, wie ich das Problem lösen könnte? :confused:

    Danke schon mal! Vielmals! ;)
  • in: Webseiten-Inhalt zyklisch aktualisieren

    geschrieben von musketiere

    Hallo zusammen, :wave:

    ich programmiere noch nicht sehr lange (ca. 5 Monate), und erstmal nur PHP, HTML, SQL (PDO).
    Als nächstes würde ich gerne CSS und JavaScript lernen, kennt ihr da gute Tutorials?

    Naja, nun zu meiner eigentlichen Frage:
    Es gibt ja verschiedenste Browsergames... Die meisten davon sind Animationen, stimmts? Ich frage mich, wie sich diese aktualisieren (da gibt es zum Beispiel einen Chat oder diverse Countdowns, z.B. beim Bau von Gebäuden, die müssen ja aktuell sein)

    - Wie geht das? :confused::biggrin:

    Ich habe erstmal vor, einen Chat, einige Datenbank-Abfragen und ein PN-System auf meiner Seite einzubauen.
    Ansich ist das ja mit PHP und Datenbanken kein Problem, kriege ich auch hin...

    Aber wie aktualisiere ich das Ganze dann (also so, dass jeder Benutzer die Änderungen, zum Beispiel eine neue Chatnachricht) sofort, automatisch sieht, ohne die Seite manuell (mit F5) zu aktualisieren?

    Ich habe mich natürlich schon informiert, bin dabei auf die 2 Möglichkeiten:
    - Long Polling
    und
    - WebSockets
    gestoßen.
    Ich habe die beiden Techniken auch teilweise verstanden, allerdings werden hier bei Lima-City ja keine WebSockets unterstützt - Warum eigentlich? :slant:
    Und Long Polling sieht ziemlich kompliziert aus, da ich ja eben noch kein JavaScript gelernt habe :frown: .

    Kennt ihr also einfachere Möglichkeiten (vllt. mit einer Sprache, die ich schon kann, oder mit einer einfachen, schnell zu erlernenden Sprache), um mein Problem zu lösen?

    Könnt ihr mir andernfalls gute JS-Tutorials empfehlen oder mir hier einfach mal Long Polling am praktischen Beispiel erläutern, sodass ich das dann gleich einbauen kann?

    Vielen Dank schon mal für eure Hilfe, egal wie! :wink::biggrin:
  • in: WebSockets bei Lima-City einrichten?

    geschrieben von musketiere

    Hallo zusammen,

    ich muss meine PHP-Datei jede Sekunde aktualisieren (wegen Uhrzeit-Anzeige und vor allem einigen DB-Abfragen, die aktuell sein müssen).
    Da ich mich noch gar nicht mit JS beschäftigt habe (das steht als nächstes auf meiner Liste :wink:), wollte ich das Ganze einfach mit WebSockets machen...

    Allerdings weiß ich auch hier nicht genau, wie das funktioniert, vor allem bei Lima-City...

    Ich würde mich sehr über eure Hilfe freuen!

    Danke schon mal!

Login zum Webhosting ohne Werbung!