cc: Checkbox - in_array Problem

Beitrag lesen

Hi!

Ich hoffe, mir kann geholfen werden! :-)

Bestimmt sogar: ich fürchte nur, der von Dir hier gepostete Code reicht nicht aus.

off:PP

Hi Peter Pan,

das Beste wird wohl sein, den gesamten Code aller 3 Dateien zu posten, da hast du Recht!

SQL-Injections werden erst ganz am Ende eingefügt, bitte nicht damit nerven ;-) weils momentan eh nur lokal auf m Rechner läuft das Ganze. Es kann sein dass einiges überflüssig im Code ist, wenn einer Lust und Laune hat, kann er mich darin korregieren, ansonsten das auch unbeachtet lassen.

Lange Rede kurzer Sinn, hier der Code:

ins_player.php


<?php
  echo "<form enctype=\"multipart/form-data\" action=\"content/insertplayer.php\" method=\"post\">\n";
 echo  " <fieldset>\n";
 echo  "    <legend>Formular</legend>\n";
 echo  "    <table>\n";
 echo  "     <tr>\n";
 echo  "      <td></td>\n";
 echo  "     <td></td>\n";
 echo  "    </tr>\n";
 echo  "    <tr>\n";
 echo  "      <td><label for=\"spielername\">Spielername:</label></td>\n";
 echo  "     <td><input type=\"text\" name=\"spielername\" id=\"spielername\"></td>\n";
 echo  "    </tr>\n";
 echo  "       <tr>\n";
 echo  "         <td>Team:</td>\n";
 echo "     <td><select name=\"team[]\">\n";
 echo  "        <option value=\"Barca\" selected>Barcelona</option>\n";
 echo "      <option value=\"Manu\">Man'United</option>\n";
 echo  "      <option value=\"Fra\">Frankfreich</option>\n";
 echo  "         </select></td>\n";
 echo  "    </tr>\n";
 echo  "       <tr>\n";
 echo  "         <td>Formation:</td>\n";
 echo "     <td><select name=\"formation[]\">\n";
 echo  "        <option value=\"3-4-3\" selected>3-4-3</option>\n";
 echo "      <option value=\"4-3-3\">4-3-3</option>\n";
 echo  "      <option value=\"4-2-2-2\">4-2-2-2</option>\n";
 echo  "         </select></td>\n";
 echo  "    </tr>\n";
 echo  "    <tr>\n";
 echo  "      <td>Taktik:</td>\n";
 echo  "     <td>";
  echo  "         <input type=\"checkbox\" name=\"taktik[]\" value=\"vk\"> Viererkette<br>";
  echo  "         <input type=\"checkbox\" name=\"taktik[]\" value=\"rd\"> Raumdeckung<br>";
 echo "      <input type=\"checkbox\" name=\"taktik[]\" value=\"pr\"> Pressing</td>\n";
 echo  "       </tr>\n";
 echo  "       <tr>\n";
 echo  "         <td>Mentalit&auml;t:</td>\n";
 echo "     <td><select name=\"mentalitaet[]\">\n";
 echo  "        <option value=\"defensiv\" selected>defensiv</option>\n";
 echo "      <option value=\"neutral\">neutral</option>\n";
 echo  "      <option value=\"defensiv\">offensiv</option>\n";
 echo  "         </select></td>\n";
 echo  "    </tr>\n";
 echo  "    <tr>\n";
 echo  "      <td>Verbindung:</td>\n";
 echo  "     <td>\n";
 echo "       <input type=\"radio\" name=\"verbindung[]\" value=\"sehr schlecht\"> sehr schlecht\n";
 echo "       <input type=\"radio\" name=\"verbindung[]\" value=\"schlecht\"> schlecht\n";
 echo "       <input type=\"radio\" name=\"verbindung[]\" value=\"mittelpr&auml;chtig\"> mittelpr&auml;chtig\n";
 echo "       <input type=\"radio\" name=\"verbindung[]\" value=\"gut\"> gut\n";
 echo "       <input type=\"radio\" name=\"verbindung[]\" value=\"sehr gut\"> sehr gut\n";
 echo "     </td>\n";
 echo  "    </tr>\n";
 echo  "    <tr>\n";
 echo  "      <td><label for=\"spielweise\">Spielweise:</label></td>\n";
 echo  "     <td><textarea name=\"spielweise\" cols=\"40\" rows=\"4\" id=\"spielweise\"></textarea></td>\n";
 echo  "    </tr>\n";
 echo  "    <tr>\n";
 echo  "      <td><label for=\"spielerfoto\">Foto:</label></td>\n";
 echo  "     <td><input type=\"file\" name=\"spielerfoto\" id=\"spielerfoto\"></td>\n";
 echo  "    </tr>\n";
 echo  "   </table>\n";
 echo  "    <input type=\"submit\" name=\"SUBMIT\" value=\" Speichern \">\n";
 echo  "    <input type=\"reset\" value=\" Felder leeren \">\n";
 echo  " </fieldset>\n";
 echo  "</form>\n";
?>

