REQUEST-Abfrage funktioniert nicht

*hand vor den kopf hau* Doof...

Es klappt immer noch nicht. Und jetzt wird noch nicht einmal ein Fehler ausgespuckt.
Nur: "Es ist ein Fehler aufgetreten."

Nochmal der gesamte Code:

PHP:
		if(isset($_REQUEST['update']))
		{
                         	$name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
				foreach ($_POST['updatecard'] as $key => $value)
                                 {
                                 	if($value == "Collect")
	                                {
         	                        	$abfragen1 = "SELECT * FROM setscollect WHERE setkürzel = '".$_POST["setkürzel"]."' AND besitzer = '".$name."'";
                 	                	$ergebnisaus1 = mysql_query($abfragen1);
         	                	        	if (mysql_num_rows($ergebnisaus1) == 0)
							{
                 	                			$abfragen2 = "SELECT * FROM sets WHERE setkürzel = '".$_POST["setkürzel"]."'";
                         	        			$ergebnisaus2 = mysql_query($abfragen2);
                                 	        		while($rowab2 = mysql_fetch_object($ergebnisaus2))
                                 				{
                                                 			$eintragenn = "INSERT INTO setscollect (creator, besitzer, date, credits, credits2, credits3, typ,setname,setkürzel,setmastercard,setcard1,setcard2,setcard3,setcard4,setcard5,setcard6,setcard7,setcard8,setcard9,setcard10,setcard11,setcard12,rating,rank,views, downloads, nummer)VALUES('".mysql_real_escape_string($rowab2->creator)."', '".mysql_real_escape_string($rowab2->besitzer)."','".mysql_real_escape_string($rowab2->date)."','".mysql_real_escape_string($rowab2->credits)."','".mysql_real_escape_string($rowab2->credits2)."','".mysql_real_escape_string($rowab2->credits3)."','".mysql_real_escape_string($rowab2->typ)."','".mysql_real_escape_string($rowab2->setname)."','".mysql_real_escape_string($rowab2->setkürzel)."','".mysql_real_escape_string($rowab2->setmastercard)."','".mysql_real_escape_string($rowab2->setcard1)."','".mysql_real_escape_string($rowab2->setcard2)."','".mysql_real_escape_string($rowab2->setcard3)."','".mysql_real_escape_string($rowab2->setcard4)."','".mysql_real_escape_string($rowab2->setcard5)."','".mysql_real_escape_string($rowab2->setcard6)."','".mysql_real_escape_string($rowab2->setcard7)."','".mysql_real_escape_string($rowab2->setcard8)."','".mysql_real_escape_string($rowab2->setcard9)."','".mysql_real_escape_string($rowab2->setcard10)."','".mysql_real_escape_string($rowab2->setcard11)."','".mysql_real_escape_string($rowab2->setcard12)."','".mysql_real_escape_string($rowab2->rating)."','".mysql_real_escape_string($rowab2->rank)."','".mysql_real_escape_string($rowab2->views)."','".mysql_real_escape_string($rowab2->downloads)."','".mysql_real_escape_string($rowab2->nummer)."')";
									$eintragen3 = mysql_query($eintragenn);
								}
         	                                	}

                 	                		$abfragen = "SELECT * FROM cards WHERE id = '".$_POST["id"]."'";
                         	        		$ergebnisaus = mysql_query($abfragen);
                                 			while($rowab = mysql_fetch_object($ergebnisaus))
                                 			{
	                                 			$kartenid = $rowab->kartenid;
         	                        			$setname = $rowab->setname;
                 	                			$setkürzel = $rowab->setkürzel;
                         	        			$creator = $rowab->creator;
                                 				$besitzer = $rowab->besitzer;
                                 				$kategorie = $rowab->kategorie;
                                                                 $url = $rowab->url;
                                 			}

	   						$update = "INSERT INTO collect (kartenid, setname, setkürzel, creator, besitzer, kategorie, url)VALUES('".mysql_real_escape_string($kartenid)."', '".mysql_real_escape_string($setname)."','".mysql_real_escape_string($setkürzel)."','".mysql_real_escape_string($creator)."','".mysql_real_escape_string($besitzer)."','".mysql_real_escape_string($kategorie)."','".mysql_real_escape_string($url)."')";
							$eintragen3 = mysql_query($update);
                 	                                $delete = "DELETE FROM cards WHERE id = '".$_POST["id"]."'";
                         	                        $löschen = mysql_query($delete);

                         		}else
                         		{
                         			$name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");

   							$update = "UPDATE cards SET list = '$value' WHERE id='$key'";
							$eintragen = mysql_query($update);
                                 		}
                        			}
                         if($eintragen)
                         {
                			echo "<center><br><br><b>".$value."Erfolgreich verwaltet!</b><br><br></center>";
                         }else
                         {
                			echo "Es ist leider ein Fehler aufgetreten";
				mysql_error();
            		}
		}

