채택완료

어렵게 찾은건데요..

2016-08-31 (수) 16:53:22 2,098

유효성 체크입니다.

이거를 베이직 스킨에 적용하려는데...

1)website를 <?=$write[$wr11]?>로 바꾸려고 하는데 어떻게 해야 할까요....

2)form의 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  를 베이직에 맞게 하려면 어떻게 해야 할까요?

<!DOCTYPE HTML>  

<html>

<head>

<style>

.error {color: #FF0000;}

</style>

</head>

<body>  

<?php

// define variables and set to empty values

$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["name"])) {

    $nameErr = "Name is required";

  } else {

    $name = test_input($_POST["name"]);

    // check if name only contains letters and whitespace

    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

      $nameErr = "Only letters and white space allowed"; 

    }

  }

  if (empty($_POST["website"])) { 

    $website = "";

  } else {

    $website = test_input($_POST["website"]);

    // check if URL address syntax is valid (this regular expression also allows dashes in the URL)

    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {

      $websiteErr = "Invalid URL"; 

    }

  }

}

function test_input($data) {

  $data = trim($data);

  $data = stripslashes($data);

  $data = htmlspecialchars($data);

  return $data;

}

?>

<h2>PHP Form Validation Example</h2>

<p><span class="error">* required field.</span></p>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  

  Name: <input type="text" name="name" value="<?php echo $name;?>">

  <span class="error">* <?php echo $nameErr;?></span>

  <br><br>

  Website: <input type="text" name="website" value="<?php echo $website;?>"> 

  <span class="error"><?php echo $websiteErr;?></span>

  <br><br>

  <br><br>

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

</form>

<?php

echo "<h2>Your Input:</h2>";

echo $name;

echo "<br>";

echo $email;

echo "<br>";

echo $website;

echo "<br>";

?>

</body>

</html>

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트
2016-09-01 (목) 16:38:47
이미 저장되어있는 값에서 불이고 싶다면

if(empty($_POST['website'])) {

  $website = ""; 이부분에서  

  $website = $write[$wr11]; 이렇게 하시면 website에 값이 없을 때 저장된 글을 불러올 수 있는  

write.skin.php에서 활용이 가능해 지겠지요

그리고 아랫쪽에 input text 의 name 값이 website 인녀석을 게시판의 변수로 바꿔야 겠지요

위에 적어놓으신 예제는 현재페이지에서 현재페이지로 값을 보낼 때 사용하는 페이지입니다.

값을 저장하고 싶다면

  Website: <input type="text" name="website" value="<?php echo $website;?>">  

이부분에서 name값을 저장되는 예비필드로 바꾸던지 해야겠지요 

답변에 대한 댓글 2개

2016-09-02 (금) 22:38:51
늘 감사합니다..짜집기가 제가 하긴 쉽지 않궁요~ㅋ
2016-09-04 (일) 00:08:13
포기해야 할거 같네요ㅡㅡ암튼 감사합니다.

답변을 작성하려면 로그인이 필요합니다.