insertplayer.php


<?php
//  header("location: weiterleitung.html");
  error_reporting(E_ALL);
 include ("../config.php");

  $DatabasePointer = @mysql_connect($host, $user, $password);
  mysql_select_db($database, $DatabasePointer);

 $taktikarray = array ();
 foreach ($_POST['taktik'] as $taktiken) {
    $taktikarray[] = htmlspecialchars ($taktiken);
  }
  $taktik = implode (', ', $taktikarray);

 $mentalitaet = htmlspecialchars ( $_POST['mentalitaet'][0] );
  $formation = htmlspecialchars ( $_POST['formation'][0] );
  $verbindung = htmlspecialchars ( $_POST['verbindung'][0] );
  $team = htmlspecialchars ( $_POST['team'][0] );

  $dateiname = $_FILES['spielerfoto']['name'];

  $SQL = "INSERT INTO spieler (spielername, team, formation, taktik, mentalitaet,
           verbindung, spielweise, spielerfoto) VALUES ('".$_REQUEST['spielername']."',
                 '".$team."',
                '".$formation."',
                '".$taktik."',
                '".$mentalitaet."',
                '".$verbindung."',
                '".$_REQUEST['spielweise']."',
                                '".$dateiname."')";
  mysql_query($SQL, $DatabasePointer);

  $dateityp = GetImageSize($_FILES['spielerfoto']['tmp_name']);
  if($dateityp[2] != 0) {
   if($_FILES['spielerfoto']['size'] <  102400) {
    move_uploaded_file($_FILES['spielerfoto']['tmp_name'], "upload/".$_FILES['spielerfoto']['name']);
   echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['spielerfoto']['name']." hochgeladen";
  }
    else {
      echo "Das Bild darf nicht größer als 100 kb sein ";
    }
  }
  else {
   echo "Bitte nur Bilder jpg-Format hochladen";
  }
?>

Und nun zu der entscheidenden Datei, worin sich der Fehler befindet und wo ich bei den Checkboxen nen checked hinbekommen will, falls diese bei der ins_player.phg markiert wurden und in die Datenbank geschrieben wurden durch die insertplayer.php.

playeredit.php


<?php
 error_reporting(E_ALL);
 include ("config.php");
 $connection = @mysql_connect($host, $user, $password);
 $query = "SELECT * FROM spieler";

 $id = $_GET['id'];

 $query = "SELECT * FROM spieler WHERE ID='$id'";
 $result = mysql_db_query ($database, $query, $connection);
 $data = mysql_fetch_array($result);
?>

  <form enctype="multipartform-data" action="content/playereditaction.php" method="post">
   <fieldset>
  <legend>Formular</legend>
  <table>
    <tr>
     <td></td>
    <td></td>
    </tr>
   <tr>
     <td><label for="spielername">Spielername:</label></td>
    <td><input type="text" name="spielername" id="spielername" value="<?php echo $data['spielername']; ?>"></td>
   </tr>
   <tr>
     <td>Team:</td>
    <td>
     <select name="team[]">
      <option value="Barca">Barcelona</option>
     <option value=\"Manu\">Man'United</option>
     <option value=\"Fra\">Frankfreich</option>
     </select>
     </td>
   </tr>
   <tr>
     <td><label for="formation">Formation:</label></td>
    <td><input type="text" name="formation" id="formation" value="<?php echo $data['formation']; ?>"></td>
   </tr>
   <tr>
     <td>Taktik:</td>
    <td>
      <input type="checkbox" name="taktik[]" value="pr" <?php if (in_array("pr", $taktik)) ( checked ) ?>> Viererkette<br>
     <input type="checkbox" name="taktik[]" value="rd" <?php if (in_array("rd", $taktik)) ( checked ) ?>> Raumdeckung<br>
     <input type="checkbox" name="taktik[]" value="pr" <?php if (in_array("pr", $taktik)) ( checked ) ?>> Pressing
    </td>
   </tr>
   <tr>
     <td><label for="verbindung">Verbindung:</label></td>
    <td><input type="text" name="verbindung" id="verbindung" value="<?php echo $data['verbindung']; ?>"></td>
   </tr>
   <tr>
     <td><label for="spielweise">Spielweise:</label></td>
    <td><textarea name="spielweise" cols="40" rows="4" id="spielweise"><?php echo $data['spielweise']; ?></textarea></td>
   </tr>
   <tr>
     <td><label for="spielerfoto">Foto:</label></td>
    <td>
      <img src="content/upload/<?php echo $data['spielerfoto']; ?>" width="100" height="133"><br>
          <label for="spielerfoto">&Auml;ndern:</label><input type="file" name="spielerfoto" id="spielerfoto">
    </td>
   </tr>
  </table>
  <input type="submit" name="SUBMIT" value=" Speichern ">
  <input type="hidden" name="id" value="<?php echo $data['id']; ?>">
  </fieldset>
  </form>
<?php

$ergebnis = mysql_query($query) OR die("Query: <pre>".$query."</pre>\n".
"Fehler: ".mysql_error());
?>