CODE 2:

PHP:
					while($row = mysql_fetch_object($ergebnis))
					{
                                                         echo"<input type=\"hidden\" name=\"id\" value=\"".$row->id."\">";
                                                         echo"<input type=\"hidden\" name=\"setkürzel\" value=\"".$row->setkürzel."\">";
                                                         echo "<td><img src=\"".$row->url."\">
            					     	<br>
                                                         <select name=\"updatecard[".$row->id."]\">
            						<option value=\"Trade\">Trade</option>
            						<option value=\"Might Trade\">Might Trade</option>
            						<option value=\"Keep\">Keep</option>
            						<option value=\"Reserve\">Reserve</option>
            						<option value=\"Collect\">Collect</option>
            						</select><br>
           						<b>".$row->setkürzel."</b><br>
            						<b>No:".$row->kartenid."</b><br>
            						<b>".$row->list."</b><br>
            						<b>".$row->id."</b></td>";
         				}

Ich hoffe, ich belaste euch nicht zu sehr, aber irgendwie sehe ich den Wald vor lauter Bäumen nicht.
 
Das kommt bei var_dump($_POST); raus:

Code:
array(4) { ["id"]=>  string(3) "158" ["setkürzel"]=>  string(4) "bla5" ["updatecard"]=>  array(1) { [158]=>  string(7) "Collect" } ["update"]=>  string(9) "Verwalten" }
 
Das ist entscheidend "["updatecard"]=> array(1) { [158]=> string(7) "Collect" }". So nun rücke mal deinen Code richtig ein, weil sonst habe ich keine Lust mir den anzuschauen ;).
 
Ach so... Eigtl. ist der eingerückt, aber die PHP-Anzeige ist hier ein wenig komisch. Aber, ich versuchs. ^_^

PHP:
if(isset($_REQUEST['update']))
{
       $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
       foreach ($_POST['updatecard'] as $key => $value)
       {
              if($value == "Collect")
              {
                   $abfragen1 = "SELECT * FROM setscollect WHERE setkürzel = '".$_POST["setkürzel"]."' AND besitzer = '".$name."'";
                   $ergebnisaus1 = mysql_query($abfragen1);
                   if (mysql_num_rows($ergebnisaus1) == 0)
                   {
                         $abfragen2 = "SELECT * FROM sets WHERE setkürzel = '".$_POST["setkürzel"]."'";
                         $ergebnisaus2 = mysql_query($abfragen2);
                         while($rowab2 = mysql_fetch_object($ergebnisaus2))
                         {
                                  $eintragenn = "INSERT INTO setscollect (creator, besitzer, date, credits, credits2, credits3, typ,setname,setkürzel,setmastercard,setcard1,setcard2,setcard3,setcard4,setcard5,setcard6,setcard7,setcard8,setcard9,setcard10,setcard11,setcard12,rating,rank,views, downloads, nummer)VALUES('".mysql_real_escape_string($rowab2->creator)."', '".mysql_real_escape_string($rowab2->besitzer)."','".mysql_real_escape_string($rowab2->date)."','".mysql_real_escape_string($rowab2->credits)."','".mysql_real_escape_string($rowab2->credits2)."','".mysql_real_escape_string($rowab2->credits3)."','".mysql_real_escape_string($rowab2->typ)."','".mysql_real_escape_string($rowab2->setname)."','".mysql_real_escape_string($rowab2->setkürzel)."','".mysql_real_escape_string($rowab2->setmastercard)."','".mysql_real_escape_string($rowab2->setcard1)."','".mysql_real_escape_string($rowab2->setcard2)."','".mysql_real_escape_string($rowab2->setcard3)."','".mysql_real_escape_string($rowab2->setcard4)."','".mysql_real_escape_string($rowab2->setcard5)."','".mysql_real_escape_string($rowab2->setcard6)."','".mysql_real_escape_string($rowab2->setcard7)."','".mysql_real_escape_string($rowab2->setcard8)."','".mysql_real_escape_string($rowab2->setcard9)."','".mysql_real_escape_string($rowab2->setcard10)."','".mysql_real_escape_string($rowab2->setcard11)."','".mysql_real_escape_string($rowab2->setcard12)."','".mysql_real_escape_string($rowab2->rating)."','".mysql_real_escape_string($rowab2->rank)."','".mysql_real_escape_string($rowab2->views)."','".mysql_real_escape_string($rowab2->downloads)."','".mysql_real_escape_string($rowab2->nummer)."')";
                                  $eintragen3 = mysql_query($eintragenn);
                         }
                   }

                  $abfragen = "SELECT * FROM cards WHERE id = '".$_POST["id"]."'";
                  $ergebnisaus = mysql_query($abfragen);
                  while($rowab = mysql_fetch_object($ergebnisaus))
                  {
                       $kartenid = $rowab->kartenid;
                       $setname = $rowab->setname;
                       $setkürzel = $rowab->setkürzel;
                       $creator = $rowab->creator;
                       $besitzer = $rowab->besitzer;
                       $kategorie = $rowab->kategorie;
                       $url = $rowab->url;
                  }
                   $update = "INSERT INTO collect (kartenid, setname, setkürzel, creator, besitzer, kategorie, url)VALUES('".mysql_real_escape_string($kartenid)."', '".mysql_real_escape_string($setname)."','".mysql_real_escape_string($setkürzel)."','".mysql_real_escape_string($creator)."','".mysql_real_escape_string($besitzer)."','".mysql_real_escape_string($kategorie)."','".mysql_real_escape_string($url)."')";
                   $eintragen3 = mysql_query($update);
                   $delete = "DELETE FROM cards WHERE id = '".$_POST["id"]."'";
                   $löschen = mysql_query($delete);

               }else
               {
                   $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
                   $update = "UPDATE cards SET list = '$value' WHERE id='$key'";
                   $eintragen = mysql_query($update);
               }
      }
      if($eintragen)
      {
            echo "<center><br><br><b>".$value."Erfolgreich verwaltet!</b><br><br></center>";
      }else
      {
            echo "Es ist leider ein Fehler aufgetreten";
            mysql_error();
      }
}

OK, so?
 
Du definierst hier ein Array $name mit den Index $_REQUEST["updatecard"] als type array und der value $_POST["id"] und fragst dann im SQL Statement besitzer = '".$name.", kann mir nicht vorstellen das es richtig ist?

mache mal ein echo '<pre>'.print_r($name).'</pre>'; , dann siehst du was ich meine.

