Bueno cuando llamo la función todo pasa bien solo que no ejecuta mi función
me sale error: Fatal error: Call to undefined function ipact() in /custumber...
function accionpab(){
$.ajax({
url: 'control/config/setting.php',
type: 'POST',
dataType: 'html',
data: { ipa: "1"},
success:function(rst){
alert(rst);
}
})
}
if(isset($_REQUEST["ipa"])){
if($_REQUEST["ipa"] == 1 ){
echo ipact();
exit();
}else{
echo "ERROR";
exit();
}
}
Fatal error: Call to undefined function ipact()
Error fatal: Llamado a una funcion no definida
dicha funcion no exíste
Ese es el problema.. dentro de ese mismo php si existe la función..
function ipact(){
if($_SESSION['ip_alter'] == 1){
$sql1 = "UPDATE usuarios SET ip_alter='0' WHERE usuario='$USER'";
$link->query($sql1);
$_SESSION['ip_alter'] == 0;
echo "<script>location.href ='http://www..com/.php';</script>";
}else{
$sql2 = "UPDATE usuarios SET ip_alter='1' WHERE usuario='$USER'";
$link->query($sql2);
$_SESSION['ip_alter'] == 1;
echo "<script>location.href ='http://www..com/.php';</script>";
}
}
donde está declarada la funcion? (cuelga el php completo, si es muy largo, usa pastebin)
por cierto....
echo ipact();
está mal porque impact no tiene return
Así lo eh dejado.. ya no me da el error pero no me da resultado ni parece que ejecuta la función..
<?php
require("conex.php");
session_start();
if($_SESSION['id']){
$USER = $_SESSION['usuario'];
if(isset($_REQUEST["ipa"])){
if($_REQUEST["ipa"] == 1 ){
function ipact(){
if($_SESSION['ip_alter'] == 1){
$sql1 = "UPDATE usuarios SET ip_alter='0' WHERE usuario='$USER'";
$link->query($sql1);
$_SESSION['ip_alter'] == 0;
echo "<script>location.href ='http://www..com/.php';</script>";
}else{
$sql2 = "UPDATE usuarios SET ip_alter='1' WHERE usuario='$USER'";
$link->query($sql2);
$_SESSION['ip_alter'] == 1;
echo "<script>location.href ='http://www..com/.php';</script>";
}
return;
}
exit();
}else{
echo "Otro campo de IPA";
exit();
}
}
}
?>
NOOO
$_SESSION['ip_alter'] == 1;
Eso es una expresion boleana que te devuel true o false, pero asi sin estar dentro de un IF solo es una linea que no hace nada, tiene que ser
$_SESSION['ip_alter'] = 1;
Y en el caso de 0 tambien un solo igual
Estas haciendo mucha cosas mal, El resultado que le devueles al Ajax deberia de estar formateado en JSON o algo similar, pero igual es el gusto de cada quien para programar si asi estas comodo procesando los resultados esta bien.
Saludos!
lo que dice AlbertoBSD es cierto, linea 19
igual no veo el archivo de la funcion impact
Ya eh corregido lo que me ha dicho alberto, sigue igual.
Cita de: engel lex en 2 Septiembre 2017, 17:13 PM
lo que dice AlbertoBSD es cierto, linea 19
igual no veo el archivo de la funcion impact
Cual función impact? no te estarás referiendo a ipact?
Tambien cambiastes la linea 14?
Saludos!
La función no tiene ningun sentido. Tampoco la invocas en ningun lado. Como te ha comentado AlbertoBSD, == es un comparador..
A la funcion, no la pasas la variable USER y tampoco el $link para el handler a la base de datos.. Además repites mucho codigo de forma innecesaria.
<?php
require("conex.php");
session_start();
function ipact($user, $link){
// Si SESSION.. es igual a 1, entonces ip_alter = 0 y viceversa.
$ip_alter = ($_SESSION['ip_alter'] == 1) ? 0 : 1;
$query = "UPDATE usuarios SET ip_alter='$ip_alter' WHERE usuario='$user'";
$link->query($query);
$_SESSION['ip_alter'] = $ip_alter;
return $ip_alter;
}
if($_SESSION['id']){
$USER = $_SESSION['usuario'];
if(isset($_REQUEST["ipa"])){
if($_REQUEST["ipa"] == 1 ){
ipact($USER, $link);
echo "<script>location.href ='http://www..com/.php';</script>";
exit;
} else {
echo "Otro campo de IPA";
exit;
}
}
}
Saludos
Gracias #!drvy ;-) por tu observación tratare de simplificar lo mas que pueda en cuanto programe. ;-)