php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.04.2009, 10:30  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Zeilenumbruch im Input type text???

Hallo zusammen,

ich habe ein kleines Problem das ich mir nicht erklären kann wer sich nicht für die vorgeschichte interessiert soll den kommentarbereich überspringen

/*
Ich habe ein textfeld in einem Formular:
PHP-Code:
<input type="text" name="irrelevant" /> 
In der Datenbank haben ich eine spalte:
PHP-Code:
irrelevant varchar(100
Jetzt ist es so das später mit PHP in einer foreach-schleife ein JS Code generiert wird der den wert aus "irrelevant" benötigt:
PHP-Code:
<?php
$array 
= array(
    
'irrelevant' 'bla',
    
'irrelevant1' 'bla1',
    
'irrelevant2' 'bla2'
);
    foreach(
$array as $key => $value) {
?>
    inhalt += '<a href="#" onclick="alert(\'bild\')"><?php print $value?></a>';
<?php
    
}
?>
dadurch wird folgender Code generiert
PHP-Code:
    inhalt += '<a href="#" onclick="alert(\'bild\')">bla</a>';
    
inhalt += '<a href="#" onclick="alert(\'bild\')">bla1</a>';
    
inhalt += '<a href="#" onclick="alert(\'bild\')">bla2</a>'
soweit alles in ordnung.

Heute bekomme ich plötzlich eine Fehlermeldung "unterminated string literal", obwohl der Code schon seit wochen einwandfrei lief. Nach einiger zeit der suche bemerke ich das im quelltext ein zeilenumbruch ist:
PHP-Code:
    inhalt += '<a href="#" onclick="alert(\'bild\')">bla
</a>'
;
    
inhalt += '<a href="#" onclick="alert(\'bild\')">bla1</a>';
    
inhalt += '<a href="#" onclick="alert(\'bild\')">bla2</a>'
Daraufhin versuche ich herauszufinden woher dieser kommt und finde den übeltäter in der Datenbank. Mein Varchar-Feld war plötzlich 3 Zeilen hoch? Naja dann habe ich den zeilenumbruch gelöscht und das script lief wieder einwandfrei.

Jetzt ergeben sich daraus für mich 2 Fragen

*/

1. Wie kam der zeilenumbruch in die DB? (habe ohne erfolg so ziemlich jede return-kombination versucht um im input einen zeilenumbruch zu erzeugen)

2. Wie kann ich das in zukunft vermeiden? (wobei sich diese Frage wahrscheinlich von selbst beantworten wird sobald 1 beantwortet ist)
Squall ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.04.2009, 10:35  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

PHP-Code:
$text trim($text);
$text str_replace(array("\r\n""\n""\r"), ''$text); 
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 16.04.2009, 10:54  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von JEGO Beitrag anzeigen
PHP-Code:
$text trim($text);
$text str_replace(array("\r\n""\n""\r"), ''$text); 
an sowas ähnliches habe ich auch gedacht, aber wie kommt ein "\n" in ein Input feld?
Squall ist offline  
Alt 16.04.2009, 10:57  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

evtl. durch [Strg] + c und [Strg] + v
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 16.04.2009, 11:05  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von JEGO Beitrag anzeigen
evtl. durch [Strg] + c und [Strg] + v
habs auch schon probiert und bitte nicht raten
Squall ist offline  
Alt 16.04.2009, 11:10  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
und bitte nicht raten
Du suchst also einen Hellseher.
David ist offline  
Alt 16.04.2009, 11:15  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Hab leider keine Glas Kugel zur Hand zur Zeit. Daher kann ich nur raten.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 16.04.2009, 11:16  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Du suchst also einen Hellseher.
Nein, aber es kann doch nicht sein das ich der erste bin dem sowas passiert ^^. Die fragestellung ist im grunde "Wie kann ich einen zeilenumbruch in einem <input type="text"> erzeugen"

mir fällt übrigens ein das:

Zitat:
Zitat von JEGO Beitrag anzeigen
PHP-Code:
$text trim($text);
$text str_replace(array("\r\n""\n""\r"), ''$text); 
nicht funktionieren würde da ich sowieso prepared statements verwende.
Squall ist offline  
Alt 16.04.2009, 11:25  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
nicht funktionieren würde da ich sowieso prepared statements verwende.
äh...was hat das damit zu tun?

Zitat:
Die fragestellung ist im grunde "Wie kann ich einen zeilenumbruch in einem <input type="text"> erzeugen"
Also reicht es Dir, wenn man Dir irgendeine Möglichkeit zeigt?
PHP-Code:
<?php
$postdata 
http_build_query(
  array(
    
'var1' => "zeile1\nzeile2"
  
)
);

$opts = array(
  
'http' => array(
    
'method'  => 'POST',
    
'header'  => 'Content-type: application/x-www-form-urlencoded',
    
'content' => $postdata
  
)
);
$context  stream_context_create($opts);
$result file_get_contents('http://example.com/submit.php'false$context);
?>
David ist offline  
Alt 16.04.2009, 11:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Oder ums anders zu sagen: Ganz einfach - indem man Dein Formular nicht benutzt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


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
Textfelder Array in Datenbank schreiben raa PHP Tipps 2009 16 14.03.2009 21:41
input type text standart angewaehlt HTML, Usability und Barrierefreiheit 4 19.02.2009 00:54
Text in Datenbank umwandeln muffinsbacken PHP Tipps 2009 9 07.01.2009 18:40
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
input type text: value beinhaltet Anführungszeichen ph!l HTML, Usability und Barrierefreiheit 4 24.04.2007 20:33
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
text in bild mit zeilenumbruch PHP Tipps 2005-2 8 23.08.2005 09:02
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
[Erledigt] Text in Input per Klick hinzufügen, bei erneutem Klick lösch 18inch HTML, Usability und Barrierefreiheit 2 05.03.2005 14:01
Problem mit Wasserzeichen auf Bildern pixelcut PHP-Fortgeschrittene 16 14.12.2004 02:36
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
input zeilenumbruch, input type text zeilenumbruch, html input zeilenumbruch, input text zeilenumbruch, input type text mehrzeilig, input umbruch, html input text zeilenumbruch, input type zeilenumbruch, input feld zeilenumbruch, zeilenumbruch input, input text umbruch, php text umbruch, zeilenumbruch input type text, css input zeilenumbruch, html input value zeilenumbruch, input value zeilenumbruch, input type text umbruch, php textumbruch, zeilenumbruch textfeld, input type=\text\ zeilenumbruch

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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