Daten aus Formular in MySQL-DB eintragen

Funktioniert leider auch nit.

Ich habe jedoch herausgefunden, wenn ich den ganeu selben Code in meiner index Datei habe werden die Daten korrekt abgespeichert.
Wenn ich sie jedoch in meiner Datei zum speichern habe, welche dem Formular aus der Index-Datei über action angegeben wird habe, funktioniert es nicht. :(

Jedoch habe ich dan ein Problem mit den Meldungen die ich ausgeben lassen mussen. Deswegen benötige ich unbedingt eine zweite Datei. :S Ein weiteres Problem den ich da auch habe ist, beim neu laden der Seite wir der befehl ein zweites Mal ausgeführt und somit wieder leere Datensätze in di DB gespeichert.
Somit habe ich mit einem Eintrag 2 neue Einträge erhalten.
 
Zuletzt bearbeitet:
@smyle: Zu deinem zweiten Problem: Du kannst sogenannte Tokens verwenden (einfach mal Google'n) oder du lädst die Seite neu (header("Location: index.php"))
 
Dieses Problem kommt ja bei drei Orten vor.
Eines davon konnte ich lösen indem ich alles in der Index-Datei übernommen habe und mit "" die Seite neu geladen habe. Jedoch ohne Meldungen.
Das muss ich mir noch anschauen. Jedoch bei dieser Datei / be diesem Code funktioniert es so nicht und auch nicht wenn ich alles in der selben Datei (index.php) habe.

PS: ComFreek, hasst du einen gueten Link wo ich nachlesen kann und gut und einfach erklärt wird was Tokens sind? Ich hatte das mit den Meldungen über Session versucht. Aber aus irgend einem Grund funktionierte es nicht. Habe wohl etwas falsches gemacht , muss das noch beheben.

Hier ist der Code:
HTML:
<form method="post" name="bildungsberichtlernende" onsubmit="javascript: return ueberpruefungneu();" action="speichern.php">
	<table width="100%" cellpadding="0" cellspacing="0" id="table" border="0">
PHP:
<?PHP
$_SESSION['seite'] = "lernende";
$beurteilung = "Lernender";
$querytitellernender = hauptteil($beurteilung);

while($row = mysql_fetch_object($querytitellernender))
{
	$haupttitelid = $row->ID;
	  echo" 
	 <tr>
	  <td colspan='6'><hr noshade color='#000000' size='3' width='100%'></td>
	 </tr>";
	 
	 echo"
	 <tr>";?>
HTML:
	  <td width='100'><input name="<?php echo"checkbox$haupttitelid";?>" type="checkbox" value="on"/><?php
echo" <input name='Nummer$haupttitelid' type='text' value='$row->Nummer.' style='font-weight:bold; font-size:18pt; font-family:Arial,Verdana; border:medium none; width:40px;' onchange='javascript: checkvalue(this,1,4,true);'/></td>
	  <td><input name='Titel$haupttitelid' type='text' value='$row->Titel' style='font-weight:bold; font-size:13pt; font-family:Arial, Verdana; border:medium none; width:100%;'/></td>";?>
	  <td colspan='4'>
	  	<div align="center" name="makeNew" style="width:100%;float:right;background-color:rgb(117, 117, 117);border:medium none;" width="100%">Weitere Unterkriterien hinzufügen</div>
	  </td>
PHP:
<?php
echo"</tr>";  
	 
	 $queryuntertitel = untertitel($haupttitelid);
	 $count=0;
	 while($row = mysql_fetch_object($queryuntertitel))
	  {
	    $untertitelid = $row->ID;			
		$count++;
		$texte = $row->Text;
		$texte = split("[|]+",$texte);
		$begründung = $row->Begruendung;
		$nummer = $row->Nummer;
		if($nummer == "0")
		 {
		  $nummer="";
		 }
?>
HTML:
		<tr> 
		  <td width="80"><input name="<?PHP echo"checkboxU$untertitelid$count";?>" type="checkbox" value="<?PHP echo $untertitelid;?>">
		  <input name="<?php echo"NummerU$untertitelid$count";?>" value="<?PHP echo $nummer;?>" style="font-size:11pt; font-family:Arial, Verdana; border:medium none; width:20px;" onchange="checkvalue(this,0,4,true);"/></td>
		  <td width="500" colspan="2"><input name="<?PHP echo"TitelU$untertitelid$count";?>" value="<?PHP echo $row->Titel;?>" style="font-size:11pt; font-family:Arial, Verdana; border:medium none; width:100%;" /></td>
		  <td colspan="4">
		  <div name="makeNew" style="width:100%; background-color:#999999; border:medium none; text-align:center;"  width="100%"
		  onclick="javascript: makeNew(<?PHP if($nummer>0){echo $nummer;}else{echo "0";}?>,<?PHP if($nummer>0){echo $nummer;}else{echo "table";}?>,this, <?php echo"$untertitelid";?>);">Weitere Punkte hinzufügen</div>
		  </td>
	    </tr>
	  <tr>
		<td>&nbsp;</td>
		<td width="500" style="border-bottom:solid #000000 1px; text-align:center;">&nbsp;</td>
		<td width="150" style="border-bottom:solid #000000 1px; text-align:center;"><input name="<?php echo"Punkt1$untertitelid$count";?>" value="<?PHP echo $texte[0];?>" style="font-family:Arial, Verdana; border:none; font-size:16px; text-align:center; width:60px;"/></td>
		<td width="150" style="border-bottom:solid #000000 1px; text-align:center;"><input name="<?php echo"Punkt2$untertitelid$count";?>" value="<?PHP echo $texte[1];?>" style="font-family:Arial, Verdana; border:none; font-size:16px; text-align:center; width:60px;"/></td>
		<td width="150" style="border-bottom:solid #000000 1px; text-align:center;"><input name="<?php echo"Punkt3$untertitelid$count";?>" value="<?PHP echo $texte[2];?>" style="font-family:Arial, Verdana; border:none; font-size:16px; text-align:center; width:60px;"/></td>
		<td width="150" style="border-bottom:solid #000000 1px; text-align:center;"><input name="<?php echo"Punkt4$untertitelid$count";?>" value="<?PHP echo $texte[3];?>" style="font-family:Arial, Verdana; border:none; font-size:16px; text-align:center; width:60px;"/></td>
	  </tr>
PHP:
<?PHP	  
	  $untertiltelernende =  untertiltelernende($untertitelid);
	  	$x=0;
		  while($row = mysql_fetch_object($untertiltelernende))	//Nur die 4 Checkboxen
		   {	 
			$checktitel=$row->Titel;
			$checkid=$row->ID;
			$x++;
			$checkbox = "$checkid$x";				     
?>
HTML:
	  <tr>
		<td><input name="<?php echo "CheckboxU$x$checkid";?>" value="on" type="checkbox" /></td>
		<td style="border-bottom:solid #000000 1px;"><input name="<?php echo"$untertitelid$x";?>" value="<?PHP echo $row->Titel;?>" style="font-family:Arial, Verdana; font-size:12px; border:none; width:100%;" /></td>
		<td style="text-align:center; border-bottom:solid #000000 1px;"><input name="<?PHP echo $checkbox;?>" type="checkbox" value="<?PHP echo $texte[0];?>" disabled="disabled"/></td>
		<td style="text-align:center; border-bottom:solid #000000 1px;"><input name="<?PHP echo $checkbox?>" type="checkbox" value="<?PHP echo $texte[1];?>" disabled="disabled"/></td>
		<td style="text-align:center; border-bottom:solid #000000 1px;"><input name="<?PHP echo $checkbox;?>" type="checkbox" value="<?PHP echo $texte[2];?>" disabled="disabled"/></td>
		<td style="text-align:center; border-bottom:solid #000000 1px;"><input name="<?PHP echo $checkbox;?>" type="checkbox" value="<?PHP echo $texte[3];?>" disabled="disabled"/></td>
	  </tr>
PHP:
<?PHP	  
		  }	
?>
HTML:
	 <tr>
	   <td></td>
	   <td colspan="5">
<textarea name="<?PHP echo "begruendung$count$haupttitelid";?>" style="width:100%; height:100%; border:none;" onfocus="if(this.value=='<?PHP echo $begründung;?>'){this.value='';}" onblur="if(this.value==''){this.value='<?PHP echo $begründung;?>';}"><?PHP echo $begründung;?></textarea>	   
	   </td>
	 </tr>
	 <tr>
	 <td colspan="7">
	 <table width="100%"  id="<?PHP echo $nummer;?>"></table>
	 </td>
	 </tr>
PHP:
<?PHP		    
	  }   
}
?>
HTML:
</table>

 <table width="100%">
  <tr>
    <td colspan="5" bgcolor="#757575" width="100%" style="border:#000000 solid 1px;" align="center" valign="middle">
	<input type="button" name="weiterekriterienlernende" value="Weiter Bewertungskriterien hinzufügen" onclick="javascript: makeNewthema();"/>
	<input type="submit" name="kriteriumloeschenlernende" value="Ausgewählte Kriterien löschen" />
	<input name="speichernaulernende" value="Änderungen speichern"  type="submit" onclick="javascript: ueberpruefungneu();"/>
	<input name="weiterlernende" value="Nächste Seite" type="button" onclick="window.location.href ='index.php?name=tx';"/>
	<input name="zuruecklernende" value="Zurück" type="button" onclick="window.location.href ='index.php?name=au';"/></td>
  </tr>
  </table>
</form>
 
Zuletzt bearbeitet:
Und hier die 2. Datei:

PHP:
if($_SESSION['seite'] == "lernende")
 { 
	$beurteilung = "Lernender";
	$querytitellernender = hauptteil($beurteilung);	
	while($row = mysql_fetch_object($querytitellernender))
	{
		  $haupttitelid = $row->ID;
		  $checkbox = $_POST["checkbox$haupttitelid"];
		  $titel = $_POST["Titel$haupttitelid"];
		  $number = $_POST["Nummer$haupttitelid"];
		  
if(isset($_POST['speichernaulernende']))
 {
  		  if($titel != "$row->Titel" || $number != "$row->Nummer")
		   {
		     if($checkbox != "" || $checkbox == "on")
			  {
				  $select = "SELECT bu.ID FROM `bericht_haupthema` AS bh, `bericht_unterthemen` AS bu WHERE bh.ID = bu.berichthaupthema_ID AND bh.ID = $haupttitelid";
				  $query=mysql_query($select);
				  while($row=mysql_fetch_object($query))
				   {
				    $UnterthemaID=$row->ID;

				      $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $UnterthemaID)";
				      mysql_query($delete);	
					  
				  	  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $UnterthemaID";
					  mysql_query($delete);				    
				   }				  
				  
				  $delete = "DELET FROM `bericht_haupthema`  WHERE `bericht_haupthema`.`ID` = $haupttitelid ";
				  mysql_query($delete);
$del=1;			  			   
			  }
			  else
			  { 
			   $update = "UPDATE `bericht_haupthema` SET `Nummer` = '$number', `Titel` = '$titel' WHERE `bericht_haupthema`.`ID` = $haupttitelid";
			   mysql_query($update);
			  }
		   }
		   else
		   {
		     if($checkbox != "" || $checkbox == "on")
			  {
				  $select = "SELECT bu.ID FROM `bericht_haupthema` AS bh, `bericht_unterthemen` AS bu WHERE bh.ID = bu.berichthaupthema_ID AND bh.ID = $haupttitelid";
				  $query=mysql_query($select);
				  while($row=mysql_fetch_object($query))
				   {
				    $UnterthemaID=$row->ID;

				      $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $UnterthemaID)";
				      mysql_query($delete);	
					  
				  	  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $UnterthemaID";
					  mysql_query($delete);				    
				   }				  
				  
				  $delete = "DELETE FROM `bericht_haupthema` WHERE `bericht_haupthema`.`ID` = $haupttitelid ";
				  mysql_query($delete);
$del=1;			  						  
			  }
		   }
 }
else if(isset($_POST['kriteriumloeschenlernende']))
 {
		     if($checkbox != "" || $checkbox == "on")
			  {
				  $select = "SELECT bu.ID FROM `bericht_haupthema` AS bh, `bericht_unterthemen` AS bu WHERE bh.ID = bu.berichthaupthema_ID AND bh.ID = $haupttitelid";
				  $query=mysql_query($select);
				  while($row=mysql_fetch_object($query))
				   {
				    $UnterthemaID=$row->ID;

				      $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $UnterthemaID)";
				      mysql_query($delete);	
					  
				  	  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $UnterthemaID";
					  mysql_query($delete);				    
				   }				  
				  
				  $delete = "DELETE FROM `bericht_haupthema` WHERE `bericht_haupthema`.`ID` = $haupttitelid ";
				  mysql_query($delete);
$del=1;			  						  
			  }				  
 }  		  
		  
		 $queryuntertitel = untertitel($haupttitelid);
		 $count = 0;
		 while($row = mysql_fetch_object($queryuntertitel))
		  {
			$untertitelid = $row->ID;			
			$count++;
			
		  	$texte = $row->Text;
	    	$texte = split("[|]+",$texte);
			
			$begründung1 = $row->Begruendung;
			$untercheckbox = $_POST["checkboxU$untertitelid$count"];
			$untertitel = $_POST["TitelU$untertitelid$count"];
			$unternummer = $_POST["NummerU$untertitelid$count"];
			
			$untertitelkriterium1 = $_POST["Punkt1$untertitelid$count"];
			$untertitelkriterium2 = $_POST["Punkt2$untertitelid$count"];
			$untertitelkriterium3 = $_POST["Punkt3$untertitelid$count"];
			$untertitelkriterium4 = $_POST["Punkt4$untertitelid$count"];
			
			$text = "$untertitelkriterium1|$untertitelkriterium2|$untertitelkriterium3|$untertitelkriterium4";
			
			$nummer = $row->Nummer;
			if($nummer == "0")
			 {
			  $nummer="";
			 }		

if(isset($_POST['speichernaulernende']))
 {			
					for($y=0;$y<5;$y++)
					 { 
						$newBK = $_POST["newBK$untertitelid$y"];
						if($newBK != "Bewertungskriterium" && $newBK != "")
						 {  if($newBK == "-")
							   {
							    $newBK = "";
							   }
						echo	$insert = "INSERT INTO bericht_lernendetexte (`ID`,`Titel`,`Text`,`berichtlernende_ID`) VALUES (NULL,'$newBK','',$untertitelid)";echo "<br>";			//FEHLER : Erstellt leere Datensätze in der DB
							    mysql_query($insert); 
							if($y == 0)
							 {
							  $y++;
							 }								
$save = 1;	
						 }
					 } 		
 
				if($untertitelkriterium1 != "$texte[0]" || $untertitelkriterium2!= "$texte[1]" || $untertitelkriterium3 != "$texte[2]" || $untertitelkriterium4 != "$texte[3]" || $unternummer != "$nummer" && $unternummer != "$nummer." || $untertitel != "$row->Titel")
				 {
					if($untercheckbox != "" || $untercheckbox == "on")
					 {
					  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $untertitelid";
					  mysql_query($delete);
					  
					  $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $untertitelid";
					  mysql_query($delete);					  
$updatedel=1;		  
					 }
					 else
					 {
					  $update = "UPDATE `bericht_unterthemen` SET `Nummer` = '$unternummer', `Titel` = '$untertitel', `Text` = '$text' WHERE `bericht_unterthemen`.`ID` = $untertitelid";
					  mysql_query($update);
 $update=1;						  
					 }
					
				 }
				 else
				 {
					if($untercheckbox != "" || $untercheckbox == "on")
					 {
					  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $untertitelid";
					  mysql_query($delete);
					  
					  $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $untertitelid";
					  mysql_query($delete);					  
$del=1;					  
					 }
				 } 
 }	
else if(isset($_POST['kriteriumloeschenlernende']))
 {
					if($untercheckbox != "" || $untercheckbox == "on")
					 {
					  $delete = "DELETE FROM `bericht_unterthemen` WHERE `bericht_unterthemen`.`ID` = $untertitelid";
					  mysql_query($delete);
					  
					  $delete = "DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`berichtlernende_ID` = $untertitelid";
					  mysql_query($delete);					  
$del=1;					  
					 } 
 
 } 	  		 	 			 


			  $untertiltelernende =  untertiltelernende($untertitelid);
				$x=0;
				  while($row = mysql_fetch_object($untertiltelernende))	//Unterthemen(Kategorien) / Bewertungskriterien
				   {				   	 
					$x++;
					$checkid=$row->ID;					
					$checkboxunterpunkt  = $_POST["CheckboxU$x$checkid"];
					$Textunterpunkt = $_POST["$untertitelid$x"];		
					
if(isset($_POST['speichernaulernende']))
 {					
					if($Textunterpunkt != "$row->Titel")//--Bei Änderungen--\\
					 {
					    if($checkboxunterpunkt != "" || $checkboxunterpunkt == "on")
						 {
						 $delete="DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`ID` = $checkid";
						 mysql_query($delete);//--Löschen--\\
 $updatedel=1;					  
						 }
						else
						 {
						  $update = "UPDATE `bericht_lernendetexte` SET `Titel` = '$Textunterpunkt' WHERE `bericht_lernendetexte`.`ID` = $checkid";
						  mysql_query($update); //--Überschreiben--\\
 $update=1;							  
						 } 
					 } 
					else //--Wenn keine Änderungen vorgenommen wurden--\\
					 {
					   if($checkboxunterpunkt != "" || $checkboxunterpunkt == "on")	
					    {
						 $delete="DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`ID` = $checkid ";
						 mysql_query($delete);//--Löschen--\\						
 $del=1;						 
						}
					 }  
 }	
else if(isset($_POST['kriteriumloeschenlernende']))
 {
					   if($checkboxunterpunkt != "" || $checkboxunterpunkt == "on")	
					    {
						 $delete="DELETE FROM `bericht_lernendetexte` WHERE `bericht_lernendetexte`.`ID` = $checkid ";
						 mysql_query($delete);//--Löschen--\\						
 $del=1;						 
						} 
 } 				
				  }	
		  }			  
		$begruendung = $_POST["begruendung$count$haupttitelid"];		 
		
		if($begruendung != "$begründung1")
		 {
		  $update = "UPDATE `bericht_unterthemen` SET `Begruendung` = '$begruendung' WHERE `bericht_unterthemen`.`ID` = $untertitelid";
		  mysql_query($update);		   
		  $update=1;
		 } 	  
  	}  
	

