Foros del Web » Programando para Internet » PHP »

error backup/restaurar bd Mysql

Estas en el tema de error backup/restaurar bd Mysql en el foro de PHP en Foros del Web. buenas mundo de Foros Del Web tengo un problema con un sistema de backup y restore de base de datos mysql en PHP usando un ...
  #1 (permalink)  
Antiguo 15/02/2016, 18:04
 
Fecha de Ingreso: agosto-2015
Ubicación: El Salvador
Mensajes: 17
Antigüedad: 9 años, 3 meses
Puntos: 0
Exclamación error backup/restaurar bd Mysql

buenas mundo de Foros Del Web tengo un problema con un sistema de backup y restore de base de datos mysql en PHP usando un formulario veran el siguiente codigo php es el siguiente:

Código PHP:
if(isset($_POST['username']) && isset($_POST['password']) && isset($_POST['databasename'])) {
        
$username trim($_POST['username']);
        
$password trim($_POST['password']);
        
$databasename trim($_POST['databasename']);
        
$backupRestore $_POST['backupRestore'];
 
        if (
$backupRestore == 'backup'){        
            
$data $_POST['data'];
            
$now str_replace(":"""date("Y-m-d H:i:s"));
            
$outputfilename $databasename '-' $now '.sql';
            
$outputfilename str_replace(" ""-"$outputfilename);
 
            
//Dump the MySQL database
            
if ($data == "wd"){
                
//With data
                
exec('mysqldump -u '$username .' -p'$password .' '$databasename .' > '$outputfilename);
            }
            else{
                
//Without data
                
exec('mysqldump --no-data  -u '$username .' -p'$password .' '$databasename .' > '$outputfilename);
            }   
 
            
//Download the database file
            
header('Content-Description: File Transfer');
            
header('Content-Type: application/octet-stream');
            
header('Content-Disposition: attachment; filename='.basename($outputfilename));
            
header('Content-Transfer-Encoding: binary');
            
header('Expires: 0');
            
header('Cache-Control: must-revalidate');
            
header('Pragma: public');
            
header('Content-Length: ' filesize($outputfilename));
            
ob_clean();
            
flush();
            
readfile($outputfilename);
         
            
//After download remove the file from server
            
exec('rm ' $outputfilename);  
 
        }
        else{
//Restore the database
 
            
$target_path getcwd();
            
$databasefilename $_FILES["databasefile"]["name"];
 
            
//Upload the database file to current working directory
            
move_uploaded_file($_FILES["databasefile"]["tmp_name"], $target_path '/' $databasefilename);
 
            
//Restore the database          
            
exec('mysql -u '$username .' -p'$password .' '$databasename .' < '$databasefilename);
             
            
//Remove the file from server
            
exec('rm ' $databasefilename);
        }
    } 
y el form es el siguiente:
Código PHP:
<form action="" method="POST" class="form-horizontal" onsubmit="return checkParameters();" autocomplete="off">
                       
                        
                   


                             
     <
div class="form-group">
         <
label for="inputEmail"class="col-xs-12 col-sm-3 col-md-3 col-lg-3 control-label">Usuario:</label>
         <
div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
             <
input type="name" name="username" id="username" class="form-control" placeholder="" value="root">
         </
div>
     </
div>
     <
div class="form-group">
         <
label for="inputEmail"class="col-xs-12 col-sm-3 col-md-3 col-lg-3 control-label">Contraseña:</label>
         <
div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
             <
input type="password" name="password" id="password" class="form-control" value="root" readonly="true">
         </
div>
     </
div>
     <
div class="form-group">
         <
label for="inputEmail"class="col-xs-12 col-sm-3 col-md-3 col-lg-3 control-label">Base De Datos:</label>
         <
div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
             <
input type="name" id="databasename" name="databasename" class="form-control" value="db_sicopa_desa" readonly="true">
         </
div>
     </
div>

    <
div class="form-group">
         <
label for="inputEmail" class="col-xs-12 col-sm-3 col-md-3 col-lg-3 control-label">Controles :</label>
         <
div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
            <
div class="radio">
  <
label>
    <
input type="radio" name="backupRestore" id="backup" value="backup" checked="true" onclick="showHide(this.id);">
    
Backup
  
</label>
</
div>

<
div class="radio">
  <
label>
    <
input type="radio" name="backupRestore" id="restore" value="restore" onclick="showHide(this.id);">
    
Restaurar
  
</label>
</
div>
         </
div>
     </
div>


     <
div class="form-group">
         <
label for="inputEmail" class="col-xs-12 col-sm-3 col-md-3 col-lg-3 control-label">Controles Datos BD :</label>
         <
div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
            <
div class="radio">
  <
label>
    <
input type="radio" name="data" value="wd" checked="true" >
    
BD Con Informacion
  
</label>
</
div>

<
div class="radio">
  <
label>
    <
input type="radio" name="data" value="wod" >
    
BD Vacio
  
</label>
</
div>
         </
div>
     </
div>
     



     <
div class="form-group">
     <
center>
         <
div class="col-xs-12 col-sm-2 col-sm-offset-3">
             <
input type="submit" class="btn btn-primary" value="Procesar">
         </
div>

         <
div class="col-xs-12 col-sm-2 col-sm-offset-1">
             <
input type="file" name="databasefile" class="restoreFile">
         </
div>

         </
center>
     </
div>
                    </
form



despues de haber mostrado mi codigo tengo dos errores el primer error es que al hacer un backup me hace un backup vacio

y el segundo error es que al restaurar un archivo me muestra el siguiente error:

Notice: Undefined index: databasefile in C:\wamp\www\sicopa\user\v_Bd.php on line 63

Notice: Undefined index: databasefile in C:\wamp\www\sicopa\user\v_Bd.php on line 66

y ese error sucede en estas lineas :

linea 63:
Código PHP:
$databasefilename $_FILES["databasefile"]["name"]; 
linea 66:
Código PHP:
move_uploaded_file($_FILES["databasefile"]["tmp_name"], $target_path '/' $databasefilename); 
espero me puedan ayudar porque no soy experto en la parte de backup y restore de bd en PHP bendiciones a todos
  #2 (permalink)  
Antiguo 16/02/2016, 00:44
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 10 meses
Puntos: 3
Respuesta: error backup/restaurar bd Mysql

La variable databasefile no ha sido definida, el error lo dice,

Saludos.

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:59.