Bueno, para resolver el problema de que se muestren todos al principio, con CSS puedes aplicar opciones de visualizacion inicial a cada cosa, flotar, ocultar, etc.
Si quieres hacerlo directamente con PHP sera recargando toda la pagina y lo unico que necesitarias es validar el tab actual:
Código PHP:
Ver original// Asignas desde GET o con valor por default
$tab = (isset($_GET['tab'])) ?
$_GET['tab'] : 0;
// Verificas que realmente existe el tab
if( ! isset($tabs[$tab])) { $tab = 0;
}
// Ya cuando vayas a mostrar el contenido:
if($tab == 0) {
// Contenido del primer tab (cero)
} else if($tab == 1) {
// Contenido de otro tab
} else if($tab == 10) {
// Contenido de otro tab
}