Hallo Computer Wizards :-)
Hier das ganze Script (eingabe.php (ohne ausgabe.php)), die Fragen werden weiter unten folgen:
1. Frage:
könnte man diesen Quelltext nicht einfach weglassen?
Die Variable $DatenOK hat ja den Wert "1" und ist somit bei der Abfrage
sowieso nicht beachtet? Ich nehme an, dass wenn bei der if-Abfrage nur die Variable $DatenOK als "expression" steht, diese den Wert "1" hat ...
Falls nicht wieso?
Frage Nr. 2:
Was bedeutet das Ausrufezeichen bei:
Frage Nr. 3:
Bedeutet die if-Abfrage hier, dass wenn $DatenOK den Wert "0" hat, in die Datenbank mittels mysql_query geschrieben wird?
Frage Nr. 4:
Ist das, das "else" der ersten if-Abfrage (Linie 12)? Was bezweckt dieser Eintrag genau?
Frage Nr. 5:
Hier müssen $submit und $DatenOK den Wert "1" haben, falls nicht, wird die Fehlermeldung $error ausgegeben? Habe ich das so richtig gesagt?
Wo wird die Variable $submit gebildet (1 oder 0)? Und was bedeutet wieder das Ausrufezeichen?
Zum Schluss:
Wie ihr seht, ist das, was ich nicht weiss ziemlich viel :-)
Ich bin ein wirklich blutiger Anfänger und bin sehr gespannt auf eure Antworten.
lg.
W.
Hier das ganze Script (eingabe.php (ohne ausgabe.php)), die Fragen werden weiter unten folgen:
PHP-Code:
<?php
$DBHost = "localhost";
$DBName = "meldung";
$DBUser = "root";
$DBPasswd = "root";
// Verbindug zu DB-Server herstellen
mysql_connect($DBHost, $DBUser, $DBPasswd)
OR die("Konnte DB-Server nicht erreichen");
mysql_select_db($DBName);
if (isset($_GET["submit"])){
// Der Submit - Button wurde gedrückt
// -> die Werte müssen überprüft
// und bei Gültigkeit in die DB eingefügt werden
// wir gehen von der Gültigkeit der Daten aus
$DatenOK = 1;
// es gab noch keine Fehlermeldung
$error = "";
if (!isset($_GET["name"])){
// es wurde kein Name eingegeben
$DatenOK = 0;
$error .= "Es muß ein Name eingegeben werden<br>\n";
$daten["name"] = "";
}
else {
$daten["name"] = $_GET["name"];
}
if (!isset($_GET["eintrag"])){
// es wurde kein Komementar eingegeben
$DatenOK = 0;
$error .= "Ein Eintrag ohne Komemntar mach nicht viel";
$error .= " Sinn, oder?<br>\n";
$daten["eintrag"] = "";
}
else {
$daten["eintrag"] = $_GET["eintrag"];
}
if ($DatenOK){
// Daten waren OK -> also in DB eintragen
mysql_query(sprintf('insert into meldung
(datum,name,eintrag)
VALUES (now(),"%s","%s")',
addslashes($daten["name"]),
addslashes($daten["eintrag"])));
echo mysql_error();
// Alles eingetragen -> zurück zur Übersicht
header('Location: [url]http://[/url]'.$_SERVER["HTTP_HOST"].
substr($_SERVER["PHP_SELF"],0,
strrpos($_SERVER["PHP_SELF"],'/'))
.'/');
// und fertig...
die();
}
}
else {
$daten["name"] = "";
$daten["eintrag"] = "";
}
?>
<html>
<head>
<title>Neuer Eintrag in unser GB</title>
</head>
<body>
<?php
if ($submit && !$DatenOK){
// Das Formular wurde schon abgeschickt aber die Daten
// waren nicht OK
// -> Fehlermeldung ausgeben
echo "<h2>Fehler:</h2>\n";
echo $error;
}
// Formular anzeigen
?>
<form action="<?php echo $_SERVER["PHP_SELF"];?>"
method="GET">
Name:
<input type="text" name="name" size="30" maxlength="200"
value="<?php echo $daten["name"]; ?>">
<br>
Text:<br>
<textarea rows="10" cols="50" wrap="virtual" name="eintrag">
<?php echo $daten["eintrag"]; ?>
</textarea>
<br>
<input type="submit" name="submit" value="Absenden">
</body>
</html>
PHP-Code:
if (isset($_GET["submit"])){
// Der Submit - Button wurde gedrückt
// -> die Werte müssen überprüft
// und bei Gültigkeit in die DB eingefügt werden
// wir gehen von der Gültigkeit der Daten aus
$DatenOK = 1;
// es gab noch keine Fehlermeldung
$error = "";
Die Variable $DatenOK hat ja den Wert "1" und ist somit bei der Abfrage
PHP-Code:
if ($DatenOK){
// Daten waren OK -> also in DB eintragen
mysql_query(sprintf('insert into me ...
Falls nicht wieso?
Frage Nr. 2:
Was bedeutet das Ausrufezeichen bei:
PHP-Code:
if (!isset($_GET["name"]))
PHP-Code:
if ($DatenOK){
// Daten waren OK -> also in DB eintragen
mysql_query(sprintf('insert into meldung
(datum,name,eintrag)
VALUES (now(),"%s","%s")',
addslashes($daten["name"]),
addslashes($daten["eintrag"])));
echo mysql_error();
Frage Nr. 4:
PHP-Code:
else {
$daten["name"] = "";
$daten["eintrag"] = "";
Frage Nr. 5:
PHP-Code:
if ($submit && !$DatenOK){
// Das Formular wurde schon abgeschickt aber die Daten
// waren nicht OK
// -> Fehlermeldung ausgeben
echo "<h2>Fehler:</h2>\n";
echo $error;
}
Wo wird die Variable $submit gebildet (1 oder 0)? Und was bedeutet wieder das Ausrufezeichen?
Zum Schluss:
Wie ihr seht, ist das, was ich nicht weiss ziemlich viel :-)
Ich bin ein wirklich blutiger Anfänger und bin sehr gespannt auf eure Antworten.
lg.
W.
Kommentar