Autor Tema: Ayuda Urgente  (Leído 1547 veces)

Desconectado Antonio285

  • PHPer@ Fijo
  • ***
  • Mensajes: 194
  • Karma: 0
  • Sexo: Masculino
  • No hay mal que por bien no venga..
    • Ver Perfil
Ayuda Urgente
« en: 15 de Octubre de 2006, 02:37:01 am »
Hola Amigos,

Esque estoy montando una web, y tiene Mini Chat, y hay un bug que no se repararlo, mira, cuando abro el interrogante, le doy a solicito ayuda no pongo nada y le doy a enviar me sale un bug, porfavor, como puedo poner: No ha rellenado ningun campo.

Gracias!!

Comunidad PHPeros

Ayuda Urgente
« en: 15 de Octubre de 2006, 02:37:01 am »

Desconectado Mhoos

  • PHPerit@
  • *
  • Mensajes: 16
  • Karma: 0
    • Ver Perfil
Re: Ayuda Urgente
« Respuesta #1 en: 15 de Octubre de 2006, 13:06:25 pm »
No sé como se llama el archivo que lleva el Interrogante.
Si puedes pon aquí el código de ello.

Sería algo así:

Código: [Seleccionar]
<?

if($_POST['enviar']){
if($_POST['mensaje']){
echo "Rellena todos los campos";
}}

?>

Algo así.
Espero que te sirva de ayuda ;)

Saludos.


Desconectado Antonio285

  • PHPer@ Fijo
  • ***
  • Mensajes: 194
  • Karma: 0
  • Sexo: Masculino
  • No hay mal que por bien no venga..
    • Ver Perfil
Re: Ayuda Urgente
« Respuesta #2 en: 15 de Octubre de 2006, 14:48:02 pm »
Buff.. Sigo sin arreglarlo, esque yo soy un pokito corto xD si puedes aqui te dejo el codigo y me lo intentas mirar porfavor.

Código: [Seleccionar]
<?
include("../configtag.php");
if (isset($_POST['avisar'])) {
   if ($_POST['mensaje'] != "" && $_POST['email'] != "") {
      $id = "";
    // Cogemos la IP
  if ($_SERVER['HTTP_X_FORWARDED_FOR'] != "")
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];   
  else if ($_SERVER['HTTP_VIA'] != "")
         $ip = $_SERVER['HTTP_VIA'];   
  else if ($_SERVER['REMOTE_ADDR'] != "")
         $ip = $_SERVER['REMOTE_ADDR']; 
       else
         $ip = _UNKNOWIP;

  if (isset($_SESSION['nnick'])) {
  $query = "SELECT * FROM `usuarios` WHERE nick = '".$_SESSION['nnick']."'";
$resp = @mysql_query($query);
$usuario = @mysql_fetch_array($resp);
$nick = $usuario['id'];
  } else
    $nick = "-1";

      $query = "INSERT INTO `alerta_mod` (id, texto, email, ip, fecha, nick, leido) values ('".$id."', '".htmlentities($_POST['mensaje'])."', '".htmlentities($_POST['email'])."', '".$ip."', '".Date("d.m.y, H:i:s")."', '".$nick."', '0')";
  @mysql_query($query);
  ?>
  <table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Alerta enviada<br>
      un staff te contestará tan<br>
   pronto como sea posible</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
  <?
   } else {
    header("location: index.php?p=alerta");
exit;
   }
} else {
?>
<table border="0" cellpadding="0" cellspacing="0" width="75%">
            <tr>
              <td width="100%"><br><br>
              <b>Enviar alerta a un staff <br>
              </b>
                </font>
              </td>
              <td>
              </td>
            </tr>
          </table>
        </div><br>
<form method="POST" action="index.php?p=alerta">
        <b>Tú email:</b><br>
<input type="text" name="email" maxlength="30" size="40" value=""  class="boton">
<br><b>Mensaje</b><br>
<textarea rows="5" class="boton" name="mensaje" cols="40"></textarea><br>
<input type="hidden" name="ip" value="<?=$ip?>">
<input type="submit" value="Avisar" class="boton" name="avisar">
<br><br><a href="javascript:history.back(1)" class="menu"><b><font color="#111111">Volver</a></font></b></form>
<? } ?>
<script language="Javascript">
var vie=
parseFloat(navigator.appVersion.slice(navigator.appVersion.indexOf("MSIE")+4,navigator.appVersion.length));
function sinmenu()
{
event.cancelBubble = true;
event.returnValue = false;
return false;
}
function noclicderecho(e)
{
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) return false;
else
if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3))
{
if (vie < 5) // -- para el IE4 -- \\
{
alert('Puedes personalizar este mensaje');
return false;
}
else
if (vie >= 5) // -- para el IE5 -- \\
{
document.oncontextmenu = sinmenu;
return false;
}
}
return true;
}
document.onmousedown=noclicderecho;