if(isset($_POST['speichernaulernende']))
 {
   $NewNummer = $_POST['unternummerneu'];
   $NewTitel = $_POST['haupttitelneu'];
     
	 if($NewTitel != "" && $NewTitel != "Haupttitel" && $NewNummer != "" && $NewNummer !="Nr.")
	  {
   		$insert="INSERT INTO `bericht_haupthema` (`Nummer`, `Titel`, `Beutreilung`) VALUES ('$NewNummer', '$NewTitel', 'Lernender')";
   		mysql_query($insert);
		$NewThema = mysql_insert_id();
$save = 1;
   	  }
	  
	  if($NewThema != "" && $NewThema != "0")
	  {
	    $nr = $_POST[''];
		$title = $_POST[''];
		$texte = $_POST[''];
		$grund = $_POST[''];
		
	    $nr = "50";
		$title = "Beispiel";
		$texte = "Beispiel1|Beispiel2|Beispiel3|Beispiel4";
		$grund = "Beispiel";		
		
   		$insert="INSERT INTO `bericht_unterthemen` (`berichthaupthema_ID`, `Nummer`, `Titel`, `Text`, `Begruendung`) VALUES ('$NewThema', '$nr', '$title', '$texte', '$grund')";
   		mysql_query($insert);
		$NewUnterthema = mysql_insert_id();	   
	  }
	 // echo "$NewUnterthema";
	  if($NewUnterthema != "" && $NewUnterthema != "0")
	   {echo "$NewUnterthema<br>";
		for($y=0;$y<5;$y++)
		 {
			$newBK = $_POST["newBKundefined$y"];
			//echo $newBK."<br>";
			if($newBK != "Bewertungskriterium" && $newBK != "")
			 {  if($newBK == "-")
				   {
					$newBK = "";
				   }
			   echo $insert = "INSERT INTO bericht_lernendetexte (`ID`,`Titel`,`Text`,`berichtlernende_ID`) VALUES (NULL,'$newBK','',$NewUnterthema)";echo "<br>";			//FEHLER : Erstellt leere Datensätze in der DB
				mysql_query($insert); 
				if($y == 0)
				 {
				  $y++;
				 }
			 }
		 } 		    
	   }
   

   
 }	
  
  if($del==1)
   {
    $_SESSION['meldung'] = "<font color='#FF0000'>Daten wurden gelöscht.</font><br>";
   }
  else if($update==1) 
   {
    $_SESSION['meldung'] = "<font color='#FF0000'>Änderungen wurden übernommen.</font><br>";
   }
  else if($updatedel==1)
   {
    $_SESSION['meldung'] = "<font color='#FF0000'>Änderungen wurden übernommen und ausgewählte Daten gelöscht.</font><br>";
   } 
  else if($save == 1)
   {
   $_SESSION['meldung'] = "<font color='#FF0000'>Die neuen Einträge wurden abgespeichert.</font><br>";
   } 
  else if($updatedel== 0 && $update==0 && $del==0 && $save == 0)
   {
    $_SESSION['meldung'] = "<font color='#FF0000'>Es sind keine Änderungen und keine Daten gelöscht worden.</font><br>";
   } 
 }
