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.
 
          
 
							
						
Comment