php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.02.2006, 21:40  
Gast
 
Beiträge: n/a
Standard Textarea und >

Hi,

ich komm grad nicht weiter in einem Formular. Ich hab hier über die Suche schon alles was Textareas und HTML Entities anging durchgewälzt, aber nicht das wahre gefunden.

Ich hab ein Formular mit 24 Textareas. Sobald der Benutzer in eines der Textareas ein > einfügt, dann funktioniert das Submit nicht mehr, weil er das > im Textfeld interpretiert. Lade ich den Text aus der Datenbank und lasse es vorher mit htmlentities umwandeln, dann stellt er brav ein > dar, wandelt es aber in den HTML-Code um. Wenn ich dann den Submit auslöse funktioniert es.

Wie kann ich nun abfangen, dass ein Benutzer ein > eingibt und damit das Formular zum aufhängen bringt.

Code:
    if (empty($sr1))
    {
        $sql_vorbelegung="SELECT * FROM coachingreports WHERE spiel_id='$spiel' AND durch='".$_session['user_id']."'";
        if ($res_vorbelegung=safe_query($sql_vorbelegung))
        {
            if (mysql_num_rows($res_vorbelegung))
            {
                $obj_v=mysql_fetch_object($res_vorbelegung,MYSQL_ASSOC);
                $sr1_1=$obj_v->kat1_1;
                $sr1_2=$obj_v->kat2_1;
                $sr1_3=$obj_v->kat3_1;
                $sr1_4=$obj_v->kat4_1;
                $sr1_5=$obj_v->kat5_1;
                $sr1_6=$obj_v->kat6_1;
                $sr1_7=$obj_v->kat7_1;
                $sr1_8=$obj_v->kat8_1;
                $sr2_1=$obj_v->kat1_2;
                $sr2_2=$obj_v->kat2_2;
                $sr2_3=$obj_v->kat3_2;
                $sr2_4=$obj_v->kat4_2;
                $sr2_5=$obj_v->kat5_2;
                $sr2_6=$obj_v->kat6_2;
                $sr2_7=$obj_v->kat7_2;
                $sr2_8=$obj_v->kat8_2;
                $sr3_1=$obj_v->kat1_3;
                $sr3_2=$obj_v->kat2_3;
                $sr3_3=$obj_v->kat3_3;
                $sr3_4=$obj_v->kat4_3;
                $sr3_5=$obj_v->kat5_3;
                $sr3_6=$obj_v->kat6_3;
                $sr3_7=$obj_v->kat7_3;
                $sr3_8=$obj_v->kat8_3;
			}
        }
    }
	$sql_spiel="SELECT * FROM spiele WHERE id='$spiel'";
    if ($res_spiel=safe_query($sql_spiel))
    {
        $obj_spiel=mysql_fetch_object($res_spiel,MYSQL_ASSOC);
        $spieltag=$obj_spiel->spieltag;
        $sr1_nr=$obj_spiel->sr1;
        $sr2_nr=$obj_spiel->sr2;
        $sr3_nr=$obj_spiel->sr3;
        $home_nr=$obj_spiel->heim;
        $gast_nr=$obj_spiel->gast;
        $datum=$obj_spiel->datum;
        $uhrzeit=$obj_spiel->uhrzeit;
		$sql_sr1="SELECT * FROM user WHERE id='$sr1_nr'";
    	if ($res_sr1=send_sql($db,$sql_sr1))
        {
	     	$obj_sr1=mysql_fetch_object($res_sr1,MYSQL_ASSOC);
     		$sr1_name=$obj_sr1->vorname." ".$obj_sr1->nachname;
		}
		$sql_sr2="SELECT * FROM user WHERE id='$sr2_nr'";
		if ($res_sr2=send_sql($db,$sql_sr2))
		{
     		$obj_sr2=mysql_fetch_object($res_sr2,MYSQL_ASSOC);
	     	$sr2_name=$obj_sr2->vorname." ".$obj_sr2->nachname;
		}
		$sql_sr3="SELECT * FROM user WHERE id='$sr3_nr'";
		if ($res_sr3=send_sql($db,$sql_sr3))
		{
	     	$obj_sr3=mysql_fetch_object($res_sr3,MYSQL_ASSOC);
	     	$sr3_name=$obj_sr3->vorname." ".$obj_sr3->nachname;
		}
		$sql_home="SELECT * FROM team WHERE id='$home_nr'";
		if ($res_home=send_sql($db,$sql_home))
		{
	     	$obj_home=mysql_fetch_object($res_home,MYSQL_ASSOC);
	     	$home_name=$obj_home->team;
		}
		$sql_gast="SELECT * FROM team WHERE id='$gast_nr'";
		if ($res_gast=send_sql($db,$sql_gast))
		{
	     	$obj_gast=mysql_fetch_object($res_gast,MYSQL_ASSOC);
	     	$gast_name=$obj_gast->team;
		}
    }
	echo "<p class='xitem'>Coachingreporterstellung

