Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 6 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Vie Ene 26, 2018 1:41 am
Mensajes: 7

Nota Publicado: Sab Ene 27, 2018 10:03 am 
Arriba  
Hola amigos,

Como podria converti, este codigo de php5 a php7, resulta que actualice y me lleve en el saco toda la aplicacion :(

Código:
<?php

include_once("./config/config.php");


function connect_to_users_db() {
   global $C_USERS_DBHOST,$C_USERS_DB, $C_USERS_DBUSER, $C_USERS_DBPASS,$lang;
   $link = mysql_connect($C_USERS_DBHOST, $C_USERS_DBUSER, $C_USERS_DBPASS)
      or
      die($lang['cf']['noconnect']." $C_USERS_DBHOST, $C_USERS_DBUSER , $C_USERS_DBPASS ". mysql_error());
   
   if (!mysql_select_db($C_USERS_DB)) {
      // couldn't connect
      echo $lang['cf']['noselect']." ($C_USERS_DB)";
   }
   return $link;
}

function mydie($string)
{
   echo "<p class='error'> $string </p>";
   exit();
}

function send_confirmation_email($email,$token) {
   global $C_web_master,$C_web_master_EMAIL,$lang;
   $base = dirname($_SERVER["PHP_SELF"]);
   $WiFiAdmin_BASE_URL =  "http://".$_SERVER["SERVER_NAME"].$base."/";
   return mail($email,
   $lang['cf']['msg'],
   $lang['cf']['msg2']. $WiFiAdmin_BASE_URL."confirm_account.php?token=".base64_encode($token).$lang['cf']['tx'].$C_web_master,
    "From: $C_web_master <$C_web_master_EMAIL>\n");   
}

function echo_user_add_form(){
   global $lang;
   ?>
   <h2><?php echo $lang['useredit']['regnewusr']?></h2>
   <form name="register" onSubmit="submitonce(this)" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
   <table class="t1" align="center">
      <tr><td><?php echo $lang['useredit']['uname'] ?></td><td><input type="text" name="username"></td></tr>
      <tr><td><?php echo $lang['useredit']['pass'] ?></td><td><input type="password" name="password"></td></tr>
      <tr><td><?php echo $lang['useredit']['repass'] ?></td><td><input type="password" name="retype"></td></tr>
      <tr><td><?php echo $lang['useredit']['mail'] ?></td><td><input type="text" name="email"></td></tr>
      <tr><td><?php echo $lang['useredit']['macaddr'] ?></td><td><input type="text" name="mac"></td></tr>
      <tr><td><?php echo $lang['useredit']['ipaddr'] ?></td><td><input type="text" name="ip"></td></tr>
      <tr><td><?php echo $lang['useredit']['subnet'] ?></td><td><input type="text" name="subnet"></td></tr>
      <tr><td><?php echo $lang['useredit']['fname'] ?></td><td><input type="text" name="firstname"></td></tr>
      <tr><td><?php echo $lang['useredit']['lname'] ?></td><td><input type="text" name="lastname"></td></tr>
      <tr><td><?php echo $lang['useredit']['phone1'] ?></td><td><input type="text" name="phone1"></td></tr>
      <tr><td><?php echo $lang['useredit']['phone2'] ?></td><td><input type="text" name="phone2"></td></tr>
      <tr><td><?php echo $lang['useredit']['ant'] ?></td><td><input type="text" name="antenna"></td></tr>
      <tr><td><?php echo $lang['useredit']['windid'] ?></td><td><input type="text" name="nodedb_id"></td></tr>
      <tr><td valign="top"><?php echo $lang['useredit']['services'] ?></td><td><textarea rows="5" cols="25" name="services"></textarea></td></tr>
      <tr><td><?php echo $lang['useredit']['comment'] ?></td><td><input type="text" name="comment"></td></tr>
      <tr><td colspan="2" class="error"><?php echo $lang['general']['mandatory'] ?></td>
   </table>
   <input type="hidden" name="action" value="add_user">
   <div align="center"><input type="submit" value="<?php echo $lang['useredit']['submituser']?>"></div>
   </form>
<br \>
<br \>
   
   <?php
}

function add_user( $user_info, $send_confirmation_email){
   global $C_USERS_DB,$lang;
   //form completion errors
   $errors = "";
   if(empty($user_info['username']))
      $errors = error_echo($lang['useredit']['enouser']);
   if(empty($user_info['password']))
      $errors .= error_echo($lang['useredit']['enopass']);
   if($user_info['password']!=$user_info['retype'])
      $errors .= error_echo($lang['useredit']['enopassmatch']);
   if(empty($user_info['email']))
      $errors .= error_echo($lang['useredit']['enoemail']);
   if(empty($user_info['mac']) || !isset($user_info['ip']))
      $errors .= error_echo($lang['useredit']['enomac']);

   if(strlen($errors))      //if there are user errors, print and die
      mydie($errors);

   //database errors
   connect_to_users_db();

   foreach($user_info as $key=>$var)
   {
      $user_info[$key]=mysql_escape_string($var);
      if(!isset($user_info[$key]))
         $user_info[$key]="";
   }

   $sql = "SELECT username FROM $C_USERS_DB.user WHERE username = '".$user_info['username']."'";
   $user = mysql_query($sql) or
      mydie($lang['dict']['error']." ". mysql_error() );
   if(mysql_fetch_array($user))
      mydie($lang['cf']['eusernameexist']);

   $sql = "SELECT email FROM $C_USERS_DB.user WHERE email = '".$user_info['email']."'";
   $email = mysql_query($sql) or
      mydie($lang['dict']['error']." ". mysql_error());
   if(mysql_fetch_array($email))
      mydie($lang['cf']['eemailexist']);

////Insert DATA into user database!
    $insert =   "INSERT INTO $C_USERS_DB.user
   (username,password,email,mac,ip,owns_subnet,services,phone1,phone2,antenna,nodedb_id,comment,firstname,lastname,password_string)
     VALUES ('" .$user_info['username']. "', '" .md5($user_info['password']). "', '" .$user_info['email']. "',
     '" .$user_info['mac']. "', '" .$user_info['ip']. "','" .$user_info['subnet']. "', '" .$user_info['services'].
     "', '" .$user_info['phone1']. "', '" .$user_info['phone2']. "', '" .$user_info['antenna']."', '" .$user_info['nodedb_id']."', '"
     .$user_info['comment']. "', '" .$user_info['firstname']."', '" .$user_info['lastname']."', '".$user_info['password']."')";

   $privilege = "INSERT INTO $C_USERS_DB.privileges
   (username,view_status,view_status_ext,view_macs,ban_users,access_ifs,edit_users, edit_privileges  )
   VALUES ('".$user_info['username']."','true','false','false','false','false','false','false')";

    mysql_query($insert)
        or mydie($lang['cf']['eusrreg']." ". mysql_error());

     mysql_query($privilege)
        or mydie($lang['cf']['eusrreg2']." ". mysql_error());
   
   
   if ($send_confirmation_email){
      send_confirmation($user_info['username']);
   }
   else{
      $token = time() . "::".$user_info["username"];
      $sql = "INSERT INTO user_tokens (username,status,token) VALUES ('".$user_info['username']."','enabled','".mysql_escape_string($token)."')";
      mysql_query($sql) or mydie("Error in query: $sql - ".mysql_error());
      echo "<p>".$lang['cf']['success']."</p>";
   }
}

function send_confirmation($username) {
   global $lang;

   $sql = "SELECT email FROM user WHERE username = '".$username."'";
   $user = mysql_query($sql) or mydie($lang['dict']['error']." ". mysql_error() );
   if(! $row = mysql_fetch_array($user))
      mydie($lang['cf']['eusernamebexist']);
   $email = $row[0];
   
   $token = time() . "::".$username;
   $sql = "SELECT * FROM user_tokens WHERE username='".$username."'";
   $result = mysql_query($sql) or mydie("Error in query: $sql - ".mysql_error());
   if(mysql_fetch_array($result))
      $sql = "UPDATE user_tokens SET token='".mysql_escape_string($token)."',status='unconfirmed' WHERE username='".$username."'";
   else
      $sql = "INSERT INTO user_tokens (username,status,token) VALUES ('".$username."','unconfirmed','".mysql_escape_string($token)."')";
   mysql_query($sql) or mydie("Error in query: $sql - ".mysql_error());

   if (!send_confirmation_email($email,$token))
      mydie($lang['fpass']['error']);
   else
      echo ("<p>".$lang['cf']['confirm']."</p>");
}


?>

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1790

Nota Publicado: Sab Ene 27, 2018 5:51 pm 
Arriba  
Ese código es un caos. Hay html mezclado con funciones php, las claves de la base de datos, en lugar de estar en un archivo aparte al que se llama con include (en realidad una función de conexión, ya que no estás usando clases), están como variables globales...

Aparentemente es un formulario de registro. No es tan largo ni tan complejo hacerlo de nuevo, bien hecho.

En cualquier caso: ¿cuál es el error que te da el sistema? A lo mejor puedes arreglar sólo esa parte, por ahora. Pero tarde o temprano a ese código hay que reescribirlo.

 Perfil  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Jue Abr 19, 2007 7:00 am
Mensajes: 1518
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Sab Ene 27, 2018 9:30 pm 
Arriba  
Utiliza mysqli o PDO en vez de mysql

Citar:
Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL.


http://php.net/manual/es/function.mysql-connect.php

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Vie Ene 26, 2018 1:41 am
Mensajes: 7

Nota Publicado: Dom Ene 28, 2018 9:48 am 
Arriba  
Ese es el problema, que no se usar mysqli ni tampoco pdo. Voy a buscar como hacer rollback de version de php :(

 Perfil  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Jue Abr 19, 2007 7:00 am
Mensajes: 1518
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Dom Ene 28, 2018 3:09 pm 
Arriba  
Por gracioso que parezca, todas tus funciones únicamente deben llevar "mysqli", y funcionarán, algunas no podrán hacerlo claro está, pero funciona en la gran mayoría. Debes planear una migración, más por seguridad que por otra cosa.

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Vie Abr 11, 2008 7:00 am
Mensajes: 361
Ubicación: D.Fectuoso

Nota Publicado: Dom Ene 28, 2018 10:55 pm 
Arriba  
Deberías plantearte reescribir ese código, pero si necesitas echar a andar ese proyecto urgentemente, yo hice esto y me funciono.

https://unix.stackexchange.com/question ... -on-debian

Saludos.

_________________
No te establezcas en una forma, adáptala y construye la tuya propia, y déjala crecer, sé como el agua. Vacía tu mente, se amorfo, moldeable, como el agua. B.L.
Mi Blog

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 6 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Dependecias incumplidas, al instalar php7.0

en Software

hditx

3

1142

Dom Abr 02, 2017 11:03 pm

doc Ver último mensaje

conversión de videos

en Vídeos

doc

5

593

Jue Jun 21, 2018 2:55 am

neurus Ver último mensaje

Conversión de un String Hex a Int en Java

en Programación

ceduardo

0

674

Sab Sep 04, 2010 7:58 pm

ceduardo Ver último mensaje

Problema deprecated conversion from string constant to ‘char*’

en Programación

oliver_87

4

6734

Dom Ene 09, 2011 11:29 pm

codestation Ver último mensaje

Novatillo en PHP5 (SOLUCIONADO)

en Programación

andriusman

5

635

Jue Oct 28, 2010 7:07 pm

mcun Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO