Find den fehler nicht

floMatic

Mitglied
Hi,
habe folgendes Problem.
Ich arbeite eigentlich an einer ganz simplen abfrage wo daten ausgelesen werden und als vorwerte eingetragen sind (Man soll über das formular die daten änder können).
Wenn ich ehrlich bin isses auch nicht das erste mal das ich sowas mache nur irgendwie hat sich ein fheler eingeschlichen denn wenn ich was am Text änder trage sich diese nicht in die datenbank ein.
Danke schonmal im vorraus.

PHP:
<body>
<?php 
	include "config.php";
	include "connect.php";
$zeit = date("Y-m-d");

if(isset($_REQUEST['change'])) {
	$id = $_POST['id'];
	$date = $_POST['date'];
	$frage = $_POST['frage'];
	$a1 = $_POST['a1'];
	$a2 = $_POST['a2'];
	$correct = $_POST['correct'];
	$aktiv = $_POST['aktiv'];
	
   $sql ="UPDATE wb_quiz SET id='$id', date='$date', frage='$frage', a1='$a1', a2='$a2', correct='$correct', activ='$aktiv' WHERE id='$id'";
   $res = mysql_query($sql, $dbverb);

 if($res == true) {
      $message = "<span id=\"message_true\">Das &Auml;ndern des Liefergebietes war erfolgreich.</span>";
   }
   else {
      $message = "<span id=\"message_false\">Das &Auml;ndern des Liefergebietes war nicht erfolgreich.</span>";
   }

}


$sql2 ="SELECT * FROM wb_quiz";
$sqlerg = mysql_query($sql2, $dbverb);
$row = mysql_fetch_array($sqlerg)
?>
<form id="form1" name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
    <tr align="left" valign="top">
      <td colspan="2">Bio-Quiz vom <?php echo $row[1] ?>.</td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2"><?php echo $message ?></td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2">Ist das Quiz aktiv?</td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2">
      <?php 
	  if($row[6] == 1){
      echo "<input type=\"radio\" name=\"aktiv\" id=\"radio\" value=\"1\" checked/>Ja";
      echo "<input type=\"radio\" name=\"aktiv\" id=\"radio2\" value=\"2\" />Nein";
	  } else {
	  echo "<input type=\"radio\" name=\"aktiv\" id=\"radio\" value=\"1\" />Ja";
      echo "<input type=\"radio\" name=\"aktiv\" id=\"radio2\" value=\"2\" checked/>Nein";
	  }
      
	  ?>
       </td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2">
        <input type="hidden" name="id" value="<?php $row[0] ?>" />
        <input type="hidden" name="date" value="<?php $zeit ?>" />        </td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2">Die Frage</td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2"><textarea name="frage" id="frage"><?php echo $row[2] ?></textarea></td>
    </tr>
    <tr align="left" valign="top">
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr align="left" valign="top">
      <td>Antwort 1</td>
      <td>Antwort 2</td>
    </tr>
    <tr align="left" valign="top">
      <td><textarea name="a1" id="antwort"><?php echo $row[3] ?></textarea></td>
      <td><textarea name="a2" id="antwort"><?php echo $row[4] ?></textarea></td>
    </tr>
    <tr>
    <?php 
		if($row[5]== 0){
echo "<td align=\"left\" valign=\"top\"><input type=\"radio\" name=\"correct\" id=\"radio2\" value=\"1\" checked/>richtige Antwort</td>";
echo "<td align=\"left\" valign=\"top\"><input type=\"radio\" name=\"correct\" id=\"radio2\" value=\"2\" />richtige Antwort</td>";
	} else {
echo "<td><input type=\"radio\" name=\"correct\" id=\"radio2\" value=\"1\" />richtige Antwort</td>";
echo "<td><input type=\"radio\" name=\"correct\" id=\"radio2\" value=\"2\" checked/>richtige Antwort</td>";
		}
	?>
	</tr>
    <tr>  <td align="left" valign="top"><input type="submit" name="change" value="&auml;ndern" /></td>
    <td align="left" valign="top">&nbsp;</td></tr>
      
    
  </table>
</form>

</body>
 
Du könntest damit anfangen in der IF Abfrage, in der der SQL Update stattfinden soll, erstmal per var_dump($_POST) die übergebenen Daten anzeigen zu lassen.

Dann würde die Ausgabe von mysql_error() nach dem mysql_query() vielleicht dort einen Fehler anzeigen.

Was hast du denn schon geprüft?
 
hab das mal innerhalb der if schleife eingefügteingefügt

PHP:
if( !mysql_query( $sql ) )
{
    echo mysql_error();
}

angezeigt wurde aber garnix
 
Wenn kein Update zustande kommt gibt es keinen mysql-error.

Also nochmal Variablen anzeigen lassen bevor sie in die Tabelle geschrieben wurden.
 
Probier mal folgendes ganz plump:
Setz alle Feldernamen im MySQL in `
beispiel: `feldname`

Oder noch extremer danach:
anstatt tabellen namen ohne alles versuchs mal so:
`datenbankname`.`tabellenname`

Vielleicht hast du "Glück" :)

Naja eigentlich ist das eher meistens deshalb hilfreich weil wenn man z.B. eine spalte "from" hat und denn schreibt: "SELECT from FROM tabellenname ....".
Aber meistens kommt mir das einfach wie Glück vor :D.

Also somit: Ich wünsch dir viel Glück. ;)
 
also ich habe mir innerhalb der schleife mal die formular daten anzeigen lassen die kommen korrekt an nur geupdatet wird es nicht

anhang: der tip von ebend hat leider nix gebracht :(
 
Zuletzt bearbeitet:
OK. Denn hast du wohl kein glück gehabt. :D
1. Frage wiese willst du die id update ( wahrscheinlihc in das selbe wie s vorher ist.)

Das Problem hatte cih auch schon mal.
Bei mir hatte ich `datenbankname`.`tabellenname` genommen und dann gings :/
 
Habs mittlerweile rausbekommen das problem war das dieser halb html halb php code nicht gemocht worden ist deswegen habe ich jetzt alles mit einem echo versehen und nun gehts

Trotdem nochmal danke an alle
 

Neue Beiträge

Zurück