Help me (codice PhP)

sub_zero

Nuovo Utente
25 Mar 2013
2
0
0
Ciao ragazzi, scusate la domanda banale, ma su un sito internet che ho fatto è stata apportata una modifica al file function.php che adesso non funziona più e il sito è praticamente offline. Ci ho guardato per un po' ma non riesco a vedere l'errore! Devo anche dire che sono praticamente un neofita del php e magari un utente serio mi risolve il problema in 10 secondi. Vi allego il codice della funzione

PHP:
<?php

$artThemeSettings = array(
	'menu.showSubmenus' => true,
	'menu.homeCaption' => "Home",
	'menu.showHome' => true,
	'menu.topItemBegin' => "<span class=\"l\"></span><span class=\"r\"></span><span class=\"t\">",
	'menu.topItemEnd' => "</span>"
);

load_theme_textdomain('kubrick');

$themename = "Tema Black and Blue 2";
$shortname = "artisteer";
$default_footer_content = "<a href='#'>Contact Us</a> | <a href='#'>Terms of Use</a> | <a href='#'>Trademarks</a> | <a href='#'>Privacy Statement</a><br />Copyright © 2009 ".get_bloginfo('name').". All Rights Reserved.";
$options = array (
                array(  "name" => "HTML",
                        "desc" => sprintf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), 'a, abbr, acronym, em, b, i, strike, strong, span'),
                        "id" => "art_footer_content",
                        "std" => $default_footer_content,
                        "type" => "textarea")
          );
       
	
function art_update_option($key, $value){
	update_option($key, (get_magic_quotes_gpc()) ? stripslashes($value) : $value);
}

function art_add_admin() {



    global $themename, $shortname, $options;

    if ( $_GET['page'] == basename(__FILE__) ) {
   
        if ('save' == $_REQUEST['action'] ) {

                foreach ($options as $value) {
                    if($value['type'] != 'multicheck'){
                        art_update_option( $value['id'], $_REQUEST[ $value['id'] ] );
                    }else{
                        foreach($value['options'] as $mc_key => $mc_value){
                            $up_opt = $value['id'].'_'.$mc_key;
                            art_update_option($up_opt, $_REQUEST[$up_opt] );
                        }
                    }
                }
                foreach ($options as $value) {
                    if($value['type'] != 'multicheck'){
                        if( isset( $_REQUEST[ $value['id'] ] ) ) { art_update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); } else { delete_option( $value['id'] ); }
                    }else{
                        foreach($value['options'] as $mc_key => $mc_value){
                            $up_opt = $value['id'].'_'.$mc_key;
                            if( isset( $_REQUEST[ $up_opt ] ) ) { art_update_option( $up_opt, $_REQUEST[ $up_opt ]  ); } else { delete_option( $up_opt ); }
                        }
                    }
                }
                header("Location: themes.php?page=functions.php&saved=true");
                die;
        } 
    }

    add_theme_page("Footer", "Footer", 'edit_themes', basename(__FILE__), 'art_admin');

}

