2016-11-24 100 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>