# <form method=post> Unklar die Auswertung



## asterisk*2a (24. Juni 2002)

Selbst nach zwei Büchern habe ich es irgendwie noch nicht richtig begriffen wie ich ein formular mit method=post auswerte und in eine MySQL DB schreibe. Hier das Projekt.



```
<script type="text/javascript">
		<!--
			function PopupFenster() {
  				F = window.open("new-comment.php", "Popup", "width=320, height=250, screenX=50, screenY=50");
			}
		// -->
		</script>
```
 

Das ist das Popup um neue Kommentare ein zu fügen. Dem Link muss ich noch die aktuelle news_ID zufügen (noch kein plan)

Jetzt kommt das eigentliche mein Eingabeformular als Popup da:
*new-comment.php*

```
<html>
<head>
<title>Kommentar schreiben</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#221C4C" text="#FFFFFF">

<form action=write-comment.php method=post>

<table width="300" border="0" cellpadding="0" cellspacing="0">
  <tr> 
    <td width="50" valign="top" rowspan="6"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="50" height="250"></td>
        </tr>
      </table>
    </td>
    <td width="250" valign="top" height="20"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="20"> 
            <div align="left"><font face="Arial, Helvetica, sans-serif" size="2">
            <b>Kommentar schreiben</b>
            </font></div>
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td height="20" valign="top"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="20" valign="bottom">
          <font face="Arial, Helvetica, sans-serif" size="1">
          Name:
          </font></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td height="30" valign="top"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="30" valign="top" align="left">
		
		<input type="text" name="name" size="30" maxlength="30"> 
		        
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td height="20" valign="top"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="20" valign="bottom" align="left">
          <font face="Arial, Helvetica, sans-serif" size="1">
          Comment:
          </font></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td height="100" valign="top"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="100" valign="top" align="left">
			
		<textarea name="text" cols="23" rows="4" wrap="VIRTUAL"></textarea>
			 
	 </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td height="60" valign="top"> 
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="250" height="60" valign="top"> 
            <div align="left">
            
               	<input type="hidden" name="action" value="insert">
        	<input type="submit" name="Submit" value="Eintragen">
              
            </div>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</form>
</body>
</html>
```

Und jetzt die php datei die das Eingabeformular auswerten und die Daten in die MySQL db schreiben soll. Anm. Beim Parsen der Datei ist kein Fehler aufgetreten. Also fehlerfrei. Blos die news_ID muss ich noch einfügen die mitgeleitet wird.

*write-comment*

```
<html>
<head>
<title>Kommentar schreiben</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#221C4C" text="#FFFFFF">

<?php

if ($action=="insert") {
  //Das Formular der Datei new-comment.php wurde ausgefüllt und abgeschickt

  //HTML- und PHP-Tags aus den Eingabefeldern entfernen
  $name=strip_tags($name);
  $text=strip_tags($text);

  //Konvertiere Zeilenumbrüche in HTML-<br>-Umbrüche
  $text=nl2br($text);

  //Eingaben überprüfen
  if(strlen($name)<2){
  	$error_msg="Bitte geben Sie Ihren Namen an";
  }
  
  if(strlen($text)<5){
  	$error_msg.="<br>Bitte geben Sie auch etwas Text ein.";
  }
  
  if($error_msg){
  
     //Fehlerhafte Angaben - Hinweis ausgeben und keinen Eintrag vornehmen
     $message ="<br>Ihr Eintrag konnte leider nicht in unser Gästebuch aufgenommen werden:<br>";
     $message.=$error_msg;
     $message.="<br>Klicken Sie auf <a href=javascript:history.back(1)>zurück</a>.<br><br>";
 
  }else{

	//Neuen Gästebucheintrag vornehmen
	$now=date("Y-m-d H:i:d");
	
	//Kontakt zu Datenbank
	$db = mysql_connect ("localhost","asterisk-2a","q3a") or die ("Verbindung fehlgeschlagen");
		mysql_select_db ("team-ashlen",$db);
		
	$comment_SQL_insert = "INSET INTO news-comments (comment_name, comment_text, comment_datetime) VALUES ('$name', '$text', '$now')";
		mysql_query($comment_SQL_insert);

  }
}

?>

</body>
</html>
```


So wie Verbinde ich eigentlich nun die beiden Dokumente ? Eingabeformular mit meinem write-comment.php und das immer noch in dem Popup?

THX für einen gescheiten Tipp.


----------



## asterisk*2a (24. Juni 2002)

Hier noch der Link vom PopupFenster.


```
<a href="javascript:PopupFenster()">Kommentar schreiben</a>
```


----------



## kultboy (25. Juni 2002)

Hi, hab jetzt nicht so viel Zeit aber hier eine kleine hilfe.
Das Formular hast du schon mal falsch erstellt so müsste es heisen:

<form action="write-comment.php" method="post" name="test">

dann sind da noch eine menge Fehler drinnen !

Schauts dir nochmal genau an, wenn du eh schon 2 Bücher gelesen hast sollte das kein problem sein


----------



## asterisk*2a (25. Juni 2002)

*ich probiers mal so*

http://www.php4-forum.de/beispiele/formular.htm


----------

