michi262
Goto Top

Problem mit Value in einem Formular

Hi

ich hab wieder ein Problem. Denke mal das es anfänger fragen sind. Aber da ich noch nicht so viel mit Formularen gemacht habe muss ich sie trotzdem stellen ;)

Also ich hab mir ein Formular gemacht:

<form action='index.php?neu=speichern' method='post'>  
<table>
  </tr>
   <td>News Text:</td>
   <td><textarea name="news_text" class="textarea" cols="78" rows="15"></textarea></td>  
  </tr>
 </table>
 <table>
  <tr>
   <td>Anzeigen:</td>
   <td><input name="anzeigen" class="input" type="radio" value="1" checked="checked"> Ja</td>  
   <td><input name="anzeigen" class="input" type="radio" value="0"> Nein</td>  
  </tr>
 </table>
 <table>
  <tr>
   <td><input type="submit" name="speichern" value="   Speichern   "></td>  
  </tr>
  <tr>
   <td>&nbsp;</td>
  </tr>
 </table>
</form>

Das ganze ist ein Formular mit dem ich Sachen aus einer DB bearbeiten kann die ich zuvor mit dem gleichen Formular reingeschreiben habe.

Leider habe ich Proble:

1. Wie bekomme ich bei der Textare ein Value in den textbereich? Wie es mit
<input name='news_text' type='text'>  
geht weiß ich aber das Feld ist mir zu klein ;)

2. Wie mache ich es das die Zeilenumbrüche die die Textarea automatisch macht auch in der DB ankommen?
3. Wie setzte ich den Punkt in das richtige Kästchen der Anzeige? Also wenn in der DB 1 steht das er den Punkt in das Kästchen bei Ja setzt.

Gruß
Michi262

PS: Danke schon mal im vorraus

Content-ID: 96314

Url: https://administrator.de/contentid/96314

Ausgedruckt am: 16.11.2024 um 09:11 Uhr

Arano
Arano 07.09.2008 um 21:32:21 Uhr
Goto Top
Hi, ist doch okay das du fragst.

1. <textarea>Hier steht der default Text ^^</textarea>

2. Die kommen in der DB an. Mit einem Blick in den Quelltext der Ausgabe würdest du sie dort auch sehen (\n bzw. \r\n als ein Zeilenumbruch im Quelltext) aber der wird von HTMl ja nicht umgesetzt, also musst dui sie erst durch <br>'s ersetzten. dafür gibts von PHP die schöne Funktion PHP-Manual nl2br()

3.
<?php
  echo '<input name="anzeigen" value="1" '.($DBvalue['anzeigen']===TRUE ? 'checked' : '').'>';  
  echo '<input name="anzeigen" value="0" ... '.($DBvalue['anzeigen']===FALSE ? 'checked' : '').'>';  
  
  // ODER
  if($DBvalue['anzeigen']===TRUE){  
     echo '<input name="anzeigen" value="1" checked>  
           <input name="anzeigen" value="0">';  
  } else {
     echo '<input name="anzeigen" value="1">  
           <input name="anzeigen" value="0" checked>';  
  }
?>

~Arano
Michi262
Michi262 08.09.2008 um 18:17:02 Uhr
Goto Top
Hi

danke für die Antwort.

auf Antwort hätte ich auch kommen können xD hab schon öfter mit Textarea zum anzeigen von Bannercod´s gearbeitet aber mit den vielen Parametern hab ich das wohl übersehen^^

Nummer 3 habe ich so selbst gelöst:
<td><input name="anzeigen" class="input" type="radio" value="1" checked="checked"> Ja</td>  
<td><input name="anzeigen" class="input" type="radio" value="0" <? if($anzeigen == '0') echo" checked='checked'"; ?> > Nein</td>  
Da das Formular auch zum erstellen neuer Einträge diehnt.

Noch ne frage:

Gib es auch ne Umkehrfunktion denn wenn ich den Inhalt bearbeite sehen die <br /> ein bisschen komisch aus ;) Oder muss ich mir die selber schreiben?

Michi26206
Arano
Arano 09.09.2008 um 01:21:36 Uhr
Goto Top
Gib es auch ne Umkehrfunktion denn wenn ich den Inhalt bearbeite sehen die <br /> ein bisschen komisch aus ;) Oder muss ich mir die selber schreiben?
Nee, die ibt es nicht, aber man könnt sie sich selber bauen mit PHP-Manual - str_replace()
Am besten wird es wohl sein, du speicherst die so (\n) in die Datenbank und wandelst sie erst beim anzeigen um ;)
So kannst du die Einträge vernünftig im Formular (eigenes oder PhpMyAdmin) und der DB selber bearbeiten, außerdem bleibt es dir offen irgendwann mal zu entscheiden, das die Zeilenumbrüche nicht mehr angezeigt werden sollen - ohne groß alles bearbeiten zu müssen.

~Arano
Michi262
Michi262 13.09.2008 um 14:59:09 Uhr
Goto Top
Hi

ok. Danke hat funktioniert.

Michi26206