echo "<meta http-equiv='refresh' content='0; url=index.php'>"

Hoffentlich könnt ihr mir jetzt helfen.
Ich bin nämlich am verzweifeln :( und weis nicht weiter. Habe schon so viel versucht.. Alles ohne Erfolg.
 
Zuletzt bearbeitet:
Grüße nochmal,
hier dein Codefragment:

PHP:
      if($NewUnterthema != "" && $NewUnterthema != "0")
       {echo "$NewUnterthema<br>";
        for($y=0;$y<5;$y++)
         {
            $newBK = $_POST["newBKundefined$y"];
            //echo $newBK."<br>";
            if($newBK != "Bewertungskriterium" && $newBK != "")
             {  
			 		if($newBK == "-"){
                    $newBK = "";
                   }
				   
               echo $insert = "INSERT INTO bericht_lernendetexte (`ID`,`Titel`,`Text`,`berichtlernende_ID`) VALUES (NULL,'$newBK','',$NewUnterthema)";echo "<br>";            //FEHLER : Erstellt leere Datensätze in der DB
                mysql_query($insert); 
                if($y == 0)
                 {
                  $y++;
                 }
             }
         }             
       }

ich würde das ganze wie folgt abändern:

PHP:
      if($NewUnterthema != "" && $NewUnterthema != "0")
       {echo "$NewUnterthema<br>";
        for($y=0;$y<5;$y++)
         {
            $newBK = $_POST["newBKundefined$y"];
            //echo $newBK."<br>";
            if($newBK != "Bewertungskriterium" && $newBK != "")
             {  
			 		if($newBK == "-"){
                    $newBK = "";
                   }
				   
                $insert = "INSERT INTO bericht_lernendetexte (`ID`,`Titel`,`Text`,`berichtlernende_ID`) VALUES ('','$newBK','','$NewUnterthema')";
                mysql_query($db, $insert); 
             }
         }             
       }


ANALYSE:
1. Aus dem Formular ist für mich nicht ersichtlich welches Feld den Wert von "newBKundefined$y" enthält
2. Da ich mal davon ausgehe, dass ID in der Tabelle AUTO_INCREMENT ist, würde ich nicht NULL einschreiben lassen, sondern das Feld frei lassen (einfach 2 einfache Anführungsstriche) -> es zählt selbst weiter hoch
3. Hochkommata bei $NewUnterthema vergessen
4. Die for-Schleife erhöht den Wert von $y für dich, deshalb brauchst du das nicht mehr prüfen -> Ausnahme: du erklärst mir, was du damit bezwecken willst :-)
-> wenn doch dann wenigstens die 0 in Anführungsstriche setzen
5. trotz alledem nochmal den Parameter für die Datenbankverbindung mit in die query schreiben...

