2017-08-28 5 views
1

私はリンクを追加するためのPHP Webフォームにほとんど問題がありません。複数のPHP値でhrefリンクを追加するには?

私は、フォームがで値を記録したい:

<a href="$_POST['field1']" target="_blank" rel="nofollow" title=".$_POST['field3']">.$_POST['field2']</a> 

しかし、私は正常に動作するようにどのように行うのか分かりません。

私のコードは... HTMLフォームのコードです:

<?php 
if(isset($_POST['field1']) && isset($_POST['field2']) && isset($_POST['field3'])) { 
    $data = '<a href='.$_POST["field1"]' target='_blank' rel='nofollow' title='.$_POST["field3"]'>.$_POST["field2"]</a>' . "\n"; 
    $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX); 
    if($ret === false) { 
     die('There was an error writing this file'); 
    } 
    else { 
     echo "$ret bytes written to file"; 
    } 
} 
else { 
    die('no post data to process'); 
} 
?> 

およびshowフォームレコードの私のコードは次のとおりです:

<form action="myprocessingscript.php" method="POST"> 
     <p>Уеб Сайт: </p><input name="field1" type="text" placeholder="https://www.tvoiasait.com/" /><br /> 
     <p>Ключова дума: </p><input name="field2" type="text" placeholder="Моят Личен Блог" /><br /> 
     <p>Описание: </p><input name="field3" type="text" placeholder="Личен Блог за интересни неща" /><br /> 
     <br /><input type="submit" name="submit" value="Добави сайта"> 
    </form> 

myprocessingscript.phpコードがある

<?php 
    $myfile = fopen("mydata.txt", "r") or die("Unable to open file!"); 
    while(!feof($myfile)) { 
    echo fgets($myfile); 
    } 
    fclose($myfile); 
    ?> 

私のウェブサイトでこのフォームを使用して、訪問者がリンクを追加できるようにしたい。 HTML行に$ _POST ['field1']を使う方法が分かりません。

お時間をいただきありがとうございます。

答えて

0
<a href="<?php echo $_POST['field1']?>" target="_blank" rel="nofollow" title="<?php echo $_POST['field3'] ?>"><?php echo $_POST['field2'] ?></a> 

または

<?php 

echo '<a href="' . $_POST['field1'] . '" target="_blank" rel="nofollow" 
title="' . $_POST['field3'] . '"><' . $_POST['field2'] . '</a>': 

?> 
+0

ありがとう、あなたとてもそうです:) 私が書いたことから、中括弧を整理する方法を学びました。 今、私の$データ行は $ data = '' . $_POST['field2'] . ''です。 '| ' "\ n"; とすべて正常に動作します。 – CaTzArOv

+0

Fine! phpとhtmlの文字列が混在しないように注意してください。 php echo 'a'に使用し、htmlプロパティのエコーでは 'a'を使用します。 – Oliver

0
This below "" string addition could solve your problem. 


    <?php 
     if(isset($_POST['field1']) && isset($_POST['field2']) && isset($_POST['field3'])) { 
      $data = '<a href="'.$_POST["field1"].'" target="_blank" rel="nofollow" title="'.$_POST["field3"].'">'.$_POST["field2"].'</a>' . "\n"; 
      $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX); 
      if($ret === false) { 
       die('There was an error writing this file'); 
      } else { 
       echo "$ret bytes written to file"; 
      } 
     } 
     else { 
      die('no post data to process'); 
     } 
    ?> 
+0

私が編集したソースコードを使用するとき、私はこのエラーを参照してください。 解析エラー:構文エラー、予期しない '' "ターゲット= "_ブランク" のrelは=" nofollを」 (T_CONSTANT_ENCAPSED_STRING) – CaTzArOv

+0

私の編集したコードをご覧ください。あなたがそれが好きなら、上向きのボタンを押してください。 – prashant

関連する問題