0

I have checked on previous questions of people who have a similar issue. I know that both my .html and .php file are in the same directory and in htdocs of xampp. When I click submit oh my html file it changes to the php file but it's read only text or something. I'm running Apache on xampp.

I feel like my code is ok but I just started php this week. My professor is not helping really. I'm sorry this is a assignment related question but if I could get it to work I know I can fix the rest of it.

It's just not updating and showing me the update. I can enter data into my form and hit submit but I get nothing on the php file and the html file switches to php but it's just text. I've tried quite a lot and nothing is working. Most likely I'm missing some code or something simple though.

Thanks so much to anyone who can help as I'm at a standstill still trying to figure this out.

<!DOCTYPE html>

<html lang="en">

<head>
        <title>My name's Vehicle</title>
        <link rel="stylesheet" href="style.css">
        <meta charset="utf-8">

</head>
    <body>

    <header>
        <h1>My name's Vehicle</h1>
    </header>

    <section>
    <p>This page will prompt my name for information on her dream vehicle</p>
    <h2>Click on the button below to enter new information</h2>
    <br>

    <!--Using html form to link to php.-->
    <form action="index_process.php" method="post"> 

    <label>Vehicle Type:</label>
    <input type="text" name="Vehicle"><br><br>

    <label>Color: </label>
    <input type="text" name="Color"><br><br>

    <label>Year: </label>
    <input type="text" name="Year"><br><br>

    <label>Make: </label>
    <input type="text" name="Make"><br><br>

    <label>Model: </label>
    <input type="text" name="Model"><br><br>

    <input type="submit" value="Submit">
    </form>

    </section>

    </body>
</html>

Here's my php

<!DOCTYPE html>

<!--declaring variables-->
<?php

$Vehicle="";
$Color="";
$Year="";
$Make="";
$Model="";

?>

<html lang="en">

<head>
        <title>My name's Vehicle</title>
        <style><?php include 'style.css'; ?></style>
        <meta charset="utf-8">
</head>

    <body>

    <header>
        <h1>My name's Vehicle</h1>
    </header>

    <section>
    <p>This page will prompt my name for information on her dream vehicle</p>
    <h2>Click on the button below to enter new information</h2>
    <br>

<!--I need to use the post method-->
    <form method="post" action="index_process.php">     
<label>Vehicle Type:</label> <input type="text" name="Vehicle" value="<?php echo $Vehicle;?>">
  <br><br>
<label>Color:</label> <input type="text" name="Color" value="<?php echo $Color;?>">
  <br><br>
<label>Year:</label> <input type="text" name="Year" value="<?php echo $Year;?>">
  <br><br>
<label>Make:</label> <input type="text" name="Make" value="<?php echo $Make;?>">
  <br><br>
<label>Model:</label> <input type="text" name="Model" value="<?php echo $Model;?>">
  <br><br>
  <input type="submit" name="submit" value="Submit"> 
    </form>

  <?php 
if(isset($_POST['Submit'])){
echo("&#8226Vehicle Type: " . $_POST['Vehicle'] . "<br />\n");
echo "<br>";
echo("Color: " . $_POST['Color'] . "<br />\n");
echo "<br>";
echo("Year: " . $_POST['Year'] . "<br />\n");
echo "<br>";
echo("Make: " . $_POST['Make'] . "<br />\n");
echo "<br>";
echo("Model: " . $_POST['Model'] . "<br />\n");
echo "<br>"; }
?>

    </section>

    </body>
</html>
Dang Nguyen
  • 1,209
  • 1
  • 17
  • 29
Saiba
  • 81
  • 9

2 Answers2

0

Change if(isset($_POST['Submit'])) in the php file to if($_SERVER['REQUEST_METHOD'] == 'POST') so that the form content can be shown.

If you want the posted values to appear on fields of the php file's form, set the variables with the respective values before the form like the following code:

<!DOCTYPE html>

<!--declaring variables-->
<?php

$Vehicle="";
$Color="";
$Year="";
$Make="";
$Model="";

if($_SERVER['REQUEST_METHOD'] == 'POST')
{    
    $Vehicle = $_POST['Vehicle'];
    $Color = $_POST['Color'];
    $Year = $_POST['Year'];
    $Make = $_POST['Make'];
    $Model = $_POST['Model'];
}


?>

<html lang="en">

<head>
    <title>My name's Vehicle</title>
    <style><?php include 'style.css'; ?></style>
    <meta charset="utf-8">
</head>

<body>

    <header>
        <h1>My name's Vehicle</h1>
    </header>

    <section>
        <p>This page will prompt my name for information on her dream vehicle</p>
        <h2>Click on the button below to enter new information</h2>
        <br>

        <!--I need to use the post method-->
        <form method="post" action="index_process.php">
            <label>Vehicle Type:</label>
            <input type="text" name="Vehicle" value="<?php echo $Vehicle;?>">
            <br>
            <br>
            <label>Color:</label>
            <input type="text" name="Color" value="<?php echo $Color;?>">
            <br>
            <br>
            <label>Year:</label>
            <input type="text" name="Year" value="<?php echo $Year;?>">
            <br>
            <br>
            <label>Make:</label>
            <input type="text" name="Make" value="<?php echo $Make;?>">
            <br>
            <br>
            <label>Model:</label>
            <input type="text" name="Model" value="<?php echo $Model;?>">
            <br>
            <br>
            <input type="submit" name="submit" value="Submit">
        </form>

        <?php 
        if($_SERVER['REQUEST_METHOD'] == 'POST'){

            echo("&#8226Vehicle Type: " . $_POST['Vehicle'] . "<br />\n");
            echo "<br>";
            echo("Color: " . $_POST['Color'] . "<br />\n");
            echo "<br>";
            echo("Year: " . $_POST['Year'] . "<br />\n");
            echo "<br>";
            echo("Make: " . $_POST['Make'] . "<br />\n");
            echo "<br>";
            echo("Model: " . $_POST['Model'] . "<br />\n");
            echo "<br>";
        }
        ?>

    </section>

</body>
</html>
Moreto
  • 66
  • 3
  • I tried this and the answer from Gulshan and it finally has updated! Thank you! It's updating below my form though and not overwriting it or refreshing the page. Is there a way to do that? – Saiba Nov 01 '18 at 04:25
  • I made un update to the answer adding code you may be looking for. Please, tell me if that’s it. – Moreto Nov 01 '18 at 22:32
0

please check your HTML file you forget to add name="submit" attribute at last input

<input type="submit" value="Submit">

Replace it with

<input type="submit" name="submit" value="Submit"> 
Muhammad Adnan
  • 396
  • 3
  • 10