Форма препращаща към различни скриптове...

sizif

Registered
Здравейте!

Заглавието на темата със сигурност не е най точното. Проблемът:

Имам форма с чекбокс и файл, който я обработва и извършва действие.
Как да направя така, че информацията от формата да може да се изпраща към различен обработващ файл в зависимост от натиснатия бутон. По конкретно имам 4 файла с код, извършващи четири вида автономни действия: един за триене, един за преместване, един за пренареждане и един за смяна на име като и четирите трябва да използват същия чекбокс.

(докато пишех кода за отделните скриптове използвах четири отделни форми с една и съща информация, но иначе не е практично)

Как да направя така, че със същата форма да мога да извършвам и 4-те действия? Т.е. освен бутон "субмит" да имам още три, всеки от който адресира формата към различен скрипт?

Моля, помогнете!

Благодаря предварително!
 
дали съм разбрал правилно
$chekboz=$_POST['value'];
ако да речем връща triene
с switch обработваш данните
switch ($chekbox){
case triene : код за триене ;break;
case premestvane : kод за пеместване ;break;
default: некав друг код ;
}
 
Здравей, mute!

Не, проблемът не е в обработката на чекбокса, а и не чрез неговите стойности се определя дали се трие или прави друго, всъщност, най-добре да пусна кода и после да обяснявам :)

<HTML>
<HEAD>
<style type="text/css">
div.m{width:169px;height:169px;float:left;margin: 5px 5px 0px 5px; text-align: center; border:solid 1px red}
div.chek{width:169px;height:19px;float:left;margin: 5px 5px 0px 5px; text-align: center; border:solid 1px red}
div.sreden{width:179px;height:199px;float:left;margin: 10px 5px 0px 5px; text-align: center; border:solid 1px red}
div.big{width:700px;height:100%;float:left;border:solid 1px blu}
#ids{display:inline; vertical-align:middle}
</style>
</HEAD>
</BODY>

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="del.php" NAME="form1">
<DIV class="big">

<?
$dir=$HTTP_GET_VARS["dir"];

$user="***";
$password="***";
$database="***";
mysql_connect("***",$user,$password) or die ("Nqma wryzka sys syrwyra");
@mysql_select_db($database) or die( "Unable to select database");
$chars="SET CHARACTER SET cp1251";mysql_query($chars);


$query="SELECT * FROM picture WHERE img_dir='$dir'";
$result=mysql_query($query)
or die ("Zaqwkata ne mozhe da se izpylni!");

$broi=mysql_num_rows($result);

$page=1;

while ($row = mysql_fetch_array($result))
{
$id=$row["id"];
$img_name=$row["img_name"];
$thumb_name=$dir."/thumbs/thumb_".$img_name;

$pic= "<div class=\"m\"><TABLE CELLSPACING=0 BORDER=0 CELLPADDING=0 WIDTH=100% HEIGHT=100%><TR><TD ALIGN='CENTER' VALIGN='MIDDLE'><A HREF='frame.php?dir=$dir&page=$page'><IMG SRC='$thumb_name' border=0></A></TD></TR></TABLE></div>";
$chek="<div class=\"chek\"><INPUT TYPE='checkbox' NAME='files[]' VALUE='$id'></DIV>";

echo "<div class=\"sreden\">$pic $chek</DIV>";

$page++;
}

echo "<INPUT TYPE='hidden' NAME='dir' VALUE='$dir'>";

mysql_close();
?>
</DIV>
<INPUT TYPE="submit" NAME="send" VALUE="Изтрий!">
</FORM>
</BODY>
</HTML>


Във формата се листват снимки като за всяка има съответния чекбокс, чиято стойност е нейното ид в БД. Дотук нищо сложно - изпраща масив, който (в случая) обработвам със скрипта на del.php - скрипта, както и другите скриптовете, които касаят обработката на формата работят.

Проблемът е, че искам същата тази форма да изпраща същата тази информация за същите тези графични файлове и към още три скрипта освен изтриващия.
В момента всеки от тези скриптове е на отделен файл, но не е проблем да ги инкорпорирам в един.
Въпросът е как да вкарам в тази форма освен основния бутон "субмит" (препращащ към скрипта за триене) още три бутона: "ПРЕМЕСТИ" (за преместване на снимката към друга галерия), "ПРЕИМЕНУВАЙ" (... снимката), "ПРЕНАРЕДИ", така че при натискането на даден бутон, резултата от формата да се препраща, ако не към отделен файл, в който е съответният скрипт за действието, то поне към конкретен блок от скрипта...

Виждал съм такива форми с множество бутони за различни действия, но те използват Джаваскрипт :( Интересува ме дали няма някакъв начин да се реши проблема по просто...

Още веднъж: Благодаря за всякакви идеи!

ПП: май си ми дал отговора, но го схванах едва сега... Само дано да препраща информацията... Иначе е идея!

ППП: За name имаш предвид името на съответния бутон, а не на чекбокса, нали?
 
доколкото разбрах искаш формата да има 4 бутона изпрати като всеки да изпраща към различен файл
пробвай да сложиш 4 бутона всеки с различно име
<input type="submit" name="dell" />
<input type="submit" name="rename" />
<input type="submit" name="drug" />
незнам дали е възможно това ;)
след което
при формата проверяваш кой бутон е натиснат
if(!isset($_POST['dell']){..........}
else if(!isset($_POST['rename'])){....}
дано съм разбрал ;)
 
Здравей!

Да, нещо такова ми трябва. И аз все още не знам дали е възможно, но тази вечер ще опитвам, защото снощи трябваше да изчистя от кода създаването ан директории и прехвърлянето на множеството вече ненужни променливи, които определяха пътя до снимката...

Все още пазя онзи мъчен джаваскрипт от хит.бг (пусках го тук като проблем в няколко теми), който е с много бутони, разглеждах го, а и се рових за други...

Някои форми, които видях използват като допълнителни субмит-бутони, тип на полето "Бутон":

<input type="BUTTON" name="dell" />

Обикновено към това има и някакъв селектиращ джаваскрипт... Незнам дали без него би се получило, но отделих един, който даже препраща към друга страница. Дали обаче изпраща и стойността на променливите все още не съм проверил...

Ще пробвам, както предлагаш, дано прорботи... :?:

Благодаря ти за вниманието към темата!
 

Back
Горе