wurzelchensen
Grünschnabel
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:
<?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: http://'.$_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>
1. Frage:
PHP:
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 = "";
könnte man diesen Quelltext nicht einfach weglassen?
Die Variable $DatenOK hat ja den Wert "1" und ist somit bei der Abfrage
PHP:
if ($DatenOK){
// Daten waren OK -> also in DB eintragen
mysql_query(sprintf('insert into me ...
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:
PHP:
if (!isset($_GET["name"]))
Frage Nr. 3:
PHP:
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();
Bedeutet die if-Abfrage hier, dass wenn $DatenOK den Wert "0" hat, in die Datenbank mittels mysql_query geschrieben wird?
Frage Nr. 4:
PHP:
else {
$daten["name"] = "";
$daten["eintrag"] = "";
Ist das, das "else" der ersten if-Abfrage (Linie 12)? Was bezweckt dieser Eintrag genau?
Frage Nr. 5:
PHP:
if ($submit && !$DatenOK){
// Das Formular wurde schon abgeschickt aber die Daten
// waren nicht OK
// -> Fehlermeldung ausgeben
echo "<h2>Fehler:</h2>\n";
echo $error;
}
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.