Zeileinumbruch durch Stringverkettung

Loomis

Mitglied Bunt
Zeilenumbruch durch Stringverkettung

Stehe gerade auf dem Schlauch wohl.
Hiermit:
PHP:
    public function input( $type, $name, $value='' )
    {
    
        $this->input[] = '<input type="' .$type. '" name="' .$name. '"';

            if( $value != '' )
            {
                $this->input[] .= ' value="' .$value. '"';
            }

        $this->input[] .= ' />';

    }

Bekomme ich folgende Ausgabe:
HTML:
	<input type="text" name="test"

	 />

	<input type="text" name="test"

	 value="Value Feld 2"

	 />

	<input type="text" name="test"

	 />
Was arg unschön ist. Jemand eine Idee wie ich das, ganz einfach, in eine Zeile bekomme?

//edit:
Achja vielleicht hilft noch der Schnipsel mit dem ich das ganze Ausgebe:
Hiermit:
PHP:
    public function output( )
    {

        $this->output = '<form method="' .$this->method. '" action="' .$this->action. '">'."\n\n";

        foreach( $this->input AS $field )
        {
            $this->output .= "\t".$field."\n\n";
        }

        $this->output .= '</form>';

        return $this->output;

    }
// Und im Script dann:
$form = new form( 'test.php', 'post' );

$form->input( 'text', 'test' );
$form->input( 'text', 'test', 'Value Feld 2' );
$form->input( 'text', 'test' );

echo $form->output( );

//edit2:
Und bitte keine Sprüche zu den Schnipseln selber, ich übe damit nur :p
 
Zuletzt bearbeitet:
PHP:
public function input( $type, $name, $value='' )
{
	$tmp = '<input type="' .htmlspecialchars($type). '" name="' .htmlspecialchars($name). '"';
	if( $value != '' ) {
		$tmp .= ' value="' .htmlspecialchars($value). '"';
	}
	$tmp .= ' />';
	$this->input[] = $tmp;
}
 
Daran lag’s auch nicht. Der Fehler war dass durch das $this->input[] jedes mal ein neues Element angefügt wird.
 
Jetzt wo du das sagst. Man sollte einmal mehr nachdenken bevor man postet.
Trotzdem danke schön.
(Bewerten darf ich dich grad nicht... Skandal)
 
Zurück