Avatar billede buxxy Praktikant
29. januar 2012 - 15:41 Der er 13 kommentarer og
1 løsning

<input type='image' virker ikke ?

Hej eksperter.

Jeg har flg. form indsat i lidt PHP/SQL-kode:

  $result = dbquery("SELECT page_id FROM ".DB_CUSTOM_PAGES);
  if (dbrows($result) != 0) {
      while ($data = dbarray($result)) {
        if (isset($_GET['page_id'])) { $sel = $_GET['page_id']; }
      }
      echo "<div style='text-align:center'>\n<form name='selectform' method='post' action='".ADMIN."custom_pages.php".$aidlink."'>\n";
      echo "<input type='hidden' name='page_id' value='$sel'>\n";
      echo "<input type='submit' name='edit' value='Redigér' class='button' />\n";
      echo "</form>\n</div>\n";
  }


Nu ville jeg så gerne udskifte den alm. button med et selvvalgt billede. Til formålet var jeg næsten helt sikker på, at jeg blot kunne bruge:

<input type='image' src='billede.gif' />

Men det virker dog ikke som forventet. Der kommer ingen fejlmeddelelser eller noget - det virker dog bare ikke.

Er her mon en der kan skimte hvad jeg gør galt ?

Mvh.
Buxxy.
Avatar billede buxxy Praktikant
29. januar 2012 - 15:43 #1
... det skal nævnes at jeg har læst mange af indlæggene her på Eksperten.dk vedr. samme problemstilling - dog uden at en eneste af dem virker for mig.
Avatar billede Kaa85 Praktikant
29. januar 2012 - 16:03 #2
Og når du siger den ikke virker som forventet betyder det at der ikke bliver vist nogen knap?

billede.gif ligger i samme mappe som html filen?
Avatar billede buxxy Praktikant
29. januar 2012 - 16:45 #3
Jo jo, knappen bliver fint nok vist.

Jeg skal se om jeg kan uddybe/forklare lidt bedre:

1. Når jeg bruger min oprindelige form med type=submit' så virker redigeringen (som jeg skal "ind til") fint nok - se billede:
http://www.dvdside.dk/images/edit_custom_pages_ok.jpg

2. Når jeg bruger formen med type=image' så virker redigeringen (som jeg skal "ind til") ikke - se billede:
http://www.dvdside.dk/images/edit_custom_pages_not_ok.jpg

Dvs. at der hvor det virker, ja der får jeg indholdet fra databasen over den side jeg vil redigere frem.

Der hvor det ikke virker, ja der mangler det indhold som jeg vil redigere.

Hmm, kan godt se den måske er svær at forklare... Håber at billederne måske kan give lidt af den manglende forklaring.
Avatar billede olebole Juniormester
29. januar 2012 - 17:51 #4
<ole>

Billeder siger intet. Læg din kode på PasteBin, så vi kan se, hvad du gør og ikke gør.

Du bruger forhåbentlig ikke din knaps navn til noget på serveren ... eller?

/mvh
</bole>
Avatar billede buxxy Praktikant
29. januar 2012 - 19:03 #5
Koden ligger nu her hos PasteBin: http://pastebin.com/WWTKCFCs

Nej, navnet til knappen var et "left over" fra et af mine utallige mange tidligere forsøg - så det bruges ikke til noget.
Avatar billede olebole Juniormester
29. januar 2012 - 20:27 #6
Jeg kan vist ikke se det sted, du modtager formens data. Formen bruger method="post", men du bruger ikke $_POST array'et i koden, du viser.

Anyway, så kan du jo teste koden her:

<?php
$result = '';
if (!empty($_POST)) {
    if (isset($_POST['page_id'])) {
        $result = '$_POST => '.print_r($_POST, true);
    }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>

<pre>
<?php echo $result ?>
</pre>

<form action="" method="post">
<div>
    <input type="hidden" name="page_id" value="HeyHop">
    <p><input type="image" name="my_button" src="http://www.eksperten.dk/images/eksperten_logo.gif"></p>
</div>
</form>

</body>
</html>

- hvilket også gerne skulle forklare, hvorfor jeg spurgte, om du brugte knappens navn til identifikation  *o)

Prøv at kikke i din resulterende HTML-kode med View Source i browseren. Der må være andre grunde til, at noget går galt
Avatar billede olebole Juniormester
29. januar 2012 - 20:29 #7
- og én gang til for Prins Knud!  =)

<?php
$result = '';
if (!empty($_POST)) {
    if (isset($_POST['page_id'])) {
        $result = '$_POST => '.print_r($_POST, true);
    }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>

<pre>
<?php echo $result ?>
</pre>

<form action="" method="post">
<div>
    <input type="hidden" name="page_id" value="HeyHop">
    <p><input type="image" name="my_button" src="http://www.eksperten.dk/images/eksperten_logo.gif"></p>
</div>
</form>

</body>
</html>
Avatar billede buxxy Praktikant
29. januar 2012 - 21:38 #8
Jeg forstår desværre ikke helt hvad det er du vil jeg skal prøve med din kode ?

Hvis jeg lægger koden i en fil, og kører den så får jeg blot:

$_POST => Array
(
    [page_id] => HeyHop
    [my_button_x] => 152
    [my_button_y] => 24
)

- efter jeg har trykket på billedet. Men jeg forstår ikke hvad jeg skal med den kode ?
Avatar billede olebole Juniormester
29. januar 2012 - 22:03 #9
Du skal bare forstå, at det ikke er et type="image", som ikke virker. Du laver en eller anden fejl, når du pøver at bruge det element - en fejl, vi ikke kan se udfra den kode, du viser.

Har du prøvet at tjekke HTML-koden med View Source i browseren? Både, når du ikke bruger image feltet - og når du gør
Avatar billede buxxy Praktikant
29. januar 2012 - 22:52 #10
Så har jeg nu kigget i kildekoden, efter jeg har trykket på submit-knappen - både på den der virker, og på den der ikke virker:

Forskellene ligger på flg. linje-nr:

Linje 24 + 108 + 337 + 348 + 351 + 363

Kode fra kildekoderne er lagt op her:

Den der virker: http://pastebin.com/qcHcQW6n

Den der ikke virker: http://pastebin.com/bj6sWcau

Jeg synes dog bare ikke der er mærkbar/betydelig så stor forskel på dem - IMO.
Avatar billede olebole Juniormester
30. januar 2012 - 00:03 #11
Jeg fatter intet af, hvad der foregår i denne tråd ...?!??!!!
Avatar billede buxxy Praktikant
30. januar 2012 - 00:41 #12
Jamen jeg undskylder hvis jeg har gjort noget galt. Ville jo bare gerne have problemet løst - jeg ved godt jeg ikke er god til at kode, men forsøger dog at gøre som der bliver fortalt mig.

Vi lader det bare ligge.

Hvis du smider et svar for du selvfølgelig point fordi du ville kigge på det.

Det var ikke min mening at "pisse" nogle af - sry!
Avatar billede buxxy Praktikant
30. januar 2012 - 17:05 #13
Nå, jeg fandt da selv ud af det via at bruge CSS:

echo "<input type='submit' name='edit' value='' style='background: transparent url(".IMAGES."edit.png); width: 16px; height:16px; border: 0;' alt='Redigér' />";
Avatar billede olebole Juniormester
30. januar 2012 - 17:13 #14
Nej, men du fandt ud af at bruge en anden løsning. Årsagen til, at du ikke kan bruge type="image" er stadig et uløst mysterium
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