// -- Desabilita el clic derecho en las capas (layers) -- \\

if (document.layers)window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=noclicderecho;
</script>
<!--webbot bot="HTMLMarkup" endspan --><!--webbot bot="HTMLMarkup" startspan --><script language="JavaScript">
<!--

   function event_false() {
         window.event.returnValue = false
   }

document.onselectstart = event_false

//-->
</script><!--webbot bot="HTMLMarkup" endspan -->


--------------------
Muchas Gracias!! :D

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Ayuda Urgente
« Respuesta #3 en: 15 de Octubre de 2006, 15:00:30 pm »
Busca este codigo:
Código: [Seleccionar]
<?
   } else {
    header("location: index.php?p=alerta");
exit;
   }

Y cambialo por:
Código: [Seleccionar]
<?
   } else { ?>
<table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Ha ocurrido un error<br><br>
      Algun campo no ha sido completado</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
<? }

El problema era simplemente que la funcion header(); la cual puede redireccionar al usuario a otra web, no funciona porque solo funciona cuando la web aun no ha sido escrita. Explicaré esta función en su debido foro.

La solución ha sido:
En vez de redireccionar al usuario mediante la funcion header(); he hecho que muestre un mensaje de error con un enlace hacia atrás.
« Última modificación: 15 de Octubre de 2006, 15:04:52 pm por naveda »
Por favor, leete las Normas


Desconectado Antonio285

  • PHPer@ Fijo
  • ***
  • Mensajes: 194
  • Karma: 0
  • Sexo: Masculino
  • No hay mal que por bien no venga..
    • Ver Perfil
Re: Ayuda Urgente
« Respuesta #4 en: 15 de Octubre de 2006, 15:27:32 pm »
Pues va ser que no.. He puesto ese codigo y me he dado cuenta de que no estaba cerrado una cosa y he puesto ?> les dejo el código de mi archivo alertas.php para que lo revisen, es con el codigo.

Código: [Seleccionar]
<?
include("../configtag.php");
if (isset($_POST['avisar'])) {
   if ($_POST['mensaje'] != "" && $_POST['email'] != "") {
      $id = "";
    // Cogemos la IP
  if ($_SERVER['HTTP_X_FORWARDED_FOR'] != "")
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];   
  else if ($_SERVER['HTTP_VIA'] != "")
         $ip = $_SERVER['HTTP_VIA'];   
  else if ($_SERVER['REMOTE_ADDR'] != "")
         $ip = $_SERVER['REMOTE_ADDR']; 
       else
         $ip = _UNKNOWIP;

  if (isset($_SESSION['nnick'])) {
  $query = "SELECT * FROM `usuarios` WHERE nick = '".$_SESSION['nnick']."'";
$resp = @mysql_query($query);
$usuario = @mysql_fetch_array($resp);
$nick = $usuario['id'];
  } else
    $nick = "-1";

      $query = "INSERT INTO `alerta_mod` (id, texto, email, ip, fecha, nick, leido) values ('".$id."', '".htmlentities($_POST['mensaje'])."', '".htmlentities($_POST['email'])."', '".$ip."', '".Date("d.m.y, H:i:s")."', '".$nick."', '0')";
  @mysql_query($query);
  ?>
  <table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Alerta enviada<br>
      un staff te contestará tan<br>
   pronto como sea posible</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
<?
   } else { ?>
<table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Ha ocurrido un error<br><br>
      Algun campo no ha sido completado</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
<? } ?>
<table border="0" cellpadding="0" cellspacing="0" width="75%">
            <tr>
              <td width="100%"><br><br>
              <b>Enviar alerta a un staff <br>
              </b>
                </font>
              </td>
              <td>
              </td>
            </tr>
          </table>
        </div><br>
<form method="POST" action="index.php?p=alerta">
        <b>Tú email:</b><br>
