1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

htmlentities

  • Ginsi
  • 2. Mai 2005 um 13:56
  • Unerledigt
  • Ginsi
    2
    Ginsi
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 2. Mai 2005 um 13:56
    • #1

    hi leute.. hab ne lösung für mein prob mit den französischen zeichen gefunden: htmlentities() .. nun klappt das aba net so wie ich will.. ich vermute das im code einfach ein ganz simpler fehjler steckt seh ihn aba nicht.. guckt ihr euch den code bitte einmal an:

    PHP
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
    
    
    <body style="">
     <?php
    		$lösung="avait";
    		$lösung1="eu";
    		$lösung2="pourrait";
    		$lösung3="n\'était pas allée";
    		$lösung4="serait";
    		$lösung5="disait";
    		$lösung6="perdrais";
    		$lösung7="étaient";
    		$lösung8="aurait";
    
    		if(isset($_POST['submit']))	{
    
    
    			if($_POST['1'] !== $lösung)	
    			{
    
    
    			    $error_msg="L&uuml;cke 1 ist falsch ausgef&uuml;llt<br />";
    
    			} else {
    
    				$lösung_0 = true;
    
    			}
    
    			if($_POST['2'] !== $lösung1)	
    			{			
    			    $error_msg.="L&uuml;cke 2 ist falsch ausgef&uuml;llt<br />";		    	
    			} else {			
    		    	$lösung_1 = true;    			
    			}
    
    			if($_POST['3'] !== $lösung2)	
    			{			
    			    $error_msg.="L&uuml;cke 3 ist falsch ausgef&uuml;llt<br />";		    	
    			} else {			
    		    	$lösung_2 = true;    			
    			}
    
    		    if(htmlentities($_POST['4'], ENT_QUOTES) != htmlentities($lösung3, ENT_QUOTES))
    			{
    		    $error_msg.="L&uuml;cke 4 ist falsch ausgef&uuml;llt<br />";
    			} else {
    			$lösung_3 = true;
    			} 
    
    			if($_POST['5'] !== $lösung4)	
    			{
    			    $error_msg.="L&uuml;cke 5 ist falsch ausgef&uuml;llt<br />";
    			} else {
    				$lösung_4 = true;
    			}
    			if($_POST['6'] !== $lösung5)	
    			{
    			    $error_msg.="L&uuml;cke 6 ist falsch ausgef&uuml;llt<br />";
    			} else {
    				$lösung_5 = true;
    			}
    
    
    		}
    		?>
    
    
    <form method="post" name="form" action="">
    	<b>Les propositions conditionnelles</b><br>
    	Meurtre au jeu...<br>
    	Mettez les formes correctes des verbes!<br><br>
    	Une jeune femme a &eacute;t&eacute; tu&eacute;e avec un pistolet pendant qu&acute;elle jouait au roulette au casino de Monaco. L&acute;inspecteur de police r&eacute;pond 
    	aux questions des journalistes:<br>
    	Journaliste: Monsieur l&acute;inspecteur, connaissez-vous d&eacute;j&agrave; l&acute;identit&eacute; de la victime?<br>
    	Inspecteur: Non, malheureusement elle n&acute;avait pas de passeport. Si elle <?php if ($lösung_0 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung.'</span><input type="hidden" value="'.$lösung.'" name="1">'; } else {echo '<input type="text" name="1" value="">'; } ?>
    	(avoir) ses papiers, notre travail aurait &eacute;t&eacute; beaucoup plus simple. <br>
    	J : Et si on montrait sa photo &agrave; la t&eacute;l&eacute;vision ? Quelqu&acute;un de sa famille ou de ses amis <?php if ($lösung_1 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung1.'</span><input type="hidden" value="'.$lösung1.'" name="2">'; } else {echo '<input type="text" name="2" value="">'; } ?>(pouvoir) la reconna&icirc;tre 
    	et appeler la police. <br>
    	I : Oui, c&acute;est une bonne id&eacute;e ! La pauvre femme ! Si elle <?php if ($lösung_2 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung2.'</span><input type="hidden" value="'.$lösung2.'" name="3">'; } else {echo '<input type="text" name="3" value="">'; } ?>
    	(ne pas aller) au casino elle <?php if ($lösung_3 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung3.'</span><input type="hidden" value="'.$lösung3.'" name="4">'; } else {echo '<input type="text" name="4" value="">'; } ?> (&ecirc;tre) encore en vie maintenant. <br>
    	J : Avez-vous d&eacute;j&agrave; une id&eacute;e qui est le meurtrier ?<br>
    	I : Oui, nous avons d&eacute;j&agrave; un suspect. Mais si je vous <?php if ($lösung_4 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung4.'</span><input type="hidden" value="'.$lösung4.'" name="5">'; } else {echo '<input type="text" name="5" value="">'; } ?> (dire) son nom maintenant, cela emp&ecirc;cherait notre enqu&ecirc;te.<br>
    	J : Et si je vous promets de ne pas &eacute;crire son nom dans mon article...<br>
    	I :Ah non ! Je vous connais, les journalistes ! Vous promettez toujours de ne rien &eacute;crire, et tout &agrave; coup, paf, il y a des informations 
    	confidentielles dans votre papier. Alors si je vous disais que le meurtrier s&acute;appelle Alfonse Renard je <?php if ($lösung_5 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung5.'</span><input type="hidden" value="'.$lösung5.'" name="6">'; } else {echo '<input type="text" name="6" value="">'; } ?> (perdre) 
    	mon travail - oups !<br>
    	J : Merci, Monsieur l&acute;inspecteur, je n&acute;ai plus de questions. Si tous les agents de police <?php if ($lösung_6 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung6.'</span><input type="hidden" value="'.$lösung6.'" name="7">'; } else {echo '<input type="text" name="7" value="">'; } ?> (&ecirc;tre) 
    	comme vous, la presse <?php if ($lösung_7 == true){ echo '<span style="color:green; font-weight:bold">'. $lösung7.'</span><input type="hidden" value="'.$lösung7.'" name="8">'; } else {echo '<input type="text" name="8" value="">'; } ?> (avoir) une vie tr&egrave;s facile !
    	<br><br>
    	<input type="submit" name="submit">
    </form>
    <?php echo $error_msg; 
    echo $_POST['2'] ."!==". $lösung1;
    ?>
    </body>
    </html>
    Alles anzeigen

    mfG Ginsi

  • T.dot
    5
    T.dot
    Mitglied
    Reaktionen
    6
    Punkte
    226
    Beiträge
    44
    • 3. Mai 2005 um 16:26
    • #2

    Hi!

    Wäre interessant zu wissen, was genau nicht funktioniert, dann müsste man nicht deinen ganzen Code durchwühlen.

    - Zuerst würde ich es vermeiden in Variablenamen Umlaute zu verwenden.
    - Zum vergleichen nicht "!==" sondern "!=" verwenden
    - dann mal ne Runde debuggen, lass dir eben die Variablen per echo ausgeben, die du überprüfst, dann findet man relativ schnell seine Fehler.

    mfg T.

    Oppossom: Heavy Rock aus Nö

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 3. Mai 2005 um 18:28
    • #3
    Zitat von T.dot

    Hi!

    Wäre interessant zu wissen, was genau nicht funktioniert, dann müsste man nicht deinen ganzen Code durchwühlen.

    - Zuerst würde ich es vermeiden in Variablenamen Umlaute zu verwenden.
    - Zum vergleichen nicht "!==" sondern "!=" verwenden
    - dann mal ne Runde debuggen, lass dir eben die Variablen per echo ausgeben, die du überprüfst, dann findet man relativ schnell seine Fehler.

    mfg T.


    dem kann ich nur zustimmen ... zudem wäre es wahrscheinlich nicht unschlau, mit arrays zu arbeiten. :winking_face:

    *** Make it idiot proof, and someone will build a better idiot. ***

  • seHaas
    11
    seHaas
    Mitglied
    Reaktionen
    3
    Punkte
    1.238
    Beiträge
    206
    • 4. Mai 2005 um 00:23
    • #4

    also ich hab mir jetzt mal folgende sachen ausgeben lassen:

    PHP
    <?
    echo "\n<br>p4 ".$_POST['4'];
    echo "\n<br>p4-enc ".htmlentities($_POST['4'], ENT_QUOTES);
    echo "\n<br>p4-enc-dec ".html_entity_decode(htmlentities($_POST['4'], ENT_QUOTES));
    echo "\n<br>l3 ".$lösung3;
    echo "\n<br>l3-enc ".htmlentities($lösung3, ENT_QUOTES);
    echo "\n<br>l3-enc-dec ".html_entity_decode(htmlentities($lösung3, ENT_QUOTES));
    ?>

    da sieht man ziemlich schnell (bzw im html-code halt) wo der hund drinnen liegt... hab aber auch keine brauchbare lösung...

    folgende sachen hab ich auch noch probiert, brachte aber nix

    PHP
    <? header('Content-type: text/html; charset=UTF-8') ?>
    HTML
    <form method="post" name="form" action="" accept-charset="utf-8" encode="text/plain">

    leider!

  • Ginsi
    2
    Ginsi
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 4. Mai 2005 um 18:49
    • #5

    also wie die, die sich den code näher angesehn haben sehen bestimmt, das falls die eingabe richtig ist dort in grün die lösung steht..

    nun habe ich diese eine lücke in der man franz. zeichen eingeben muss.. obwohl ich die richtige lösung in die lücke eingebe steht nicht die lösung in grün dort, sondernd es wird als falsch angesehen und man kommt halt net weiter.. dafür habe ich nun die function htmlentities verwendet, die die aufgabe hat sonderzeicehn in den entsprechenden htmlcode umzuwandeln.. ich habe wie auf php.net beschrieben die function angewendet und es ist immer noch der gleiche fehler..

    ich weiß nicht welchen fehler ich mache und ich werd bald echt noch verrückt :frowning_face:

    mfG Ginsi

  • T.dot
    5
    T.dot
    Mitglied
    Reaktionen
    6
    Punkte
    226
    Beiträge
    44
    • 4. Mai 2005 um 20:59
    • #6

    Ich habe hier mal den ganzen Code getestet. Ich hab zwar keine Ahnung von französisch, das soll aber mal nicht das Problem sein.

    Ich hab einfach den Lösungsstring3 (n'était pas allée) in das passende Feld kopiert. Wenn ich diesen nun vergleichen lasse kommt keine Fehlermeldung zurück, dh. String stimmt. Einzig und allein es steht dann statt "n'était pas allée" "n\'était pas allée", aber ich hoffe das muss ich keinem erklären.

    Also wie gesagt, ich hab keine Zeile Code geändert und bei mir funkt das eigentlich. Unter Umständen verwendest du eine ältere PHP Version, die Probleme mit dem Befehl hat. Bei mir ists auf jeden Fall 4.3.10.

    schönen Abend noch, mfg Thomas

    Oppossom: Heavy Rock aus Nö

  • Ginsi
    2
    Ginsi
    Mitglied
    Punkte
    40
    Beiträge
    6
    • 4. Mai 2005 um 22:54
    • #7

    Oo .. ich benutze apache2.. PHP5 using!! ..
    -.- .. ey wenn des jetzt nur an den cookies gelegen hat raste ich aus.. und zwar TOTAL !! ...

    EDIT: Ne.. ich habs sogar hochgeladen und es hat nicht gefunzt..
    leute tut mir mal bitte einen gefallen und prüft das hier:
    geht auf:
    designg.funpic.de/uebung.php
    in der vierten lücke gebt ihr das hier ein: "n'était pas allée"

    und dann drückt ihr auf absenden..
    meldet bitte ob ihr angezeigt gekriegt, es wäre falsch ausgefüllt unten oder ob in grün danach "n'était pas allée" dort steht...

    mfG Ginsi

  • creature
    6
    creature
    Mitglied
    Reaktionen
    1
    Punkte
    371
    Beiträge
    60
    • 6. Mai 2005 um 22:41
    • #8

    Ich würde mir mal an deiner Stelle testweise folgendes Ausgeben lassen:

    PHP
    echo "\n".htmlentities($_POST['4'], ENT_QUOTES);
    echo "\n".htmlentities($lösung3, ENT_QUOTES);

    und dann mal in einem Editor die Ausgabe vergleichen.

    Hocus - Pocus, Stop this insanity!

  • T.dot
    5
    T.dot
    Mitglied
    Reaktionen
    6
    Punkte
    226
    Beiträge
    44
    • 9. Mai 2005 um 09:58
    • #9
    Zitat von Ginsi


    leute tut mir mal bitte einen gefallen und prüft das hier:
    geht auf:
    designg.funpic.de/uebung.php
    in der vierten lücke gebt ihr das hier ein: "n'était pas allée"

    und dann drückt ihr auf absenden..
    meldet bitte ob ihr angezeigt gekriegt, es wäre falsch ausgefüllt unten oder ob in grün danach "n'était pas allée" dort steht...

    wenns bei einem ned geht, gehts bei keinem :winking_face: wird ja schließlich am gleichen Server ausgeführt. Habs bei mir auch scho am Webserver getestet: gehts ned, bei mir lokal am Linuxserver (wobei die Konfiguration davon irgendwie zamgschustert is) gehts...

    mfg Thomas

    Oppossom: Heavy Rock aus Nö

  • anty
    4
    anty
    Mitglied
    Reaktionen
    2
    Punkte
    177
    Beiträge
    31
    • 14. Mai 2005 um 23:30
    • #10

    Bei mir geht der Code... Es wird der String grün angezeigt und unten steht dann auch nicht mehr dass das feld falsch ausgefüllt wurde.
    Also so wie ich das sehe perfekt bis auf den zusätzlichen Slash.
    Aber auf deinem Webspace macht er das nicht so...

    anty.at

  • seHaas
    11
    seHaas
    Mitglied
    Reaktionen
    3
    Punkte
    1.238
    Beiträge
    206
    • 15. Mai 2005 um 10:42
    • #11

    hab zufällig im dreamweaver was gefunden um die php-page-encoding einzustellen:

    PHP
    mb_http_input("iso-8859-1");
    mb_http_output("iso-8859-1");

    vllt hilft das!

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 15. Mai 2005 um 11:02
    • #12

    im zweifelsfall würd ich mal die phpinfo dokumente vergleichen (die von einem space wo das dokument funzt und die von deinem funpic.de space), vielleicht lässt sich der fehler so finden. is echt ein dreck dass nicht alle php apache configs gleich sind, ich hab mich mal mit nem server herumgeärgert der die mathematischen funktionen nicht aktiviert hatte (bcmod z.b.) oder einem der php im safe mode ohne gdlib laufen ließ.... auch lustig.

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung