<?=$_POST['password']?> oder <?php echo("$plz"); ?>

Lektor21

Erfahrenes Mitglied
Guten Abend!

Also bisher nutze ich in einem formularfeld, in dass Daten aus einer Datenbak geschrieben werden soll das hier:

PHP:
value="<?php echo("$beispiel"); ?>"

und bei Formularen wo man was einträgt und abschickt:

PHP:
<?=$_POST['beispiel']?>

Das Problem ist nur, ich hab nun ein Formular wo Daten aus einer Datenbank gelesen werden und diese geändert werden können und wieder abgeschickt werden!

Mit
PHP:
value="<?php echo("$beispiel"); ?>"
funktioniert das aber nicht!

Gibts da einen Vorschlag was man bei value benutzt? :confused:
 
PHP:
<?php
$qry = mysql_query("SELECT Row1, Row2 FROM table WHERE Row1=1")
  or die(mysql_error());

$databits = mysql_fetch_array($qry);
?>

<input type="text" name="input_row1" maxlength="200" style="width:100%;" value="<?php echo $databits['Row1']; ?>">
<input type="text" name="input_row2" maxlength="200" style="width:100%;" value="<?php echo $databits['Row2']; ?>">

Suchst du sowas hier? Werd nicht ganz schlau aus deinem Post :)
 
Zuletzt bearbeitet:
Diese Problembeschreibung ist irgendwie :confused::rolleyes::confused:

und
PHP:
 <?=$_POST['beispiel']?>
dürfte mit ziemlicher Sicherheit einen Syntaxfehler geben. Richtig wäre
PHP:
 <?php $_POST['beispiel']; ?>
wobei ich noch nicht checke was Du damit willst.
 
Kann es eventuell sein, dass du die eingegebenen Daten im Formular behalten möchtest, wenn der User das Formular bereits abgeschickt hat?

Wenn ja, guck dir mal folgenden Codeschnipsel an:

PHP:
<?php
function postDefault($key, $default = "")  {
  return (
    array_key_exists($key,$_POST) ? $_POST[$key] : $default
  );
}
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST" name="testform">
<input type="text" name="testform_name" value="<?php echo postDefault("testform_name"); ?>">
<input type="text" name="testform_email" value="<?php echo postDefault("testform_email"); ?>">
<input type="submit" value="abschicken">
</form>

Wenn das Formular also nicht abgeschickt wurde wird "" als Value eingetragen und sonst die Übergabe des Feldes.

Gruss
De Igäl
 
und
PHP:
 <?=$_POST['beispiel']?>
dürfte mit ziemlicher Sicherheit einen Syntaxfehler geben. Richtig wäre
PHP:
 <?php $_POST['beispiel']; ?>
wobei ich noch nicht checke was Du damit willst.

Das ist falsch... wenn mit mit den Short-tags für <php und echo arbeitet muss es nicht mit einem Semikolon abgeschlossen werden. Das einzige was passieren kann ist das es auf älteren PHP Versionen nicht läuft. Oder wenn an der Serverconfig die Short Tags deaktiviert werden funktioniert es eben nicht mehr. Aber der Code an sicht von dem ersten Beispiel ist 100% korrekt.
 
Hallo!

Ich werde mal Igäl's Vorschlag probieren! Das suche ich nämlich!

:)


Aaalso: Funktionieren tuts, aber nun wird mir beim Aufrufen des Formulars nicht mehr der vorhandene Inhalt ausgegeben! Die Felder sind alle weiß! Ich möchte aber, dass mir den Inhalt meiner Datenbank ausgegeben wird, der User ändern kann und bei Klick die gerade eingegebenene Daten stehen bleiben, da ich das Formular noch prüfe!

Ist kompliziert oder?
 
Zuletzt bearbeitet:
Der Portabilität zugunsten sollte nur die vollstädige Syntax „<?php … ?>“ verwendet werden. Die anderen Schreibweisen sind von bestimmten Einstellungen (wie short_open_tag und asp_tags)) abhängig, die jedoch nicht auf jeder Plattform gegeben ist. So ausgezeichnete PHP-Blöcke könnten dann vom Parser ignoriert und direkt ausgegeben werden.
 
PHP:
<?php
function postDefault($key, $default = "")  {
  return (
    array_key_exists($key,$_POST) ? $_POST[$key] : $default
  );
}
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST" name="testform">
<input type="text" name="testform_name" value="<?php echo postDefault("testform_name"); ?>">
<input type="text" name="testform_email" value="<?php echo postDefault("testform_email"); ?>">
<input type="submit" value="abschicken">
</form>

Nicht schlecht! Aber ich möchte gern beim Laden der Seite den Inhalt aus der Datenbank auslesen und in den Formularfeldern ausgeben! Dann kann man das abändern und auf Abschicken klicken. Wenn was falsch ist, wird gestoppt und da soll dann die abgeänderte Version in dem Feld stehen und nicht wieder der Inhalt aus der DB geladen werden!

Ist das machbar?
 
Ja natürlich ist das machbar. Dafür ist der $default - Parameter da. Dem gibst du halt einfach mit, was du aus der DB ausgelesen hast.
 
Zurück