# [MarkItUp] textarea mit identischem code wird nicht übertragen



## Aileen Kutschik (13. Oktober 2011)

Hey Ihr,

ich steh gerade anscheinend vor einem absoluten anfängerproblem.
ich habe 2 fast identische dateien mit je 2 textareas welche mit markitup in einen wysiwyg editor umgewandelt werden.

mein problem:

news.php
textarea zum neu eintragen: sendet
textarea zum bearbeiten: sendet

downloads.php
textarea zum neu eintragen: sendet
textarea zum bearbeiten: sendet nicht

wir suchen schon zu zweit nach dem fehler und finden... nichts... absolut nichts.. ich bin gerade echt am verzweifeln warum (insgesammt) 7/8 textareas mit dem identischem code übertragen und eins nicht....


downloads.php:


Spoiler





```
<script language="javascript">
$(document).ready(function()    {
    $('.meincode').markItUp(dudoof);
});
</script>
<?  
	$sql = "SELECT * FROM `downloads`";
	$erg = query_into_array($sql);
	$erg2 = query_into_array("SELECT * FROM `downloadcats`");
		
switch(htmlspecialchars(mysql_real_escape_string($_GET['t']))){
	case(''):	
	default:	
			echo '<hr>Neuer Download<hr>
			';?>

              <form action="?a=acp&amp;q=downloads&amp;t=new" method="post">
<table width="100%" border="0">

    <tr>
      <td colspan="2"><input size="80" type="text" name="name" /></td>
    </tr>
    <tr>
      <td colspan="2"><textarea class="meincode" name="blabla"></textarea></td>
    </tr>
    <tr>
      <td>Kategorie:
        <select name="cat">
          <? for($y=0;$y<count($erg2);$y++){
			?>
          <option value="<?=$erg2[$y]['id']?>">
          <?=$erg2[$y]['name']?>
          </option>
          <?  
		  }?>
        </select></td>
      <td>Link: /download.php?f=
        <input type="text" name="link" /></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" value="Senden" /></td>
    </tr>

</table>
  </form>
<?
			echo '<hr>Downloads bearbeiten<hr>';
		for($i=0;$i<count($erg);$i++){
		?>
<table width="100%" border="0">
 <form action="?a=acp&amp;q=downloads&amp;t=edit" method="post">
    <tr> 
      <td colspan="2"><input size="80" type="text" name="name" value="<?=$erg[$i]['name']?>"></td>
    </tr>
    <tr>
      <td colspan="2"><textarea class="meincode" name="news">
</textarea></td>
    </tr>
    <tr>
      <td>Kategorie:
        <select name="cat">
          <? for($y=0;$y<count($erg2);$y++){
			?>
          <option value="<?=$erg2[$y]['id']?>" <? if($erg[$i]['cat'] == $erg2[$y]['id']){echo 'selected';};?>>
          <?=$erg2[$y]['name']?>
          </option>
          <?  
		  }?>
        </select></td>
      <td>Link: /download.php?f=
        <input type="text" name="link" value="<?=$erg[$i]['link']?>"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="hidden" name="id" value="<?=$erg[$i]['id']?>">
        <input name="submit" type="submit" value="Senden"></td>
    </tr>
  </form>
  <tr>
    <td colspan="2"><form action="?a=acp&amp;q=downloads&amp;t=del" method="post">
        <input type="hidden" name="id" value="<?=$erg[$i]['id']?>">
        <input name="submit" type="submit" value="Löschen">
      </form></td>
  </tr>
</table>
<hr />
<?	
		}
	break;
			case('new'):
			print_r($_POST);
			die();
			$name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
			$desc = htmlspecialchars(mysql_real_escape_string(utf8_decode($_POST['desc'])));
			$cat = htmlspecialchars(mysql_real_escape_string($_POST['cat']));
			$link = htmlspecialchars(mysql_real_escape_string($_POST['link']));
			$sqlnew = "INSERT INTO `downloads` (
`id` ,
`name` ,
`desc` ,
`link` ,
`releasedate` ,
`dlcount` ,
`cat` 
)
VALUES (
NULL , '".$name."', '".$desc."', '".$link."', '".time()."', '0', '".$cat."'
);";
			if(mysql_query($sqlnew)){
				print_r($_POST);
				/*echo '<meta http-equiv="refresh" content="0; URL=?a=acp&amp;q=downloads">';	*/
			} else {
				echo 'Fehler beim eintragen <meta http-equiv="refresh" content="3; URL=?a=acp&amp;q=downloads">';
			};
		break;
		case('edit'):
		
			var_dump($_POST);
			die();
			$id = htmlspecialchars(mysql_real_escape_string($_POST['id']));
			$name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
			$desc = htmlspecialchars(mysql_real_escape_string(utf8_decode($_POST['desc'])));
			$cat = htmlspecialchars(mysql_real_escape_string($_POST['cat']));
			$link = htmlspecialchars(mysql_real_escape_string($_POST['link']));
			$sqledit = "UPDATE `downloads` SET `name` = '".$name."',
`desc` = '".$desc."',
`link` = '".$link."',
`cat` = '".$cat."' WHERE `id` ='".$id."';

 ";
			if(mysql_query($sqledit)){
print_r($_POST);
				/*echo '<meta http-equiv="refresh" content="0; URL=?a=acp&amp;q=downloads">';	*/
			} else {
				echo 'Fehler beim editieren <meta http-equiv="refresh" content="3; URL=?a=acp&amp;q=downloads">';
			};
		break;
		case('del'):
			$id = htmlspecialchars(mysql_real_escape_string($_POST['id']));
			$sqldel = "DELETE FROM `downloads` WHERE `id` = '".$id."'";
			if(mysql_query($sqldel)){
				echo '<meta http-equiv="refresh" content="0; URL=?a=acp&amp;q=downloads">';	
			} else {
				echo 'Fehler beim l&ouml;schen <meta http-equiv="refresh" content="3; URL=?a=acp&amp;q=downloads">';
			};
		break;
}
?>
```




