-1

the below code is not working for LIKE. i have passed the php variables in onclick function but it is not getting popped out of alert(url) however addeventlistener is working perfectly fine if i don't use any variables inside the code and just do a alert() message. is add eventlistener method is not executing the code or the bug is something else.

the below is code:

foreach($messarrcount as $keymess => $valuemess)
{

  if($valuemess>1)
{

echo "<br>";

  echo "<span style=' margin-left: $widthpart%' class=c19>".$name3."</span><br><br>";
  echo "<center><span style=' height: 100px; width: $width% ' class=c13>".$keymess."</span></center><br>";


  $sql0 = "SELECT SrNo,Name,Picture,Status,Message,Email,Password,Replylvl1,Replylvl1byemail,Replylvl1byname FROM profile  WHERE Email='$e' AND Message = '$keymess' ORDER BY SrNo DESC;";

  $resmess = $conn->query($sql0);

$ress1 = $conn->query($sql0);

$row01 = $ress1->fetch_assoc();

$ress0000 =$conn->query($sql0);
$row0000 = $ress0000->fetch_assoc();


$sql000 = "SELECT DISTINCT SrNo,Name,Email,Password,Logindate,Logintime,Timezone FROM login WHERE Email='$e';";

$res000=$conn->query($sql000);


if($res000->num_rows>0)
{
$row000 =$res000->fetch_assoc();

$_SESSION["replyemail"]= $row000["Email"];
  $_SESSION["replyname"]= $row000["Name"];

}
else
{

echo "Login again";

}

$replybymail = $_SESSION["replyemail"];
$replybyname = $_SESSION["replyname"];


$emaillike = $row0000["Email"];
$passlike = $row0000["Password"];
$namelike = $row0000["Name"];
$pictlike = $row0000["Picture"];
$statlike = $row0000["Status"];
$messlike = $row0000["Message"];






  echo "<center>";
  echo '<span class="c20" id="like1" onclick="functionLike($emaillike,$passlike,$namelike,$pictlike,$statlike,$messlike,$replybymail,$replybyname)">Like</span>';
  echo '<span class="c21" id="reply1" onclick="function()">Reply</span>';
  echo "<span class=c22 id=display1>Display</span>";
  echo "</center>";

  echo "<span class=60 style=' margin-left: $like%' id=nolikes>{onlike}</span>";

 echo '<p Id="reply3"></p><br>';




  while($row3=$resmess->fetch_assoc())
  {
    if(!empty($row3["Replylvl1byemail"]) && !empty($row3["Replylvl1byname"]))
    {
    echo "<span style=' margin-left: $widthpart1%; margin-right:$widthpart2_%' class=c18>".$row3["Replylvl1byname"]."</span><br><br>";
    echo "<center><span style='  height: 100px; width: $width1%; max-width: 100%' class=c14>".$row3["Replylvl1"]."</span></center><br>";
    echo "<center>";
    echo "<span class=c30 id=like2>Like</span>";
    echo "<span class=c31 id=reply2>Reply</span>";
    echo "<span class=c32 id=display2>Display</span>";
    echo "</center>";
echo "<br><br>";
  }}

echo "<hr>";
}

else
{
  echo "<br>";
  echo "<span style=' margin-left: $widthpart% ' class=c19>".$name3."</span><br><br>";
  echo "<center><span style=' height: 100px; width: $width% ' class=c13>".$keymess."</span></center><br>";

  echo "<center>";
  echo '<span class="c20" id="like3" onclick="functionLike()">Like</span>';
  echo '<span class="c21" id="reply1" onclick="function()">Reply</span>';
  echo "<span class=c22 id=display1>Display</span>";
  echo "</center>";
  echo "<br><br>";

  $sql00 = "SELECT SrNo,Name,Picture,Status,Message,Email,Password,Replylvl1,Replylvl1byemail,Replylvl1byname FROM profile  WHERE Email='$e' AND Message = '$keymess' ORDER BY SrNo DESC;";

  $resmessreply = $conn->query($sql00);

  while($row4=$resmessreply->fetch_assoc())
  {
    if(!empty($row4["Replylvl1byemail"]) && !empty($row4["Replylvl1byname"]))
    {
      echo "<span style='  margin-left: $widthpart1%; margin-right:$widthpart2_%' class=c18>".$row4["Replylvl1byname"]."</span><br><br>";
      echo "<center><span style='  height: 100px; width: $width1%' class=c14>".$row4["Replylvl1"]."</span></center><br>";

    echo "<center>";
    echo "<span class=c30 id=like2>Like</span>";
    echo "<span class=c31 id=reply2>Reply</span>";
    echo "<span class=c32 id=display2>Display</span>";
    echo "</center>";

echo "<br><br>";

  }}

echo "<hr>";

}
}





}
else
{
  echo "No post is published";
}


?>

<script>

document.getElementById("like1").addEventListener("click",function functionLike(var emaillike,var passlike,var namelike,var pictlike,var statlike,var messlike,var replybymail,var replybyname)
{

var emaillike1 = emaillike;
var passlike1 = passlike;
var namelike1 = namelike;
var pictlike1 = pictlike;
var statlike1 = statlike;
var messlike1 = messlike;
var replybymaillike1 = replybymail;
var replybynamelike1 = replybyname;

  nolikes(emaillike1,passlike1,namelike1,pictlike1,statlike1,messlike1,replybymaillike1,replybynamelike1);
});
function nolikes(var emaillike12,var passlike12,var namelike12,var pictlike12,var statlike12,var messlike12,var replybymaillike12,var replybynamelike12)
{


var email2 = emaillike12;
  var pass2 = passlike12;
  var name2 = namelike12;
  var pict2 = pictlike12;
  var status2 = statlike12;
  var message2 = messlike12;
  var replybymail2 = replybymaillike12;
  var replybyname2 = replybynamelike12;



  var emaildet;
  var picturedet;
  var namedet;
  var statusdet;
  var passworddet;
  var messdet;
  var replybymaildet;
  var replybynamedet;




  var url= "likes.php?emaildet="+email2+"&picturedet="+pict2+"&namedet="+name2+"&statusdet="+status2+"&passworddet="+pass2+"&messdet="+message2+"&replybymaildet="+replybymail2+"&replybynamedet="+replybyname2;
alwrt(url);
}


</script>
  • 1
    Are you doing this in a loop by any chance? Please isolate this down away from PHP, and show us the generated HTML and JavaScript with the problem intact. – Kevin Y May 24 '22 at 05:55
  • What does `function()` do? Why do you have `onclick` _and_ an eventlistener on the element? – brombeer May 24 '22 at 06:23
  • fyi,`
    ` is deprecated
    – brombeer May 24 '22 at 06:24
  • **Warning:** You are wide open to [SQL Injections](https://php.net/manual/en/security.database.sql-injection.php) and should use parameterized **prepared statements** instead of manually building your queries. They are provided by [PDO](https://php.net/manual/pdo.prepared-statements.php) or by [MySQLi](https://php.net/manual/mysqli.quickstart.prepared-statements.php). Never trust any kind of input! Even when your queries are executed only by trusted users, [you are still in risk of corrupting your data](http://bobby-tables.com/). [Escaping is not enough!](https://stackoverflow.com/q/32391315) – Dharman May 24 '22 at 09:41

0 Answers0