";
	echo "Spieltag ".$spieltag." Datum ".date_us2de($datum)." Begegnung ".$home_name." vs ".$gast_name."
";
    echo "<form>";
    echo "<input type='hidden' name='spiel' value='$spiel'>";
    echo "<input type='hidden' name='sr1' value='$sr1_nr'>";
    echo "<input type='hidden' name='sr2' value='$sr2_nr'>";
    echo "<input type='hidden' name='sr3' value='$sr3_nr'>";
    echo "<table>";
    echo "<tr>";
    echo "<th class='xitem' align='left'>Kriterium</th><th class='xitem' align='left'>".$sr1_name."</th><th class='xitem' align='left'>".$sr2_name."</th><th class='xitem' align='left'>".$sr3_name."</th>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>SPIELKONTROLLE, KOMMUNIKATIONSVERHALTEN, TEAMGEIST, FÜHRUNG
(freundlich aber bestimmt, Geschehen im Griff, konsequent im Umgang mit Bänken, Auftreten generell)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_1' rows=4 cols=40>".htmlentities($sr1_1,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_1' rows=4 cols=40>".htmlentities($sr2_1,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_1' rows=4 cols=40>".htmlentities($sr3_1,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>UMGANG MIT STOP-THE-CLOCK-SITUATIONEN
(sichere Anwendung der Kriterien, schnelles pfeifen, sicheres Ahnden von Fouls bei stehender Uhr)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_2' rows=4 cols=40>".htmlentities($sr1_2,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_2' rows=4 cols=40>".htmlentities($sr2_2,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_2' rows=4 cols=40>".htmlentities($sr3_2,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>UNSPORTLICHE FOULS / DISQUALIFIKATIONEN
(ahndet sicher und konsequent gem. Vorgaben, differenziert zw. Härte und Spielintention, greift rechtzeitig und \"präventiv\" ins Spielgeschehen ein)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_3' rows=4 cols=40>".htmlentities($sr1_3,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_3' rows=4 cols=40>".htmlentities($sr2_3,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_3' rows=4 cols=40>".htmlentities($sr3_3,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>BEURTEILUNG VON KONTAKTSITUATIONEN
(off-the-ball, Block/Charge, Foul in der Korbwurfbewegung, Screening, Low-Post/Vertikalprinzip, VORTEIL / NACHTEIL-AUSLEGUNG: Unterbricht das Spiel nur wenn es wirklich nötig ist ohne Härte aufkommen zu las-sen, Gefühl für das Spiel)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_4' rows=4 cols=40>".htmlentities($sr1_4,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_4' rows=4 cols=40>".htmlentities($sr2_4,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_4' rows=4 cols=40>".htmlentities($sr3_4,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>REGELÜBERTRETUNGEN
(Augenmaß vs. Konsequenz, ahndet nicht auf Verdacht)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_5' rows=4 cols=40>".htmlentities($sr1_5,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_5' rows=4 cols=40>".htmlentities($sr2_5,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_5' rows=4 cols=40>".htmlentities($sr3_5,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>SCHIEDSRICHTERTECHNIK
(Bewegung mit dem Ball, sucht immer bestmögliche Position (Space), Beherrschung der Technik)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_6' rows=4 cols=40>".htmlentities($sr1_6,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_6' rows=4 cols=40>".htmlentities($sr2_6,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_6' rows=4 cols=40>".htmlentities($sr3_6,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>SONSTIGES
(bitte konkret benennen)</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_7' rows=4 cols=40>".htmlentities($sr1_7,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_7' rows=4 cols=40>".htmlentities($sr2_7,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_7' rows=4 cols=40>".htmlentities($sr3_7,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td class='xitem'>LEISTUNGSBEWERTUNG</td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr1_8' rows=4 cols=40>".htmlentities($sr1_8,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr2_8' rows=4 cols=40>".htmlentities($sr2_8,ENT_QUOTES)."</textarea></td>";
    echo "<td class='xitem'><textarea class='xitem' name='sr3_8' rows=4 cols=40>".htmlentities($sr3_8,ENT_QUOTES)."</textarea></td>";
    echo "</tr>";
    echo "</table>";
	echo "<input class='bitem' type=submit name=speichern value='Speichern'>\n";
	echo "</form>";
Ich steh inzwischen ziemlich auf dem Schlauch.

Bye,
Markus
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.02.2006, 22:03  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

htmlspecialchars und htmlspecialchars_decode sollten es hin und zurückwandeln können so wie du es willst.
robo47 ist offline   Mit Zitat antworten
Alt 06.02.2006, 22:06  
Gast
 
Beiträge: n/a
Standard

Das ist mir schon klar, wenn ich die Felder wieder in PHP bearbeiten kann, dass ich mit den Befehlen die HTML-Entities umwandeln kann.
Aber:
Sobald der Benutzer in das Feld ein > eingibt und dann auf den Speichern-Button drücken will, tut dieser nicht mehr, weil der Browser das > schon als Endmarkierung eines Tags im Bereich des Textareas interpretiert.

Bye,
Markus
  Mit Zitat antworten
Alt 06.02.2006, 22:13  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von rambrand
Sobald der Benutzer in das Feld ein > eingibt und dann auf den Speichern-Button drücken will, tut dieser nicht mehr
Wenn ein > eingegeben wird, ist der Submit-Button sofort deaktiviert!?

Wenn ja, leg Dir einen anderen Browser zu.
  Mit Zitat antworten
Alt 06.02.2006, 22:29  
Gast
 
Beiträge: n/a
Standard

Mit dem Firefox tut es tatsächlich.
Mit dem Internet Explorer gibt es genau das Problem.

Aber ich kann ja nicht von den Benutzern erwarten, dass sie jetzt den Firefox nutzen.

Bye,
Markus
  Mit Zitat antworten
Alt 06.02.2006, 22:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von rambrand
Sobald der Benutzer in das Feld ein > eingibt und dann auf den Speichern-Button drücken will, tut dieser nicht mehr, weil der Browser das > schon als Endmarkierung eines Tags im Bereich des Textareas interpretiert.
Das ist einfach nicht wahr! Zumindest nicht ohne weiteres (wenn du natürlich Käse mit deinem Script baust ist das was anderes.
Aber dein 12km Script anzuschauen hab ich auch keine Lust. Vielleicht kürzt dus einfach mal auf den relevanten Teil? :wink:
Zergling-new ist offline   Mit Zitat antworten
Alt 06.02.2006, 22:51  
Gast
 
Beiträge: n/a
Standard

Der relevante Teil ist dieser:

echo "<td class='xitem'><textarea class='xitem' name='sr1_7' rows=4 cols=40>".htmlentities($sr1_7,ENT_QUOTES)."</textarea></td>";

$sr1_7 wird aus einer Datenbank gelesen.
Ist in dem Datenfeld ein > enthalten wird es korrekt mit htmlentities umgewandelt. Wenn hier der Submit-Button gedrückt wird, dann speichert er das anstandslos.

Gibt der Benutzer aber ein > ein und klickt auf den Submit-Button, dann reagiert der Button nicht mehr. Unter dem Firefox funktioniert das.

Kann natürlich auch sein, dass der Firefox einfach etwas kulanter mit dem HTML-Code umgeht.

Bye,
Markus
  Mit Zitat antworten
Alt 06.02.2006, 22:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

>

... ein Wunder! Gib mal den genauen Inhalt deiner $rs_xy Variable und vielleicht ein Online-Beispiel mit Angabe des Browsers bei dem es nicht geht bzw. hängen bleibt.
Zergling-new ist offline   Mit Zitat antworten
Alt 06.02.2006, 23:13  
Gast
 
Beiträge: n/a
Standard

Onlinebeispiel ist leider nicht möglich.

Also Inhalt der Variable beim Auslesen der Datenbank:
Rotationen dem Spiel angemessen. Positionen z >

Ausgabe der Variable nach der Funktion htmlentities:
Rotationen dem Spiel angemessen. Positionen z &gt;

Browser bei dem es dann hängt:
IE 6.0.2900.2180.xpsp_sp2_gdr.050301-1519

Ich steh da echt vor einem Rätsel.

Bye,
Markus
  Mit Zitat antworten
Alt 07.02.2006, 00:34  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

dann sei doch mal so freundlich und stelle uns ein testcript online und sei es auf nem free-webspace wo man das irgendwie nachvollziehen kann, was du sagst, dann können wir wenigstens was anderes machen als rätsel raten, und die glaskugel zu entstauben

ausserdem solltest du dir vieleicht mal überlegen deinen code etwas ordentlicher zu strukturieren oder für das html-zeug ne template-engien zu verwenden.

ausserdem so ein paar kleinigkeiten:

select * from ist unsauber, man selektiert NUR die felder die man braucht, auch wenn das alle sind, dann eben alle einzeln.

mysql_fetch_object, hat keinen 2ten parameter, mysql_fetch_array hat diesen 2ten parameter.

ich kenne zwar send_sql nicht, aber da du ihr die Datenbank übergibst wird die funktion wohl entweder mysql_db_query verwenden oder jedesmal die datenbank neu wählen ... in jedem fall unnötig

und zu guter letzt, hast du mal dein html validiert ? geschaut ob es valide ist, sprich die ausgabe ? bei dem chaos da oben kann man das leider nicht mehr nachvollziehen.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfügen von Text in Textarea per JS louis HTML, Usability und Barrierefreiheit 5 07.07.2008 15:13
Datei in Textarea auslesen kampfnickel PHP Tipps 2006 21 24.11.2006 22:09
Textarea Feld dynamisch vergrößern und verkleinern? php_frage HTML, Usability und Barrierefreiheit 5 25.04.2006 08:42
Textarea Übergabe Problem danysahne333 PHP Tipps 2006 6 14.03.2006 13:46
DB -> TEXTAREA -> DB -> ? Wo kommen die TAB's her? StartUpBoy Datenbanken 6 04.01.2006 20:49
Problem mit Textarea php_frage HTML, Usability und Barrierefreiheit 2 31.12.2005 00:53
[Erledigt] Länge einer textarea ohne Leerzeichen PHP Tipps 2005-2 4 30.06.2005 15:59
[Erledigt] textarea + value PHP Tipps 2005-2 1 22.06.2005 17:30
Text per Klick in Textarea einfügen Abhängig von Radiobutton 18inch HTML, Usability und Barrierefreiheit 1 09.05.2005 11:22
textarea als mail verschicken PHP Tipps 2005 9 22.03.2005 21:29
[Erledigt] Text oben bündig mit Textarea &quot;CSS&quot; HTML, Usability und Barrierefreiheit 3 08.03.2005 09:42
Textarea ... Tschuu HTML, Usability und Barrierefreiheit 2 03.01.2005 14:13
textarea? Creativ PHP Tipps 2004-2 1 06.11.2004 12:10
[Erledigt] Probleme beim ausrichten von Textarea &amp; Button HTML, Usability und Barrierefreiheit 2 27.07.2004 14:17
mal wieder textarea ;) HTML, Usability und Barrierefreiheit 2 14.07.2004 08:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
textarea entities, textarea rows cols in php als class, smilies in textarea feld umwandeln mittels javascript, textarea class, ie textarea html entity

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.