Avatar billede sabumnim Novice
15. januar 2008 - 21:50 Der er 3 kommentarer og
1 løsning

selector box problem

Hejsa

Har et problem med at få et valg i en selector box med op i min db ved insert into.

Jeg har en formular som skal administreres af admin så denne kan lave nyhed og vælge at sætte et billede ved, hvor billedet hentes via en selector box som "kigger" i et directory med billeder i.

Men den vil ikke medtage selve billedefilen (der er 3 billeder i mappen) men vil godt smide resten af indholdet i min db.

Kan I hjælpe og gerne hurtigt, tak :0)

Her er noget kode for at lette postgangen:

Min DB dump -----------------------
CREATE TABLE `trial` (
  `id` int(11) NOT NULL auto_increment,
  `overskrift` text NOT NULL,
  `teksten` text NOT NULL,
  `file` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
)
------------------

Min php kode med kommentarer ----------------
<?php include_once('forbindmig.php'); ?> //connectionstring
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form name="form1" id="form1" method="post" action="">
      <input type="hidden" name="Submit" value="1">
     
   
        <span class="broed">Overskrift:<br />
        <input type="text" name="overskrift" class="felt" value="<? echo $row['overskrift'] ;?>" />
        </span>
        <br />
        <span class="broed">Tekst:<br />
      <textarea name="teksten" cols="35" rows="6" class="felt2"><? echo $row['teksten'] ;?></textarea>
        </span><br />
        <?
            $handle = opendir('logos');
            echo '<select name="file">';
            while (false !== ($file = readdir($handle))) {
                if ($file != '.' && $file != '..') {
                echo '<option value="logos'.$file.'">'.$file.'</option>';
                }
        }
        echo '</select>';
        ?>
        <p>
          <input type="submit" name="opdater" value="Afsend" class="knap" />
        </p>
      </form>
   
           
            <?
        if(isset($_POST['Submit'])){
        $id = htmlentities ($_POST['id']);
        $overskrift = htmlentities ($_POST['overskrift']);
        $teksten = htmlentities ($_POST['teksten']);
        $file = htmlentities ($_POST['$file']);
        if(!get_magic_quotes_gpc()){
        $id = addslashes ($id);
        $overskrift= addslashes($overskrift);
        $teksten = addslashes($teksten);
        $file = addslashes($file);
        }
        $query="INSERT INTO trial (id, overskrift,teksten,file) VALUES ('$id','$overskrift','$teksten','$file')";
        //$query="INSERT INTO nyhed (date,overskrift,tekst) VALUES ('$NOW()','$overskrift','$tekst')";
        mysql_query($query);
        echo "Nyheden er nu lagt i databasen!<br />";
        echo "<a href=\"nyhedmain.php\">Tilbage til nyhederne</a>";
        }       
       
        ?>
</body>
</html>
Avatar billede dkfire Nybegynder
15. januar 2008 - 21:56 #1
Ret:
$file = htmlentities ($_POST['$file']);
Til
$file = htmlentities ($_POST['file']);
Avatar billede sabumnim Novice
15. januar 2008 - 22:15 #2
Hej dkfire

Kender du det man kan stirre sig blind på selv den mindste fejl :0)

Dette var et klasse eksempel på en typisk FEJL 40.

Men du løste gåden og fortjener helt sikkert og vist dine points så smid et svar, så smider jeg en bunke point i din retning med et stort tak for hjælpen

//Carsten
Avatar billede dkfire Nybegynder
15. januar 2008 - 22:17 #3
Nej nej tag du dem bare selv, vi kan alle lave den type fejl ;-)
Avatar billede sabumnim Novice
15. januar 2008 - 22:32 #4
thx a million
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