Gå til innhold

Håper noen kan hjelpe med litt kode.


Anbefalte innlegg

Hei, har en feil med et php skript som jeg ikke finner ut av. Problemet er at jeg har forsøkt å skrive om en mod til coppermine gallery slik at brukerne får checkboxer å velge hvilke album bildene skal opp i. Skriptet virker nesten helt perfekt, bare et problem som jeg ikke finner ut av. Det er kun verdien i siste checkboxen som blir krysset av som blir lagret i databasen.

 

Er det noen som kan hjelpe meg med dette? Har forsøkt å ta ut den koden jeg har endret og den som har med $keywords å gjøre.

 

Blir veldig takknemlig for hjelp da jeg har sittet med dette i noen dager nå..

 

Flrst den delen som jeg har vært inne og endret på:

 

// Ok, go with "Easy keyword insert MOD v2"

//mod here

 

// The text Keyword form <---- modded input function. Takes the text label for the box, the input name, the maximum length for text boxes,

// and the number of iterations.

function keyword_box_input($text, $name, $max_length, $iterations, $default='') {

 

global $CONFIG;

 

$ordinal = '';

 

if (($text == '') and ($iterations == '')) {

echo " <input type=\"hidden\" name=\"$name\" value=\"$default\" />\n";

return;

}

 

// Begin loop

for ($counter=0; $counter<$iterations; $counter++) {

 

// Create a numbering system when necessary.

if ($text == '') {

$cardinal = $counter + 1;

$ordinal = "".$cardinal.". ";

}

// Hop stop here ! Add request of keyword_select.php to get the keyword list

$query = "SELECT * FROM {$CONFIG['TABLE_PREFIX']}dict ORDER BY keyword";

$result = cpg_db_query($query);

 

 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

$keywordIds[] = $row["keyId"];

$keywords[] = $row["keyword"];

}

$form = "";

foreach ($keywords as $keyword) {

$form.= '<input type="checkbox" name="keywords" value="'.$keyword.'">'.$keyword.'<br></input>';

}

// Return at the mod

// Create the keyword box.

echo <<< EOT

<tr>

<td width="40%" class="tableb" valign="top">

Kategorier :

</td>

<td width="60%" class="tableb" valign="top">

<div align="left">

<label>

$form

</label>

</div>

 

 

</td>

</tr>

 

EOT;

}

}

 

Så neste forekomst av @keywords i skriptet:

// We have incoming placement data. Let's capture it.

 

$album = (int)$_POST['album'];

$title = addslashes($_POST['title']);

$caption = addslashes($_POST['caption']);

$keywords = addslashes($_POST['keywords']);

$user1 = addslashes($_POST['user1']);

$user2 = addslashes($_POST['user2']);

$user3 = addslashes($_POST['user3']);

$user4 = addslashes($_POST['user4']);

 

Og til slutt koden for å lagre

// Create thumbnail and intermediate image and add the image into the DB

$result = add_picture($album, $filepath, $picture_name, 0,$title, $caption, $keywords, $user1, $user2, $user3, $user4, $category, $raw_ip, $hdr_ip, $movie_wd, $movie_ht);

Lenke til kommentar
Videoannonse
Annonse

Så kjapt gjennom det, så ikke sikkert eg forstod ka du vil...

Men uten [] vil hver checkbox skrive over den forrige. Nå er det et array.

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$keywordIds[] = $row["keyId"];
$keywords[]   = $row["keyword"];
		$form.= '<input type="checkbox" name="keywords[]" value="'.$row["keyId"].'">'.$row["keyword"].'<br></input>';
}

 

Her får du et array

		$keywords = addslashes(implode(',', $_POST['keywords']));

Lenke til kommentar
Hei og takk for svar. Når jeg legger til det som du har skrevet kommer det bare 'Array' inn i databasen

 

Du erstattet

$keywords = addslashes($_POST['keywords']);

med

$keywords = addslashes(implode(',', $_POST['keywords']));

?

 

Sånn skal det virke:

<p><?php
if (isset($_POST['keywords'])) {
echo 'Input: ' . implode(',', $_POST['keywords']);
} else {
echo 'No input.';
}
?></p>
<form method="post">
<p><label><input type="checkbox" name="keywords[]" value="test1" /> test1</label></p>
<p><label><input type="checkbox" name="keywords[]" value="test2" /> test2</label></p>
<p><label><input type="checkbox" name="keywords[]" value="test3" /> test3</label></p>
<p><input type="submit"></p>
</form>

Lenke til kommentar

Hei, setter stor pris på at du forsøker å hjelpe meg med dette. Har erstattet det som du sa og får fortsatt 'Array' som verdi inn i dataasen. Er sikkert feil et helt annet sted så legger ved hele upload.php og håper at du har tid til å hjelpe litt mer.

 

Link til siden jeg holder på med kan du få på PM hvis du vil

 

Noeinstein

upload.zip

Lenke til kommentar
Hei, setter stor pris på at du forsøker å hjelpe meg med dette. Har erstattet det som du sa og får fortsatt 'Array' som verdi inn i dataasen. Er sikkert feil et helt annet sted så legger ved hele upload.php og håper at du har tid til å hjelpe litt mer.

 

Link til siden jeg holder på med kan du få på PM hvis du vil

 

Noeinstein

Beklager, for mye kode. Eg kan gi hint på kordan du skal løse et problem. Men ikke lage/fikse en hel applikasjon/webside.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...