PHP:
if(isset($_REQUEST['update'])){
   $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
 //ich meine hier   
echo '<pre>'.print_r($name).'</pre>';
foreach ($_POST['updatecard'] as $key => $value){
      if($value == "Collect"){
         $abfragen1 = "SELECT * FROM setscollect WHERE setkürzel = '".$_POST["setkürzel"]."' AND besitzer = '".$name."'";
         $ergebnisaus1 = mysql_query($abfragen1);
         if (mysql_num_rows($ergebnisaus1) == 0){
            $abfragen2 = "SELECT * FROM sets WHERE setkürzel = '".$_POST["setkürzel"]."'";
            $ergebnisaus2 = mysql_query($abfragen2);
            while($rowab2 = mysql_fetch_object($ergebnisaus2)) {
               $eintragenn = "INSERT INTO setscollect (creator, besitzer, date, credits, credits2, credits3, typ,setname,setkürzel,setmastercard,setcard1,setcard2,setcard3,setcard4,setcard5,setcard6,setcard7,setcard8,setcard9,setcard10,setcard11,setcard12,rating,rank,views, downloads, nummer)VALUES('".mysql_real_escape_string($rowab2->creator)."', '".mysql_real_escape_string($rowab2->besitzer)."','".mysql_real_escape_string($rowab2->date)."','".mysql_real_escape_string($rowab2->credits)."','".mysql_real_escape_string($rowab2->credits2)."','".mysql_real_escape_string($rowab2->credits3)."','".mysql_real_escape_string($rowab2->typ)."','".mysql_real_escape_string($rowab2->setname)."','".mysql_real_escape_string($rowab2->setkürzel)."','".mysql_real_escape_string($rowab2->setmastercard)."','".mysql_real_escape_string($rowab2->setcard1)."','".mysql_real_escape_string($rowab2->setcard2)."','".mysql_real_escape_string($rowab2->setcard3)."','".mysql_real_escape_string($rowab2->setcard4)."','".mysql_real_escape_string($rowab2->setcard5)."','".mysql_real_escape_string($rowab2->setcard6)."','".mysql_real_escape_string($rowab2->setcard7)."','".mysql_real_escape_string($rowab2->setcard8)."','".mysql_real_escape_string($rowab2->setcard9)."','".mysql_real_escape_string($rowab2->setcard10)."','".mysql_real_escape_string($rowab2->setcard11)."','".mysql_real_escape_string($rowab2->setcard12)."','".mysql_real_escape_string($rowab2->rating)."','".mysql_real_escape_string($rowab2->rank)."','".mysql_real_escape_string($rowab2->views)."','".mysql_real_escape_string($rowab2->downloads)."','".mysql_real_escape_string($rowab2->nummer)."')";
               $eintragen3 = mysql_query($eintragenn);
            }
         }

         $abfragen = "SELECT * FROM cards WHERE id = '".$_POST["id"]."'";
         $ergebnisaus = mysql_query($abfragen);
         while($rowab = mysql_fetch_object($ergebnisaus)){
            $kartenid = $rowab->kartenid;
            $setname = $rowab->setname;
            $setkürzel = $rowab->setkürzel;
            $creator = $rowab->creator;
            $besitzer = $rowab->besitzer;
            $kategorie = $rowab->kategorie;
            $url = $rowab->url;
         }
         $update = "INSERT INTO collect (kartenid, setname, setkürzel, creator, besitzer, kategorie, url)VALUES('".mysql_real_escape_string($kartenid)."', '".mysql_real_escape_string($setname)."','".mysql_real_escape_string($setkürzel)."','".mysql_real_escape_string($creator)."','".mysql_real_escape_string($besitzer)."','".mysql_real_escape_string($kategorie)."','".mysql_real_escape_string($url)."')";
         $eintragen3 = mysql_query($update);
         $delete = "DELETE FROM cards WHERE id = '".$_POST["id"]."'";
         $löschen = mysql_query($delete);

      } else {
         $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
         $update = "UPDATE cards SET list = '$value' WHERE id='$key'";
         $eintragen = mysql_query($update);
      }
   }
   if($eintragen) {
      echo "<center><br><br><b>".$value."Erfolgreich verwaltet!</b><br><br></center>";
   }else{
      echo "Es ist leider ein Fehler aufgetreten";
      mysql_error();
   }
}  
?>
 
Ich weiß, was du meinst. Habe es jetzt verbessert.

Code:

