New question

Question:

Date: 26-10-2020 14:28:08 (In Spanish)

no puedo hacer que aparezcan la direccion del archivo audio[Unresolved]

<?php include('login(php)/dbcon.php'); ?>
<?php include('sessionn.php'); ?>

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<audio id="audio" preload="auto" tabindex="0" controls="" >
<source src="<?php echo $audio; ?>">
</audio>
</div>
</body>
</html>

sessionn.php :

<?php
session_start();
if (!isset($_SESSION['id'])){
header('location:index.html');
}
$session_id = $_SESSION['id'];
$session_query = $conn->query("select * from user where id_user = '$session_id'");
$user_row = $session_query->fetch();

$session_queryy = $conn->query("select * from p_user where id_user_1 = '$session_id'");
$user_roww = $session_queryy->fetch();
$p_user = $user_roww['id_p_1'];

$session_queryyy = $conn->query("select * from p_au where id_p_2 = '$p_user'");
$user_rowww = $session_queryyy->fetch();
$p_au = $user_rowww['id_au_1'];

$session_queryyyy = $conn->query("select * from audio where id_audio = '$p_au'");
$user_rowwww = $session_queryyyy->fetch();
$audio = $user_rowwww['ruta'];
?>

*me puede ayudar plis. Mi codigo me arroja esto sobre la pagina :

Notice: Trying to access array offset on value of type bool in C:\xampp\htdocs\app\sessionn.php on line 12

Notice: Trying to access array offset on value of type bool in C:\xampp\htdocs\app\sessionn.php on line 16

Notice: Trying to access array offset on value of type bool in C:\xampp\htdocs\app\sessionn.php on line 20



Tags: MySQL - PHP - PHP Advanced - PHP MySQLi - Question Votes: 0 - Answers: 2 - Views: 8 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 27-10-2020 05:16:32 Aunque no incluyes los números de línea que permitan identificar exactamente dónde ocurrió el error, parece que las consultas donde recuperas $p_user, $p_au y $audio tienen problemas. Te recomiendo copiar la consulta y ejecutarla en phpmyadmin o adminer para saber qué estas enviando al servidor y cuál es el problema.

    Aparte de eso, te consejo utilizar nombres significativos para tus variables. Es muy difícil distinguir a simple vista entre las variables $session_query, $session_queryy y $session_queryyy, o entre $user_row, $user_roww y $user_rowww. Además, sería preferible que no usaras nombres de variables (o archivos) que sean parecidos a palabras reservadas en PHP (session, por ejemplo). Eso hará más sencillo leer tu código y encontrar posibles bugs
      Votes: 1 - Link answer
     
  • Date: 29-10-2020 09:10:25 Hola Benjamin,
    Intenta con el siguiente código:

    <?php
    declare(strict_types=1);
    
    session_start();
    
    if (!isset($_SESSION['id'])) {
        header('location:index.html');
    }
    
    $userQueryStmt = $conn->prepare('SELECT * FROM user WHERE id_user = ?');
    $userQueryStmt->bind_params('i', $_SESSION['id']);
    $userQueryStmt->execute();
    $result = $userQueryStmt->get_result();
    if ($result->num_rows > 0) {
        $userRow = $result->fetch();
    }
    
    $pUserQueryStmt = $conn->prepare('SELECT * FROM p_user WHERE id_user_1 = ?');
    $pUserQueryStmt->bind_params('i', $_SESSION['id']);
    $pUserQueryStmt->execute();
    $result = $pUserQueryStmt->get_result();
    if ($result->num_rows > 0) {
        $pUserRow = $result->fetch_assoc();
        $pUser = $pUserRow['id_p_1'];
    }
    
    $pAuQueryStmt = $conn->prepare('SELECT * FROM p_au WHERE id_p_2 = ?');
    $pAuQueryStmt->bind_params('i', $_SESSION['id']);
    $pAuQueryStmt->execute();
    $result = $pAuQueryStmt->get_result();
    if ($result->num_rows > 0) {
        $pAuRow = $result->fetch_assoc();
        $pAu = $pAuRow['id_au_1'];
    }
    
    $audioQueryStmt = $conn->prepare('SELECT * FROM audio WHERE id_audio = ?');
    $audioQueryStmt->bind_params('i', $_SESSION['id']);
    $audioQueryStmt->execute();
    $result = $audioQueryStmt->get_result();
    if ($result->num_rows > 0) {
        $audioRow = $result->fetch_assoc();
        $audio = $audioRow['ruta'];
    }
    
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In