2016-11-24 97 views
3

我是初學者,我想寫這個函數。但是當我嘗試運行它時,爲什麼視圖沒有被定義,儘管我已經定義了它。任何人都可以爲我解決這個問題?下面是完整的源代碼參考錯誤:未定義視圖

<?php 
    include ("connection.php"); 
    session_start(); 
    $user_login = $_SESSION['user']; 
?> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <!--Let browser know website is optimized for mobile--> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
    <title>Messenger</title> 
    <!--Import Google Icon Font--> 
    <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 
    <link rel="stylesheet" href="font-awesome-4.7.0\css\font-awesome.css"> 
    <!--Import materialize.css--> 
    <link rel="stylesheet" href="materialize/css/materialize.min.css" media="screen,projection"/> 
    <!--Import jQuery before materialize.js--> 
    <script src='//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> 
    <!-- Compiled and minified JavaScript --> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script> 
    <script type="text/javascript" src="script.js"></script> 
    <script type="text/javascript"> 
    function viewProfile($name){ 
     var name ='test'; 
     alert(name); 
    } 
    </script> 
</head> 
<body class="blue"> 
<div id="chat-page"> 
    <div id="chatbox" class="row container"> 
    <?php 
    $select = mysqli_query($conn, "SELECT * FROM user WHERE Username != '$user_login'"); 
    $row = mysqli_num_rows($select); 
    //echo $row_1; 
     if($row != 0){ 
      while($list= mysqli_fetch_assoc($select)){ 
      $name = $list['Username']; 
      echo $name; 
      $userFriend = mysqli_query($conn, "SELECT * FROM user WHERE Username = '$name'"); 
      $fetch = mysqli_fetch_assoc($userFriend); 
      echo "<div class='friend'>"; 
      echo "<a href='#' onclick=\"viewProfile($name)\" style='text-decoration:none'>"; 
      if($fetch['Display Picture']) 
       $pic = 'avatar.jpg'; 
      echo "<img src='".$pic."' alt='' class='circle responsive-img'>"; 
      echo "<p>"; 
      echo "<strong>".$fetch['Username']."</strong><br>"; 
      echo "<span>".$fetch['Email']."</span>"; 
      echo "</p>"; 
      echo "</div>"; 
      echo "</a>"; 
      } 
     }else 
     echo "username not found"; 
    ?> 
    </div> 
</div> 
</body> 
</html> 
+0

請把確切的錯誤日誌在你的問題的身體 –

+0

是'視圖()'內的任何其他處理函數? – Rayon

+0

以下是錯誤: ReferenceError:未定義視圖 onclick – Kristian

回答

0

如果PHP文件中的函數,然後添加<script> // js code </script>

使用這樣的:

function view(){ 
 
    var name = 'Test'; 
 
    alert(name); 
 
}
<a href='#' onclick="view()" style='text-decoration:none'>Click Here</a>

1

你需要把你的視圖( )腳本標記中的函數。也將JavaScript放在pag的底部即

嘗試下面的代碼:

<?php 
echo "<div class='friend'>"; 
echo "<a href='#' onclick=\"view()\" style='text-decoration:none'>Click here </a>"; 
echo "</div>"; 
?> 


<script> 
    function view(){ 
     var name = 'Function Test'; 
     alert(name); 
    } 
    </script> 
+0

it's still not working – Kristian

+0

I have updated the answer. Please check out. –

0

把你的JavaScript在底部PHP代碼後,$name是不承認它的存在,PHP之前的JavaScript,並在您的視圖功能評估總是你有PHP變量$name

<script type="text/javascript"> 
    function view(){ 
    var name = "<?php echo $name; ?>"; 
    alert(name); 
    } 
</script>