se trata de un administrador de contenidos , el problema se me presenta en el siguiente archivo, donde al presionar guardar no logro que me tome la variable chicas
desde ya agradezco mucho la colaboracion
page_pictures.php
Código:
el archivo que guarda es save_pictures.php<?php require dirname(__FILE__).'/includes/functions.php'; $folder = $_GET["folder"]; $name = $_GET["name"]; //this var is used in header.php //used in the javascript for dragging the <li> tags $list = "pic"; require dirname(__FILE__).'/includes/header.php'; // get categorias/menu.xml file $p =& new xmlParser(); $p->parse('../' . $folder . '/fotos.xml'); $pictures = isset($p->output[0]['child']) ? $p->output[0]['child'] : array(); ?> <h1>Pictures for <?php echo $name; ?> gallery</h1> <hr /> <br> <form name="form_save" action="save_pictures.php" method="post" onsubmit="return save_pics('pic_list');"> <input type="hidden" name="folder" value="<?php echo $folder; ?>"> <input type="hidden" name="gallery" value="<?php echo $name; ?>"> <input type="hidden" name="pic_names" value=""> <input type="hidden" name="pic_chicas" value=""> <input type="hidden" name="pic_descs" value=""> <input type="hidden" name="pic_deletes" value=""> <p><input type="submit" value="Save Changes/Delete Selected"/></p> <ul id="pic_list" class="sortable boxy"> <?php print_pictures($pictures, $folder); ?> </ul> <p><input type="submit" value="Save Changes/Delete Selected"/></p> </form> <script language="JavaScript" type="text/javascript"><!-- <?php print_pic_vars($pictures); ?> //--> </script> <?php require dirname(__FILE__).'/includes/footer.php'; function print_pictures($pics, $folder){ $pics_html = ""; $count = 0; $template = '<li id="pic_%NUM%"> <div class="handle2"></div> <table class="text"> <tr> <td valign="middle" class="pic_box"><img src="../../%CHICA%" border="0"></td> <td class="pic_content" valign="top"> <span class="pic_name">%NAME%</span><input type="checkbox" name="delete_%NUM%">delete<br> <textarea name="desc_%NUM%" class="pic_desc" onBlur="this.className=\'pic_desc\'" onFocus="this.className=\'pic_desc_on\'">%DESC%</textarea> </td> </tr> </table> </li>'; //array of vars used in template $pic_vars = array("%NUM%", "%NAME%","%CHICA%", "%FOLDER%", "%DESC%"); foreach ($pics as $pic){ //array of replacement values for template $pic_values = array($count+1, $pics[$count]['attrs']['LOCATION'], $pics[$count]['attrs']['CHICA'], $folder , $pics[$count]['attrs']['DESC']); $pics_html .= str_replace($pic_vars, $pic_values, $template); ++$count; } echo $pics_html; } function print_pic_vars($pics){ $count = 1; foreach ($pics as $pic){ echo("var pic_$count = \"" . $pic['attrs']['LOCATION'] . "\";\r\n"); //echo("var pic_chicas_$count = \"" . $pic['attrs']['CHICA'] . "\";\r\n"); //var folder_3 = "balh"; ++$count; } } ?>
Código:
<?php //check user require dirname(__FILE__).'/includes/check_user.php'; require dirname(__FILE__).'/includes/functions.php'; //get the post variables $deletes = explode(",",$_POST['pic_deletes']); $names = explode(",",$_POST['pic_names']); $chicas = explode(",",$_POST['pic_chicas']); $descs = explode("<break>",$_POST['pic_descs']); $folder = $_POST['folder']; $gallery = $_POST['gallery']; // -------delete any pictures that need it------- if($deletes[0] != ""){ foreach($deletes as $delete){ //get the server path to the picture to delete $pic = realpath("../" . $folder. "/" . $delete); $pic_thumb = realpath("../" . $folder. "/thumbs/" . $delete); //delete picture and its thumbnail if(file_exists($pic)){ unlink($pic); } if(file_exists($pic_thumb)){ unlink($pic_thumb); } } } // ------ save new fotos.xml ------- $filename = realpath("../" . $folder . "/fotos.xml"); //make xml for new fotos.xml $xml = "<pictures>\n"; if($names[0] != ""){ foreach($names as $key => $value){ $xml .= "\t<image location=\"". $value . "\" chica=\"". $chicas[$key]. "\" desc=\"" . stripslashes($descs[$key]) . "\" />\n"; } } $xml .= "</pictures>"; // make sure fotos.xml exists and is writable if (is_writable($filename)) { //open the file if (!$handle = fopen($filename, 'wb')) { error("Cannot open file"); exit; } // writing new xml if (fwrite($handle, $xml) === FALSE) { error("Cannot write to file"); exit; } fclose($handle); } else { error("fotos.xml does not seem to be writable. Check that you have changed its CHMOD settings to 777."); } //go back to picture admin for this gallery header("Location:page_pictures.php?name=$gallery&folder=$folder"); ?>