Estoy haciendo un formulario que envía información por correo electrónico. Soy nuevo en HTML y estoy tratando de hacer un área rectangular para tomar la información del usuario y luego enviarla al correo electrónico especificado. Revisé publicaciones similares y aprendí cómo hacerlo con PHP y la acción del formulario.

Pero no puedo hacer que el 'área del rectángulo' sea una 'entrada'. El problema es con mi parte HTML, así que no incluí la parte CSS.

El problema es que ni el área del rectángulo ni el botón de enviar funcionan. No puedo dar la funcionalidad. Esto es lo que probé:

Abrí la etiqueta de acción del formulario al comienzo del área de información en mi archivo HTML:

<form action="mail_handler.php" method="post" name="form" class="form-box">
    <div id="WriteToUs">
        <span>Write to Us!</span>
    </div>
    <svg class="EnterMessage">
        
        <rect id="EnterMessage" rx="44" ry="44" x="0" y="0" width="589" height="324">
        <textarea name="msg" class="EnterMessage" placeholder="Enter Your Message Here..." required></textarea>
        </rect>
    </svg>
    <svg input type="submit" name="submit" value="Send" class="Submit_BTN">
        <rect id="Submit_BTN" rx="23.5" ry="23.5" x="0" y="0" width="173" height="47">
        </rect>
    </svg>
    <div id="SUBMIT">
        <span>SUBMIT</span>
    </div>
    <svg input type="email" name="email" class="Enter_Ur_Email_Field" placeholder="Enter Your Email" required >
        <rect id="Enter_Ur_Email_Field" rx="29.5" ry="29.5" x="0" y="0" width="589" height="59">
        </rect>
    </svg>
    <svg input type="text" name="name" class="Enter_Ur_Name_Field" placeholder="Enter Your Name" required >
        <rect id="Enter_Ur_Name_Field" rx="29.5" ry="29.5" x="0" y="0" width="589" height="59">
        </rect>
    </svg>
    <div id="Enter_your_name">
        <span>Enter your name</span>
    </div>
    <div id="Enter_your_e-mail">
        <span>Enter your e-mail</span>
    </div>
    <div id="Enter_your_meassage">
        <span>Enter your meassage</span>
    </div>
</form>

Y aquí está mi archivo PHP:

<?php
    if(isset($_POST['submit'])){
        $name=$_POST['name'];
        $email=$_POST['email'];
        $msg=$_POST['msg'];

        $to='xxxxxxx@gmail.com'; // my email 
        $subject='Form Submission';
        $message="Name :".$name."\n"."Wrote the following :"."\n\n".$msg;
        $headers="From: ".$email;

        if(mail($to, $subject, $message, $headers)){
            echo "<h1>Sent Successfully! Thank you"." ".$name.", We will contact you shortly!</h1>";
        }
        else{
            echo "Something went wrong!";
        }
    }
?>

texto fuerte

1
Deniz 14 mar. 2021 a las 21:39

1 respuesta

La mejor respuesta

Estás usando SVG. Es por eso que su código no funcionará. Debería ser:

<form action="mail_handler.php" method="post" name="form" class="form-box">
  <div id="WriteToUs">
    <span>Write to Us!</span>
  </div>
  <div class="EnterMessage">

    <!--<rect id="EnterMessage" rx="44" ry="44" x="0" y="0" width="589" height="324"> Not needed-->
    <textarea name="msg" class="EnterMessage" placeholder="Enter Your Message Here..." required></textarea>
    <!--</rect>-->
    <!--</svg>-->

    <!--</rect>-->
    </svg>
    <!-- <div id="SUBMIT">
        <span>SUBMIT</span>
    </div>-->
    <br/>
    <input type="email" name="email" class="Enter_Ur_Email_Field" placeholder="Enter Your Email" required><br/>
    <!-- <rect id="Enter_Ur_Email_Field" rx="29.5" ry="29.5" x="0" y="0" width="589" height="59">
        </rect>
    </svg>-->
    <input type="text" name="name" class="Enter_Ur_Name_Field" placeholder="Enter Your Name" required>
    <input type="submit" name="submit" value="Submit" class="Submit_BTN">
    <!--<rect id="Enter_Ur_Name_Field" rx="29.5" ry="29.5" x="0" y="0" width="589" height="59">
        </rect>
    </svg>-->
    <!--<div id="Enter_your_name">
        <span>Enter your name</span>
    </div>
    <div id="Enter_your_e-mail">
        <span>Enter your e-mail</span>
    </div>
    <div id="Enter_your_meassage">
        <span>Enter your message</span>-->
  </div>
</form>

Intentó usar SVG para sus entradas. SVG es solo para iconos.

2
Anonymous 14 mar. 2021 a las 18:55