Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2011, 10:22
pansho
 
Fecha de Ingreso: septiembre-2003
Ubicación: Hondarribia
Mensajes: 32
Antigüedad: 20 años, 7 meses
Puntos: 0
Panel de administración y elseif

Hola a todos,
partiendo de la base de que no tengo mucha idea de PHP, y cogiendo cositas de un lado y de otro, he conseguido fusionar un Panel de Administracion de una herramienta de newsletter.

El caso es que me ge quedado estancado ya casi al final. A ver si consigo explicar lo que realmente quiero.

Tengo este código:
Código PHP:
<?
if ($_SESSION['lin']) {
  
// we are logged in.
  
function writemenu($item) {
    
$items = array(
    
'email' => 'enviar email'
    
'archive' => 'archivo de emails',
    
'newsub' => 'anadir suscriptores'
    
'list' => 'lista de suscriptores',
    
'presupuesto' => 'Platos presupuesto'
    
'carta' => 'Platos carta'
    
'logout' => 'desconectarse'
    
);
    foreach (
$items as $a => $b) {
      if (isset(
$str)) $str .= ' &middot; ';else $str '';
      
$str .= ($a == $item)?'<b>':'<a href="admin.php?do='.$a.'&'.strip_tags(SID).'">';
      
$str .= $b;
      
$str .= ($a == $item)?'</b>':'</a>';
    }
    return 
$str;
  }
?>
<div style="font-size: 14pt;" align="center">Panel de control </div>
<div align="center"><?=writemenu($_GET['do'])?> &middot <a href="JavaScript:phelp('<?=$_GET['do']?>')">help</a></div>
<hr width="300" size="1" noshade color="#cdcdcd">
<p>
<?
  
  
if ($_GET['do'] == 'email') {
    
// ---------------------------- EMAIL SUBSCRIBERS
    
require('admin_email.inc.php');
  }
  elseif (
$_GET['do'] == 'archive') {
    
// ---------------------------- EMAIL ARCHIVE
    
require('admin_archive.inc.php');
  }
  elseif (
$_GET['do'] == 'list') {
    
// ---------------------------- LIST SUBSCRIBERS
    
require('admin_list.inc.php');
  }
  elseif (
$_GET['do'] == 'newsub') {
    
// ---------------------------- ADD SUBSCRIBERS
    
require('admin_newsub.inc.php');
    
      }
  elseif (
$_GET['do'] == 'presupuesto') {
    
// ---------------------------- PRESUPUESTO
    
require('presupuesto.php' );

       }

  elseif (
$_GET['do'] == 'carta') {
    
// ---------------------------- CARTA
    
require('carta.php');
  }
  else {
    
// ---------------------------- DISPLAY MENU
    

    
?>
Hasta ahí todo correcto. El problema llega cuando quiero añadirle que en "presupuesto.php" y en "carta.php" cuando pinche en borrar alguno de los platos de la carta se ejecute esa sentencia dentro del panel de administración.

Lo que me está ocurriendo ahora es que al intentar borrar alguno de los items el enlace es "http://xxxx.com/control/presupuesto.php?delete=11" cuando lo que yo necesitaría realmente es "http://xxxx.com/control/admin.php?do=presupuesto?delete=11"

El código de borrar items en "presupuesto.php" y "carta.php" es el siguiente:

Código PHP:
<?php


if(is_numeric($_GET['delete'])){
    if(
$mysqli->query("DELETE FROM items WHERE id=$_GET[delete]"))
        echo 
'<b style="color:green">Item deleted successfully</b><br/>';
    else
        echo 
'<b style="color:red">There was an error.</b><br/>';
}

$items=$mysqli->query($select_sql);
while(
$item=$items->fetch_object()){
    if(
$item->type!=$type)
        
$out[]='<br/><b>'.$item->type.'</b>';
    
$type=$item->type;
    
$out[]='<a href="presupuesto.php?delete='.$item->id.'">[X]</a> '.$item->item.' - $'.$item->price;
}
echo 
implode("\n<br/>\n"$out);
?>
Muchas gracias!!