Hello for eveybody i have a trouble whit this
$aux=0;
if($resultado=='true'){
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
}
else{
if ($aux==0) {
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
$aux=1;
}
}
if ($resultado = true) its work fine but if ($resultado = false) dont show javascript code
Thanks in advance.
Get rid of the quotes around 'true' (and 'false'). This makes them strings and strings that are not empty always equate to true. This is because of type juggling in PHP.
if($resultado==true){
and
if($resultado==false){
there is no need to check wheather true and false as you just need to pass variable in if conditions and if condition just check the return true or false.Below is code
$aux=0;
if($resultado ){
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
}
else{
if (!$aux ) {
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
$aux=1;
}
}
$aux=0;
if($resultado=='true'){
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
}
else if ($aux==0) //-------->Brush up on your syntax for control structures
{
echo "<script type='text/javascript'>\n";
echo "alert('$resultado');\n";
echo "</script>";
$aux=1;
}
Related
I've looked for an answer already, but I understand how to achieve an alert from php I just don't know what I am doing wrong on this particular piece of code.
I had this working until I added the if statement.
if ($errors) {
echo "<script type='text/javascript'>";
echo "alert('Records Were Uploaded');";
echo "window.location.href = 'EmployeePicker.php';";
echo "</script>";
} else {
echo "<script type='text/javascript'>";
echo "alert('There was a problem with your file');";
echo "window.location.href = 'csvUpload.php';";
echo "</script>";
}
It worked fine when it was just .
echo "<script type='text/javascript'>";
echo "alert('Records Were Uploaded');";
echo "window.location.href = 'EmployeePicker.php';";
echo "</script>";
If comment everything out and just do
echo "<script type='text/javascript'>";
echo "alert('There was a problem with your file');";
echo "window.location.href = 'csvUpload.php';";
echo "</script>";
this will not work. I'm so confused. It doesn't make sense why the second alert doesn't work.
I forgot to mention, In the if statement from above the first alert will work, it's that second alert that I can't get to fire.
Sorry about the confusion, the $error is a bool. If it is true a filw was uploaded, if false it wasn't.
I think you are doing the opposite of what you want:
Your if case doesn't match the action performed inside.
Maybe you should do:
if (!$errors) {
echo "<script type='text/javascript'>";
echo "alert('Records Were Uploaded');";
echo "window.location.href = 'EmployeePicker.php';";
echo "</script>";
} else {
echo "<script type='text/javascript'>";
echo "alert('There was a problem with your file');";
echo "window.location.href = 'csvUpload.php';";
echo "</script>";
}
and you can also save up on echo words - and make it more readable - doing sth like:
echo <<<HTML
<script type='text/javascript'>
alert('Records Were Uploaded');
window.location.href = 'EmployeePicker.php';
</script>
HTML;
just if you want :)
[EDIT] Note that according to what $errors hold (either integer or array), you can check that there is no error by either !$errors if integer or !count($errors) if array.
[EDIT] Trying your second piece of code as a standalone
If you need to trace what is wrong you need to isolate bit by bit!
first try code 1 as a new php file if it does not alert and redirect on your system then something is wrong in your configs.
If it works something is wrong in your code logic.
I could also run code 2 with no pb by first setting the $errors var to 1 or 0.
code 1
<?php
$errors = 1;
echo "<script type='text/javascript'>";
echo "alert('There was a problem with your file');";
echo "window.location.href = 'csvUpload.php';";
echo "</script>";
?>
code 2
<?php
$errors = 1;
if ($errors) {
echo "<script type='text/javascript'>";
echo "alert('Records Were Uploaded');";
// echo "window.location.href = 'EmployeePicker.php';";
echo "</script>";
} else {
echo "<script type='text/javascript'>";
echo "alert('There was a problem with your file');";
// echo "window.location.href = 'csvUpload.php';";
echo "</script>";
}
?>
And about your $errors var, if true means no error you should definitely rename it to sth less tricky like $uploadSuccessful. ;)
It should echo out good. Try checking your php error log file to see if there are any clues as to the issue in there.
Just a small most like likely personal preference of mine that may help you is to separate out the logic a bit. Please see below.
<?php
// STATUS
$errors = true;
// OUTPUTS
$upload_success = "<script type='text/javascript'>";
$upload_success .= "alert('Records Were Uploaded');";
$upload_success .= "window.location.href = 'EmployeePicker.php';";
$upload_success .= "</script>";
$upload_fail = "<script type='text/javascript'>";
$upload_fail .= "alert('There was a problem with your file');";
$upload_fail .= "window.location.href = 'csvUpload.php';";
$upload_fail .= "</script>";
//LOGIC
if ($errors) {
echo $upload_success;
} else {
echo $upload_fail;
}
?>
I need to pass a javascript array, via POST, to a PHP file.
I've tried to semplify my original business trying to explain my troubles ...
This is my first PHP file, in which I declare a javascript array and I set each element to 1 value (not a great business I know, but it doesn't matter, it's only to explain ....)
<?php
echo '<form action="testPhp-2.php" method="POST" target="testPhp-2">';
echo '<script type="text/javascript">';
echo 'var arr_selections = [];';
echo 'for(i=0; i < 10; i++)';
echo ' {';
echo ' arr_selections[i] = 1';
echo ' }';
echo 'arr_selections_json = JSON.stringify(arr_selections);';
echo 'alert (arr_selections[2]);';
echo 'document.write("<br/>");';
echo ' ';
// echo 'document.write("<input type="hidden" />");';
echo 'document.write("<input type=\"hidden\" name=\"arr_selections_json\" value=\"arr_selections_json\" />");';
echo ' ';
echo '</script>';
echo ' <input type="submit" value="Controlla">';
echo ' </form>';
?>
.... and here you are the code of testPhp-2 file ...
<?php
if(isset($_POST['arr_selections_json']))
{
echo "OK, array exist !! ";
echo '</br>';
echo '</br>';
$arr_selections = json_decode($_POST['arr_selections_json'], true);
echo $arr_selections[0];
}
else {
echo "NO; array does not exist !! ";
echo '</br>';
echo '</br>';
}
?>
Now, if you try to execute the code you'll see the OK, array exist !! message but no array value is printed about the echo $arr_selections[0]; line of code in testPhp-2.php file.
Any suggestion will be appreciated! Thank you in advance!
Cesare
Problem is that you're setting the value of the input to the litteral string "arr_selections_json" instead of to the contents of that variable.
Change
echo 'document.write("... value=\"arr_selections_json\" />");';
To
echo 'document.write("... value=\""+arr_selections_json+"\" />");';
I'm trying to call a modal that I have in a html file which is hidden alongside another modal. One of them appears as the button is clicked but the other one is to be called by php as part of a verification process.
Here is my php code:
$File = include("index2.html");
$Msg = 'Welcome ';
$search=$_POST['search'];
$query = $pdo->prepare("SELECT * FROM students WHERE IDs LIKE '%$search%' LIMIT 0 , 10"); //OR author LIKE '%$search%'
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
// Display search result
if (!$query->rowCount() == 0) {
echo '<script type="text/javascript">';
echo 'alert("Verification Complete");';
echo '</script>';
while ($results = $query->fetch()) {
$Studname = $results['Studentname'];
echo '<script type="text/javascript">';
echo 'alert("'.$Msg.$Studname.'")';
echo '</script>';
echo '<script type="text/javascript">';
echo '$(File).ready(function() {';
echo '$("#myAdvert").modal("show");';
echo '});';
echo '</script>';
}
} else {
echo '<script language="javascript">';
echo 'alert("Sorry your ID was not found");';
echo 'window.location.href = "/Koleesy/index.html";';
echo '</script>';
}
?>
After the user is welcomed I want the hidden modal from my index.html to be called so the user can continue submitting the advert.
I've tried using the include function but that doesn't seem to work in my favor.
How do I do this?
Every answer is appreciated.
Try this:
echo "<script type='text/javascript'>
$(document).ready(function(){
$('#myAdvert').modal('show');
});
</script>";
I have this working script yet when I change it to retrieve(supposedly) the value inside $_SESSION["username"], it doesn't retrieve anything. The whole page is saved as .php as I am using some codes that uses PHP.
Code:
echo "<script type=text/javascript>";
echo "var hidden = false;";
echo "function actiondb1() {";
echo "if(!hidden) {";
echo "document.getElementById(\'clickdb1\').style.visibility = \'hidden\';";
echo "document.getElementById(\'db1\').style.visibility = \'visible\';";
echo "document.getElementById(\'db1\').disabled = false;";
echo "document.getElementById(\'db1\').value =".$_SESSION["username"];.";";
echo "}";
echo "}";
echo "</script>";
How can I make the script to properly retrieve the data inside $_SESSION["username"];?
Observe that, for instance, if the value of $_SESSION["username"] is John, your echo will be generating this result:
document.getElementById('db1').value = John;
But John is supposed to be a string and should be wrapped in quotation marks, otherwise JavaScript will understand it as a variable name (which value will be probably undefined).
As Havenard mentioned, this line is missing Javascript single quotes to properly denote a string variable:
echo "document.getElementById(\'db1\').value ='".$_SESSION["username"];."';";
However, you really shouldn't print JS out with PHP if you can help it. Though iatboy's answer answer won't ultimately fix your bug, it is a much cleaner way of doing things.
?>
<script type=text/javascript>;
var hidden = false;
function actiondb1() {
if(!hidden) {
document.getElementById('clickdb1').style.visibility = 'hidden';
document.getElementById('db1').style.visibility = 'visible';
document.getElementById('db1').disabled = false;
document.getElementById('db1').value ='<?php echo $_SESSION["username"];?>';
}
}
</script>;
<?php
Did you start session in this page?If you didn't,use the follow code to start session.
session_start();
Then change your code to
echo "<script type=text/javascript>";
echo "var hidden = false;\n";
echo "function actiondb1() {\n";
echo "alert('".$_SESSION['username']."')\n"; //test code
echo "if(!hidden) {\n";
echo "document.getElementById('clickdb1').style.visibility = 'hidden';\n";
echo "document.getElementById('db1').style.visibility = 'visible';\n";
echo "document.getElementById('db1').disabled = false;\n";
echo "document.getElementById('db1').value ='".$_SESSION["username"]."';\n";
echo "}\n";
echo "}\n";
echo "</script>";
it will be ok.
if(($row["status"])!="valid")
{
$stats=$row["status"];
echo "<script type='text/javascript'>";
echo "alert('Your Status is $stats..Please Try Again Later...');";
echo "</script>";
header ("location: index.php");
}
it is a part of a php code. if i use // before header, javascript run..but when i don't use // , it goes to directly index.php. what is the solution?? OR is there is any way that i can call a javascript function for showing a message from this if condition??
In this scenario, Replace header with document.location.href So you can display an alertbox and when you click ok it redirects to your index.php page
if(($row["status"])!="valid")
{
$stats=$row["status"];
echo "<script type='text/javascript'>";
echo "alert('Your Status is $stats..Please Try Again Later...');";
echo "</script>";
echo "<script>document.location.href='index.php'</script>";
}
Can you try this,
<?php
if(isset($row["status"]) && trim($row["status"])!="valid")
{
$stats=$row["status"];
echo "<script type='text/javascript'>";
echo "alert('Your Status is $stats..Please Try Again Later...');";
echo "window.location.href='index.php';"; // instead php header you can use javascript location.hrfe
echo "</script>";
}
?>
try
if(($row["status"])!="valid")
{
$stats=$row["status"];
echo "<script type='text/javascript'>";
echo "alert('Your Status is $stats..Please Try Again Later...');";
echo "</script>";
}
else{
header ("location: index.php");
}
You can also try like this
if(($row["status"])!="valid")
{
$stats=$row["status"];
echo "<script type='text/javascript'>";
echo "alert('Your Status is $stats..Please Try Again Later...');";
echo "location: index.php";
echo "</script>";
}