PHP:
if(isset($_REQUEST['update']))
{
       $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
       foreach ($_POST['updatecard'] as $key => $value)
       {
              if($value == "Collect")
              {
                   $abfragen1 = "SELECT * FROM setscollect WHERE setkürzel = '".$_POST["setkürzel"]."' AND besitzer = '".$name2."'";
                   $ergebnisaus1 = mysql_query($abfragen1);
                   if (mysql_num_rows($ergebnisaus1) == 0)
                   {
                         $abfragen2 = "SELECT * FROM sets WHERE setkürzel = '".$_POST["setkürzel"]."'";
                         $ergebnisaus2 = mysql_query($abfragen2);
                         while($rowab2 = mysql_fetch_object($ergebnisaus2))
                         {
                                  $eintragenn = "INSERT INTO setscollect (creator, besitzer, date, credits, credits2, credits3, typ,setname,setkürzel,setmastercard,setcard1,setcard2,setcard3,setcard4,setcard5,setcard6,setcard7,setcard8,setcard9,setcard10,setcard11,setcard12,rating,rank,views, downloads, nummer)VALUES('".mysql_real_escape_string($rowab2->creator)."', '".mysql_real_escape_string($rowab2->besitzer)."','".mysql_real_escape_string($rowab2->date)."','".mysql_real_escape_string($rowab2->credits)."','".mysql_real_escape_string($rowab2->credits2)."','".mysql_real_escape_string($rowab2->credits3)."','".mysql_real_escape_string($rowab2->typ)."','".mysql_real_escape_string($rowab2->setname)."','".mysql_real_escape_string($rowab2->setkürzel)."','".mysql_real_escape_string($rowab2->setmastercard)."','".mysql_real_escape_string($rowab2->setcard1)."','".mysql_real_escape_string($rowab2->setcard2)."','".mysql_real_escape_string($rowab2->setcard3)."','".mysql_real_escape_string($rowab2->setcard4)."','".mysql_real_escape_string($rowab2->setcard5)."','".mysql_real_escape_string($rowab2->setcard6)."','".mysql_real_escape_string($rowab2->setcard7)."','".mysql_real_escape_string($rowab2->setcard8)."','".mysql_real_escape_string($rowab2->setcard9)."','".mysql_real_escape_string($rowab2->setcard10)."','".mysql_real_escape_string($rowab2->setcard11)."','".mysql_real_escape_string($rowab2->setcard12)."','".mysql_real_escape_string($rowab2->rating)."','".mysql_real_escape_string($rowab2->rank)."','".mysql_real_escape_string($rowab2->views)."','".mysql_real_escape_string($rowab2->downloads)."','".mysql_real_escape_string($rowab2->nummer)."')";
                                  $eintragen3 = mysql_query($eintragenn);
                         }
                   }

                  $abfragen = "SELECT * FROM cards WHERE id = '".$_POST["id"]."'";
                  $ergebnisaus = mysql_query($abfragen);
                  while($rowab = mysql_fetch_object($ergebnisaus))
                  {
                       $kartenid = $rowab->kartenid;
                       $setname = $rowab->setname;
                       $setkürzel = $rowab->setkürzel;
                       $creator = $rowab->creator;
                       $besitzer = $rowab->besitzer;
                       $kategorie = $rowab->kategorie;
                       $url = $rowab->url;
                  }
                   $update = "INSERT INTO collect (kartenid, setname, setkürzel, creator, besitzer, kategorie, url)VALUES('".mysql_real_escape_string($kartenid)."', '".mysql_real_escape_string($setname)."','".mysql_real_escape_string($setkürzel)."','".mysql_real_escape_string($creator)."','".mysql_real_escape_string($besitzer)."','".mysql_real_escape_string($kategorie)."','".mysql_real_escape_string($url)."')";
                   $eintragen3 = mysql_query($update);
                   $delete = "DELETE FROM cards WHERE id = '".$_POST["id"]."'";
                   $löschen = mysql_query($delete);

               }else
               {
                   $name = array("".$_REQUEST["updatecard"]."" => "".$_POST["id"]."");
                   $update = "UPDATE cards SET list = '$value' WHERE id='$key'";
                   $eintragen = mysql_query($update);
               }
      }
      if($eintragen)
      {
            echo "<center><br><br><b>".$value."Erfolgreich verwaltet!</b><br><br></center>";
      }else
      {
            echo "Es ist leider ein Fehler aufgetreten";
            mysql_error();
      }
}

Leider tritt immer noch ein Fehler auf.

Das spuckt er bei print_r aus:

Code:
Array ( [Array] => 129 )
1
 
Was ist denn jetzt "$name2" und was soll dieses Array "$name" eigentlich?
 
Zuletzt bearbeitet von einem Moderator:
Zurück