<input type="text" name="email" maxlength="30" size="40" value=""  class="boton">
<br><b>Mensaje</b><br>
<textarea rows="5" class="boton" name="mensaje" cols="40"></textarea><br>
<input type="hidden" name="ip" value="<?=$ip?>">
<input type="submit" value="Avisar" class="boton" name="avisar">
<br><br><a href="javascript:history.back(1)" class="menu"><b><font color="#111111">Volver</a></font></b></form>
<? } ?>
<script language="Javascript">
var vie=
parseFloat(navigator.appVersion.slice(navigator.appVersion.indexOf("MSIE")+4,navigator.appVersion.length));
function sinmenu()
{
event.cancelBubble = true;
event.returnValue = false;
return false;
}
function noclicderecho(e)
{
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) return false;
else
if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3))
{
if (vie < 5) // -- para el IE4 -- \\
{
alert('Puedes personalizar este mensaje');
return false;
}
else
if (vie >= 5) // -- para el IE5 -- \\
{
document.oncontextmenu = sinmenu;
return false;
}
}
return true;
}
document.onmousedown=noclicderecho;

// -- Desabilita el clic derecho en las capas (layers) -- \\

if (document.layers)window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=noclicderecho;
</script>
<!--webbot bot="HTMLMarkup" endspan --><!--webbot bot="HTMLMarkup" startspan --><script language="JavaScript">
<!--

   function event_false() {
         window.event.returnValue = false
   }

document.onselectstart = event_false

//-->
</script><!--webbot bot="HTMLMarkup" endspan -->

Desconectado Antonio285

  • PHPer@ Fijo
  • ***
  • Mensajes: 194
  • Karma: 0
  • Sexo: Masculino
  • No hay mal que por bien no venga..
    • Ver Perfil
Re: Ayuda Urgente
« Respuesta #5 en: 15 de Octubre de 2006, 15:57:05 pm »
Gracias a naveda (bueno el lo hizo todo xD) esta el codigo preparado:

Código: [Seleccionar]
<?
include("../configtag.php");
if (isset($_POST['avisar'])) {
   if ($_POST['mensaje'] != "" && $_POST['email'] != "") {
    //EL CODIGO KE FALTA
  ?>
  <table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Alerta enviada<br>
      un staff te contestará tan<br>
   pronto como sea posible</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
  <?  } else { ?>
<table border="0" cellpadding="0" cellspacing="0" width="95%">
            <tr>
              <td width="90%" align="center"><br><br>
  <font color=#cc0000>Ha ocurrido un error<br><br>
      Algun campo no ha sido completado</font><br>
  <a href="index.php" class="menu">Volver</a>
              </td>
              <td>
              </td>
            </tr>
          </table>
<? }
} else {
?>
<table border="0" cellpadding="0" cellspacing="0" width="75%">
            <tr>
              <td width="100%"><br><br>
              <b>Enviar alerta a un staff <br>
              </b>
                </font>
              </td>
              <td>
              </td>
            </tr>
          </table>
        </div><br>
<form method="POST" action="index.php?p=alerta">
        <b>Tú email:</b><br>
<input type="text" name="email" maxlength="30" size="40" value=""  class="boton">
<br><b>Mensaje</b><br>
<textarea rows="5" class="boton" name="mensaje" cols="40"></textarea><br>
<input type="hidden" name="ip" value="<?=$ip?>">
<input type="submit" value="Avisar" class="boton" name="avisar">
<br><br><a href="javascript:history.back(1)" class="menu"><b><font color="#111111">Volver</a></font></b></form>
<? } ?>
<script language="Javascript">
var vie=
parseFloat(navigator.appVersion.slice(navigator.appVersion.indexOf("MSIE")+4,navigator.appVersion.length));
function sinmenu()
{
event.cancelBubble = true;
event.returnValue = false;
return false;
}
function noclicderecho(e)
{
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) return false;
else
if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3))
{
if (vie < 5) // -- para el IE4 -- \\
{
alert('Puedes personalizar este mensaje');
return false;
}
else
if (vie >= 5) // -- para el IE5 -- \\
{
document.oncontextmenu = sinmenu;
return false;
}
}
return true;
}
document.onmousedown=noclicderecho;

// -- Desabilita el clic derecho en las capas (layers) -- \\

if (document.layers)window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=noclicderecho;
</script>
<!--webbot bot="HTMLMarkup" endspan --><!--webbot bot="HTMLMarkup" startspan --><script language="JavaScript">
<!--

   function event_false() {
         window.event.returnValue = false
   }

document.onselectstart = event_false

//-->
</script><!--webbot bot="HTMLMarkup" endspan -->

Desconectado Pc-Admin

  • PHPer@ Fijo
  • ***
  • Mensajes: 118
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re: Ayuda Urgente
« Respuesta #6 en: 15 de Octubre de 2006, 18:59:38 pm »
Es el tipico error que traen todos los MC's practicamente
Todo en esta vida, es practicar.