function art_admin() {

    global $themename, $shortname, $options;
	
    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; ?> {
		<div class="wrap">
		<h2>Footer</h2>

		<form method="post">

		<table class="optiontable" style="width:100%;">

		<?php foreach ($options as $value) {
   
			switch ( $value['type'] ) {
			case 'text':
			option_wrapper_header($value);?>
            <input style="width:100%;" name="<?php echo $value['id']; ?>" 
			  id="<?php echo $value['id']; ?>" 
			  type="<?php echo $value['type']; ?>" 
			  value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" />
        
			<?php option_wrapper_footer($value);
            break;
       
			case 'select':
			option_wrapper_header($value);
			?>
			<select style="width:70%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
				<?php foreach ($value['options'] as $option) { ?>
				<option <?php if ( get_settings( $value['id'] ) == $option) 
				{ echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?> > 
				<?php echo $option; ?> </option>
				<?php } ?>
			</select>
			<?php
				option_wrapper_footer($value);
				break;
		   
				case 'textarea':
				$ta_options = $value['options'];
				option_wrapper_header($value);
			?>
            <textarea name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" style="width:100%;height:100px;">
				<?php
				if( get_settings($value['id']) !== false) {
					echo get_settings($value['id']);
				}else{
					echo $value['std'];
				}?>
			}
		}?>
	}
}		
?>

L'errore che riporta la pagina quando si apre è "Parse error: syntax error, unexpected $end in /web/htdocs/www.blackandbluepisa.it/home/wp-content/themes/Tema_Black_and_Blue_2/functions.php on line 116 " . Sicuramente è un errore banale di qualche mancanza di chiusura o altro, ma veramente non riesco a trovarlo. Vi prego di aiutarmi perchè il sito è molto importante. Grazie infinite per chi vorrà darmi una mano.

Daniele
 
Ultima modifica di un moderatore:
Anche controllando su Internet sui siti di check syntax del PhP l'errore dovrebbe essere su quest'ultima funzione... ma non riesco a vederlo! :confused::confused:

PHP:
function art_admin() {

    global $themename, $shortname, $options;
	
    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; ?> {
		<div class="wrap">
		<h2>Footer</h2>

		<form method="post">

		<table class="optiontable" style="width:100%;">

		<?php foreach ($options as $value) {
   
			switch ( $value['type'] ) {
			case 'text':
			option_wrapper_header($value);?>
            <input style="width:100%;" name="<?php echo $value['id']; ?>" 
			  id="<?php echo $value['id']; ?>" 
			  type="<?php echo $value['type']; ?>" 
			  value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" />
        
			<?php option_wrapper_footer($value);
            break;
       
			case 'select':
			option_wrapper_header($value);
			?>
			<select style="width:70%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
				<?php foreach ($value['options'] as $option) { ?>
				<option <?php if ( get_settings( $value['id'] ) == $option) 
				{ echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?> > 
				<?php echo $option; ?> </option>
				<?php } ?>
			</select>
			<?php
				option_wrapper_footer($value);
				break;
		   
				case 'textarea':
				$ta_options = $value['options'];
				option_wrapper_header($value);
			?>
            <textarea name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" style="width:100%;height:100px;">
				<?php
				if( get_settings($value['id']) !== false) {
					echo get_settings($value['id']);
				}else{
					echo $value['std'];
				}?>
			}
		}?>
	}
}
 
Ultima modifica di un moderatore:
Anche controllando su Internet sui siti di check syntax del PhP l'errore dovrebbe essere su quest'ultima funzione... ma non riesco a vederlo! :confused::confused:

Codice:
function art_admin() {

    global $themename, $shortname, $options;
	
    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; ?> {
		<div class="wrap">
		<h2>Footer</h2>

		<form method="post">

		<table class="optiontable" style="width:100%;">

		<?php foreach ($options as $value) {
   
			switch ( $value['type'] ) {
			case 'text':
			option_wrapper_header($value);?>
            <input style="width:100%;" name="<?php echo $value['id']; ?>" 
			  id="<?php echo $value['id']; ?>" 
			  type="<?php echo $value['type']; ?>" 
			  value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" />
        
			<?php option_wrapper_footer($value);
            break;
       
			case 'select':
			option_wrapper_header($value);
			?>
			<select style="width:70%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
				<?php foreach ($value['options'] as $option) { ?>
				<option <?php if ( get_settings( $value['id'] ) == $option) 
				{ echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?> > 
				<?php echo $option; ?> </option>
				<?php } ?>
			</select>
			<?php
				option_wrapper_footer($value);
				break;
		   
				case 'textarea':
				$ta_options = $value['options'];
				option_wrapper_header($value);
			?>
            <textarea name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" style="width:100%;height:100px;">
				<?php
				if( get_settings($value['id']) !== false) {
					echo get_settings($value['id']);
				}else{
					echo $value['std'];
				}?>
			}
		}?>
	}
}

nelle ultime tre righe chiudi con ?> un tag php mai aperto...
Prova cosi.
P.S. ti consiglio di scrivere codice più ordinato in futuro ;)
 

Discussioni simili