würde = würde ?

FAD

Mitglied
Hi.

Hab mit dem Dreamweaver 8 "Datensatz aktualisieren Tool" ein Formular erstellt, was Datensätze aktualisiert...logisch was auch sonst ;)

Da ganze funktioniert auch. Aber mir werden die Datensätze irgendwie codiert angezeigt, so wie sie auf der Datenbank gespeichert sind.

z.B.: würde = würde

Kann man das irgendwie ändern. Das heist, dass sie decodiert angezeigt werden und dann wieder codiert werden beim abspeichern.

Ciao René
 
Mhhh..... Hab mir den Befehl mal angekuckt. Klingt so als ob das damit klappen könnte. Bin leider noch kein php Profi. Hab absolut keine Idee wo ich das einfügen muss.

Blick bei der generierten Script nicht mehr ganz durch ;)
Wenn du mir da genauer helfen könntest, wäre ich dir sehr dankbar.
PHP:
<?php require_once('Connections/gb.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE gaestebuch SET Name=%s, Email=%s, Comments=%s, Comments2=%s, `date`=%s WHERE ID=%s",
                       GetSQLValueString($_POST['Name'], "text"),
                       GetSQLValueString($_POST['Email'], "text"),
                       GetSQLValueString($_POST['Comments'], "text"),
                       GetSQLValueString($_POST['Comments2'], "text"),
                       GetSQLValueString($_POST['date'], "text"),
                       GetSQLValueString($_POST['ID'], "int"));

  mysql_select_db($database_gb, $gb);
  $Result1 = mysql_query($updateSQL, $gb) or die(mysql_error());

  $updateGoTo = "gb_alle.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$colname_gb = "-1";
if (isset($_GET['id'])) {
  $colname_gb = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_gb, $gb);
$query_gb = sprintf("SELECT ID, Name, Email, Comments, Comments2 FROM gaestebuch WHERE ID = %s", $colname_gb);
$gb = mysql_query($query_gb, $gb) or die(mysql_error());
$row_gb = mysql_fetch_assoc($gb);
$totalRows_gb = mysql_num_rows($gb);

mysql_free_result($gb);
?>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td width="76" align="right" nowrap>&nbsp;</td>
      <td width="317">&nbsp;</td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Name:</td>
      <td><input name="Name" type="text" value="<?php echo htmlentities($row_gb['Name']); ?>" size="50" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Email:</td>
      <td><input name="Email" type="text" value="<?php echo $row_gb['Email']; ?>" size="50" /></td>
    </tr>
    <tr valign="baseline">
      <td align="right" valign="top" nowrap>Text:</td>
      <td><textarea name="Comments" cols="50" rows="10"><?php echo $row_gb['Comments']; ?></textarea></td>
    </tr>
    <tr valign="baseline">
      <td align="right" valign="top" nowrap>Kommentar:</td>
      <td><textarea name="Comments2" cols="50" rows="10"><?php echo $row_gb['Comments2']; ?></textarea></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td>
        
        <div align="left">
          <input type="submit" value="Datensatz aktualisieren">
        </div></td></tr>
  </table>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="ID" value="<?php echo $row_gb['ID']; ?>">
</form>
<p>&nbsp;</p>
 
Das Problem besteht vor allem darin, dass die Kodierung des Textes nicht mit der Kodierung der Ausgabe übereinstimmt. Denn die Daten liegen in der Datenbank UTF-8-kodiert vor, während die Ausgabe wahrscheinlich mit einer Kodierung der ISO-8859-Familie klassifiziert ist, was auch häufig der Webserver als Standardkodierung benutzt.
Am besten wäre es, die Ausgabe schlicht als UTF-8-kodiert zu klassifizieren, indem das HTTP-Header-Feld „Content-Type“ zusammen mit dem „charset“-Attribut explizit gesetzt wird:
PHP:
<?php

	header('Content-Type: text/html; charset=utf-8', true);

	…

?>
 
Das ganze ist dehalb so blöd codiert, weil die Daten auch in ein Flashgästebuch geladen werden. Und Flash da sonst auch blos irgendwelche komische Zeichen anzeigt ;(

Voll der Mist.
 
... wenn Du die Daten vor den Versenden mit utf8_encode kodierst (sofern sie es noch nicht sind), sollte Flash (ab Version 7) die Zeichen korrekt anzeigen, wie ich Dir hier schon gesagt hatte.

Eine Alternative wäre es, in Flash mit der lokalen Codepage zu arbeiten.

Gruß
.
 
Danke das hat mir geholfen. Das ist genau das gewesen, was ich schon seit paar Tagen suche ;)
So einfach kanns manchmal sein. ;)

Ciao René
 
Zurück