news.php:


Spoiler





```
<?
session_start();
if(!is_admin(session_id())) {die('Keine Zugriffsrechte');};
$thread = htmlspecialchars(mysql_real_escape_string($_GET['t']));

switch($thread){
case(''):
default:
?>
<script language="javascript">
$(document).ready(function()    {
    $('.meincode').markItUp(dudoof);
});
</script>
<hr>
Neue News Schreiben
<hr><form action="?a=acp&amp;q=news&amp;t=new" method="post">
<textarea class="meincode" name="news"></textarea>
<input type="submit" name="button" id="button" value="Senden">
</form>
<hr>
News bearbeiten
<hr>
<?
$sql = "SELECT * FROM `news` ORDER BY `datum` DESC";
$res = query_into_array($sql);
for($i=0;$i<count($res);$i++){
?>
<br />
  <table width="100%" border="0">
    <tr>
      <td><strong>
        <?					
			echo utf8_encode(get_alias_by_id($res[$i]['von']));
			echo ' | '.date('d.m.Y H:i',$res[$i]['datum']);	
			if(is_admin(session_id())){
				echo ' | <a onclick="newsdelete(\''.$res[$i]['id'].'\');">Löschen</a>';	
			}			
			
		?>
        </strong></td>
    </tr>
    <tr>
      <td colspan="1"><form action="?a=acp&amp;q=news&amp;t=edit" method="post">
<textarea class="meincode" name="news" cols="80" rows="5"><?
 			echo utf8_encode(stripslashes($res[$i]['text']));	
		?></textarea>
        <input type="hidden" name="id" value="<?=$res[$i]['id']?>">
        <input type="hidden" name="von" value="<?=$res[$i]['von']?>">
<input type="submit" name="button" id="button" value="Senden">
</form>

        </td>
    </tr>
</table><hr>

<?
	};
	
break;
case('new'):

$text = htmlspecialchars(mysql_real_escape_string(utf8_decode($_POST['news'])));

$sql2 = "INSERT INTO `news` (`id` ,`von` ,`datum` ,`text` ) VALUES (
NULL , '".get_uid()."', '".time()."', '".$text."');";
if(mysql_query($sql2)){
	echo '<meta http-equiv="refresh" content="0; URL=?a=acp&amp;q=news">';	
} else {
	echo 'Fehler beim eintragen.<meta http-equiv="refresh" content="3; URL=?a=acp&amp;q=news">';	
};
break;
case('edit'):
$id = htmlspecialchars(mysql_real_escape_string($_POST['id']));
$von = htmlspecialchars(mysql_real_escape_string($_POST['von']));
$text = htmlspecialchars(mysql_real_escape_string(utf8_decode($_POST['news'])));

$sql3 = "UPDATE `news` SET `von` = '".$von."',
`datum` = '".time()."',
`text` = '".$text."' WHERE `id` = '".$id."'";
if(mysql_query($sql3)){
	echo '<meta http-equiv="refresh" content="0; URL=?a=acp&amp;q=news">';	
} else {
	echo 'Fehler beim eintragen.<meta http-equiv="refresh" content="3; URL=?a=acp&amp;q=news">';	
};
break;
}
?>
```





mfg Aileen


----------



## threadi (13. Oktober 2011)

Du fragst hier oben


```
$thread = htmlspecialchars(mysql_real_escape_string($_GET['t']));
```

den Parameter "t" ab als wäre er eine GET-Variable. Wenn das Formular abgeschickt wird, ist es aber eine POST-Variable. Würde empfehlen das in


```
$thread = htmlspecialchars(mysql_real_escape_string($_REQUEST['t']));
```

zu ändern.

Abgesehen davon wäre es interessant den erzeugten HTML-Code vom problematischen Fall zu sehen. Anhand des PHP-Codes kann man sich den nur vorstellen.


----------



## Aileen Kutschik (13. Oktober 2011)

ausgabe des var_dump


array(5) { ["name"]=> string(31) "Sound Deluxe FM Streamplayer V2" ["cat"]=> string(1) "4" ["link"]=> string(44) "/subsites/downloads/streamplayerv2/setup.exe" ["id"]=> string(1) "1" ["submit"]=> string(6) "Senden" }

$_request ist ist in meinem falle nutzlos, da das get die posts entgegen deiner annahme nich überschreibt, sonst würde ja garnichts funktionieren^^

mfg Aileen


----------

