Member 12956789 Ответов: 2

Как отобразить в iFrame url-адрес из mysql ?


Вот последнее обновление кода, но все же оно показывает не значение переменной, как URL-адрес iframe. Переменная вызывает данные строки БД.
Iframe не открывается на URL-адрес, указанный в переменной. Посмотрите прямо на нижнюю часть кода.

<html>
<head>
<title>
<?php
$user Home Page
?>
</title>
</head>
<body>
<body background=".png">

<?php
session_start();
require "conn.php";

/*Check if user is logged-in or not by checking if session is set or not. 
If user is not logged-in then redirect to login page. Else, show user's account homepage.*/

if(!isset($_SESSION["user"])) 
{
    header("location:login.php");
}
else 
{
    $user = $_SESSION["user"];
    $sql = "SELECT * FROM $user WHERE Username = '".$user."'";
    $result = $conn->query($sql);
    while($row = $result->fetch_assoc()) 
	{
	    $db_id = $row["Id"];
	    $db_username = $row["Username"];
	    $db_forename = $row["Forename"];
	    $db_surname = $row["Surname"];
	    $db_email = $row["Email"];
	    $db_bio = $row["Bio"];
		$db_latest_view = $row["Latest_View"];
    
	
	    //Welcome user by name.
		echo "<center>Welcome <h2>$db_forename $db_surname!</center>"?></h2>|

		<?php
		//Display log-out link.
		echo "<p align='right'><a href='logout.php'>$user Log Out</a>";?>|</p><br>
	
        <?php 
		//Display User Bio.
		echo "<br>Bio:<br>";
		echo "$db_bio";?><br>
		<br>
		
		<?php 
		//Display User's Latest View.
		echo "<br>Latest View:<br>";
		echo "$db_latest_view";?><br>
		<br>

		<?php 
		//Display User's Latest Viewed Url in iFrame.?>
		<iframe src="<?php $db_latest_view;?>"></iframe>
		<?php 			
	}
}
?>
</body>
</html>


Что я уже пробовал:

Пробовал разные кодировки в течение 2 ночей.

2 Ответов

Рейтинг:
17

Bryian Tan

Измените эту строку

<iframe src="<?php $db_latest_view;?>"></iframe>

ТО
<iframe src="<?php echo $db_latest_view;?>"></iframe>

Предполагая, что URL-адрес действителен и будет работать внутри iframe.


Member 12956789

Боюсь, все равно не получилось.
Url-адрес в БД действителен:
https://www.youtube.com/playlist?list=PLONQt8bJdq9ayhjJkDsNcNTzUgYg_yG-U

Я пытался:
&ЛТ;элемент iframe в src="&ЛТ;?PHP Эхо $db_latest_view;?&и GT;"&ГТ;
&ЛТ;элемент iframe в src="&ЛТ;?PHP Эхо "$db_latest_view";?&и GT;"&ГТ;
&ЛТ;элемент iframe в src="&ЛТ;?PHP Эхо \"$db_latest_view\";?&и GT;"&ГТ;

Но не повезло!

Bryian Tan

а вы пробовали

 <iframe src="https://www.youtube.com/playlist?list=PLONQt8bJdq9ayhjJkDsNcNTzUgYg_yG-U">

чтобы убедиться, что ссылка работает в iframe?

Bryian Tan

Я сделал тест

 <iframe src="https://www.youtube.com/playlist?list=PLONQt8bJdq9ayhjJkDsNcNTzUgYg_yG-U">
не будет работать. Может быть, это политика youtube. Но вы можете встроить видео с youtube в iframe. пример
 <iframe src="https://www.youtube.com/embed/95RU58kZlbc?list=PLONQt8bJdq9ayhjJkDsNcNTzUgYg_yG-U">

Рейтинг:
1

Member 12956789

Ok,

These asterisks turn up out of the blue when I copy and paste code from my note pad++.

Here's the original script.
I shortened it 2 nights ago so you guys don't have to wade through many lines of code. And while shortening it, I made mistakes which you see in my previous code. And so, here's the full script for that particular page.
config.php contains the db connection details and other files.
I get no erros but I get nothing visible on the screen. Full blank white page!!!



    [code]
    <html>
    <head>
    <title>
    Home Page
    </title>
    </head>
    <body>
    
    <?php
    include 'config.php';
    
    /*Check if user is logged-in or not by checking if session is set or not. 
    If user is not logged-in then redirect to login page. Else, show user's account homepage.*/
    
    if(!isset($_SESSION["user"])) 
    {
        header("location:login.php");
    }
    else 
    {
    	$user = $_SESSION["user"];
        $sql = "SELECT * FROM users WHERE usernames = '".$user."'";
    	$result = mysqli_query($conn,$sql);
        $numrows = mysqli_num_rows($result);
        if($numrows >1)
    	{	
    		while ($row = mysqli_fetch_assoc($sql))
    		{
    			$db_id = $row["id"];
    			$db_username = $row["usernames"];
    			$db_first_name = $row["first_names"];
    			$db_surname = $row["surnames"];
    			$db_email = $row["emails"];
    			$db_blog_url = $row["blogs_urls"];
        
        		//Welcome user by name.
    			echo "Welcome <h2>$db_first_name $db_surname!"?></h2>|
    
    			<?php
    			//Display log-out link.
    			echo "<a href='logout.php'>$user Log Out</a>";?>|<br>
        
    			<?php 
    			//Display User's own blog Page in iframe.?>
    			<iframe src="<?php echo $db_blog_url;?>"></iframe>
    			<br>
    
    			<?php 
    			//Display 1st User's blog Page (regardless of who the user is) in iframe.?>
    			<iframe src="<?php echo ".$blogs_urls[0].";?>"></iframe>
    				
    			<?php 
    			//Display All Users' blogs Pages in iframe.?>
    			<iframe src="<?php echo $row['blogs_urls'];?>"></iframe>
    			<?php 
    		}
        }		
    }
    ?>
    
    </body>
    </html>
    [/code]    
   
Ignore the part where my code is not secure from sql injection. I will deal with that later. In the meanwwhile, concentrating on how to fix this frame thing. I attempted 3 different ways to code the iframe to load a webpage but no luck. I don't get any errors but a complete blank page. Error settings is full set to show error messages (config.php):

/*
*	ERROR HANDLING
*	ini_set('display_errors', 1);
*   ini_set('display_startup_errors', 1);

*	For All Error, Warning and Notice
*   error_reporting(E_ALL); OR error_reporting(-1);
*	For All Errors
*   error_reporting(E_ERROR);
*	For All Warnings
*   error_reporting(E_WARNING);
*	For All Notice
*   error_reporting(E_NOTICE);
*/
error_reporting(E_ALL);


PS-url-адрес в БД есть google.com который должен загружаться в iframe.