Hoffe das da jetzt mal was funktioniert, denn was anderes ist mir bisher nicht aufgefallen :p
 
Meinst du mit "Parameter für die Datenbankverbindung" folgendes?
PHP:
	$connect = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
	mysql_select_db($db) or die("Can not connect.");

Denn ich habe es nun so gemacht wie du mir gesagt hast. Aber ich bekomme eine Fehlermeldung: Warning: mysql_query() expects parameter 1 to be string, resource given in ...\speichern.php on line 338
Die Zeile 338 ist folgende: mysql_query($connect,$insert) or die (mysql_error()); .

Wenn $y = 0 ist , dann muss es auf eins hochzählen, da der nächste Wert eine 2 ist. Also: 0 ; 2 ; 3 ;4. Deswegen zähle ich dort das $y hoch.

Hier der neue Code:
PHP:
		for($y=0;$y<5;$y++)
         {
            $newBK = $_POST["newBK$untertitelid$y"];
            if($newBK != "Bewertungskriterium" && $newBK != "")
             {  echo "TEST";
                     if($newBK == "-")
		    {
                      $newBK = "";
                     }
                   
                $insert = "INSERT INTO bericht_lernendetexte (`ID`,`Titel`,`Text`,`berichtlernende_ID`) VALUES ('','$newBK','','$untertitelid')";
                 mysql_query($connect,$insert) or die (mysql_error()); 
                
		if($y == "0")
                 {
                  $y++;
                 } 
$save=1;				
             }
         }

Ach ja genau, das muss ich vielleicht noch erwähnen, die Felder "$newBK" werde mit JavaScript generiert. Deswegen sind sie im Formular nicht zu sehen.
Aber ich habe mit Firebug den Code eines solchen Feldes Kopiert.
Das währe dan dieser:
HTML:
<html><input id = "newBK50" type="text" style="border: medium none; font-weight: bold;" name = "newBK1840" value = "Bewertungskriterium" onchange="CheckCheckbox('checkbox1840',this)"></html>
Mit diesem onchange wird beim leerlassen des Feldes ein Strich "-" ins Feld gemacht.
 
..dann einfach mal vor $insert ein @ setzen -> das sollte die Fehlermeldung unterdrücken und den Code trotzdem ausführen.
 
:D Ich hab den Fehler gefunden.. Endlich :D
Die Lösung ist: diese Forschlaufe ganz am Schluss durchlaufen zu lassen...

Sooo lange haben wir gebraucht, nur wegen einer solche Kleinlichkeit... :S
Das Leben ist hart.

Trotzdem ich bedanke mich für die vielen Helfer:D
Habe auch neues dazugelernt.

Gruss Smyle :D
 
Zurück