Avatar billede heden Nybegynder
30. september 2005 - 08:44 Der er 10 kommentarer og
1 løsning

Den må ikke ligge op hvis intet står i.

hej Eksperter.

jeg har følgende kode:

<?
if (isset($_POST['op']))
{
    include 'db.php';

    $spg_id = $_POST['spg'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));

    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id) VALUES('','".$svar."','".$spg_id."')");
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }

echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>

            <table width="100%" height="303"  border="0">
  <td>
<div align="center">    </div>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
  <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="style2">
    <tr>
      <td><div align="center" class="style2">Sp&oslash;rgsm&aring;l:</div></td>
    </tr>
    <tr>
      <td><div align="center">
    <?
        include 'db.php';
$res = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
    while($row = mysql_fetch_array($res))
    {
$spg = $row['spg'];
$id = $row['id'];
echo $spg;
}
?></div></td>
    </tr>
  </table>
    <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td width="22%"><div align="left"><span class="style2">Svar muligheder: </span></div></td>
            <td width="57%">&nbsp;</td>
            <td width="21%"><div align="center"><span class="style2">Det korrekte svar:</span></div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 1:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar1" size="50">
            </div></td>
            <td><p align="center">
              <label>
              <input type="radio" name="korrekt" value="ken">
              </label>
              <br>
            </p></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 2:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar2" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="kto">
            </div></td>
        </tr>
        <tr>
            <td><div align="left"><span class="style2">Svar 3:</span></div></td>
            <td><div align="center">
              <input name="svar[]" type="text" id="svar3" size="50">
            </div></td>
            <td><div align="center">
              <input type="radio" name="korrekt" value="ktre">
            </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 4:</span></div></td>
          <td><div align="center">
  <input name="svar[]" type="text" id="svar4" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfire">
          </div></td>
        </tr>
        <tr>
          <td><div align="left"><span class="style2">Svar 5:</span></div></td>
          <td><div align="center">
<input name="svar[]" type="text" id="svar5" size="50">
          </div></td>
          <td><div align="center">
            <input type="radio" name="korrekt" value="kfem">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="hidden" name="spg_id" value="<?=$id?>">
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" id="op" name="op" value="Opret svar">
          </div></td>
        </tr>
    </table>
</form>

Hvis jeg ikke skriver noget i et af de fem felter så går den ind og opretter et id i min db alligevel, det vil jeg ikke have, kan i hjælpe med at gøre så den ikke gør det :o)
Avatar billede nielle Nybegynder
30. september 2005 - 09:31 #1
F.eks. sådan her?

$spg_id = $_POST['spg'];
$svar = htmlspecialchars(addslashes($_POST['svar']));

$spg_id = mysql_escape_string($_POST['spg_id']);
foreach($_POST['svar'] as $svar)
{
    if (trim($svar) != "")
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id) VALUES('','".$svar."','".$spg_id."')");
        if (mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }
}
Avatar billede heden Nybegynder
30. september 2005 - 09:48 #2
hvis det ser sådan herud:

<?
$spg_id = $_POST['spg'];
$svar = htmlspecialchars(addslashes($_POST['svar']));

$spg_id = mysql_escape_string($_POST['spg_id']);
foreach($_POST['svar'] as $svar)
{
    if (trim($svar) != "")
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id) VALUES('','".$svar."','".$spg_id."')");
        if (mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }
echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>


så siger den:

Warning: Invalid argument supplied for foreach()

på linje:
foreach($_POST['svar'] as $svar)
Avatar billede nielle Nybegynder
30. september 2005 - 10:50 #3
Jeg har ikke rørt din foreach. Fejlende den den også før?
Avatar billede heden Nybegynder
30. september 2005 - 10:58 #4
nej derfor jeg heller ik kan forstå det hehe
Avatar billede heden Nybegynder
30. september 2005 - 10:59 #5
jeg har lige en opdate til den og der siger den det ik:

<?
if (isset($_POST['op']))
{

    include 'db.php';

    $spg_id = $_POST['spg'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $korrekt = mysql_escape_string($_POST['korrekt']);

    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("INSERT INTO spg_svar (id,svar,spg_id,spg_svar) VALUES('','".$svar."','".$spg_id."','".$korrekt."')");
        if(mysql_affected_rows()==0)
        {
            echo "Der opstod en fejl: " . mysql_error() . "<hr>\n";
        }
    }

echo "<div align=\"center\" class=\"style2\">Svaret blev oprettet</div>";
}
?>
Avatar billede heden Nybegynder
30. september 2005 - 10:59 #6
så skal jeg bare have sat det der trim ind igen, er lige ved at kigge på det.
Avatar billede nielle Nybegynder
30. september 2005 - 14:33 #7
Hvad var resultatet så?
Avatar billede heden Nybegynder
02. oktober 2005 - 21:16 #8
jo det kom til at virke. smider du et svar
Avatar billede nielle Nybegynder
02. oktober 2005 - 21:19 #9
Svar :^)
Avatar billede heden Nybegynder
02. oktober 2005 - 23:18 #10
takker
-lukket-
Avatar billede nielle Nybegynder
03. oktober 2005 - 06:56 #11
Takker for point :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester