Проблем с форма и PHP.

access_denied_

Registered
Здравейте, от скоро се занимавам с PHP. Вече съм почти на финала на първия си проект. :D Обаче имам лекичък проблем. Имам едно текстово поле в HTML страница. Искам по него да изведа данни от MYSQL БД в PHP скрипт и да ги изкарам в текстови полета за редакция. Пробвах с echo, но гърми. Слагах "" и (), за да оградя параметрите/HTML кода/, но пак нямаше промяна. Пробвах и като формата е извън скрипта, но тогава извежда имената на променливите, а не стойността им. В един урок отрих:
Код:
<input type="hiden" name="email" value=".row["Email"]">
Без echo и променлива в скрипта, но при мен интерпретаторът дава грешка:
Код:
Parse error: syntax error, unexpected '<'
Има ли начин да стане това, което съм намислила? :roll:
 
Код:
<input type="hiden" name="email" value=".row["Email"]">
Без echo и променлива в скрипта, но при мен интерпретаторът дава грешка:

Имаш грешки в този ред. Дай го целия ред, защото мисля, че си дал само някаква част. Виж първо row ти е без $. Второ след промениливата нямаш точка. Трето тези кавички и те може да ти правят проблем.
 
deam0n каза:
Код:
<input type="hiden" name="email" value=".row[Email"]">
Без echo и променлива в скрипта, но при мен интерпретаторът дава грешка:

Имаш грешки в този ред. Дай го целия ред, защото мисля, че си дал само някаква част. Виж първо row ти е без $. Второ след промениливата нямаш точка. Трето тези кавички и те може да ти правят проблем.
дори и така да е има още една грешка поради която така няма да тръгне.
ако това цялото беше в Php таг (<? ?>) за да излезе нещо трябваше да изглежда така:

PHP:
<? echo "<input type="/hiden/" name="/email/" value=".$row['Email'].">"; ?>

другото което аз споменах е:

HTML:
<input type="hiden" name="email" value="<? echo $row['Email']; ?>"
 
DirectX каза:
deam0n каза:
Код:
<input type="hiden" name="email" value=".row["Email"]">
Без echo и променлива в скрипта, но при мен интерпретаторът дава грешка:

Имаш грешки в този ред. Дай го целия ред, защото мисля, че си дал само някаква част. Виж първо row ти е без $. Второ след промениливата нямаш точка. Трето тези кавички и те може да ти правят проблем.
дори и така да е има още една грешка поради която така няма да тръгне.
ако това цялото беше в Php таг (<? ?>) за да излезе нещо трябваше да изглежда така:

PHP:
<? echo "<input type="/hiden/" name="/email/" value=".$row["Email"].">"; ?>

Точно затова му казвам да даде целия ред, за да му оправим запетайките, щот той може да е сложил ', може " не се знае :Д Пък щом му дава такава грешка, значи този инпут се опитва да го изкара с echo.
 
Според мен тази форма ще свърши работа:
PHP:
if($_POST['up_email']){
$email = addslashes(htmlspecialchars($_POST['email'])); 
$sel = mysql_query("UPDATE pvpgn_bnet SET acct_email='$email' WHERE acct_username = '".$row['acct_username']."'");
echo '<meta http-equiv="refresh" content="0; URL='.$redirect.'">';
}
echo '<br />
Вие ще промените емайл адреса на потребител <b>'.$row['acct_username'].'</b>
<form method="POST" name="up_email">
<input type="input" name="email" value="'.$row['acct_email'].'" />
<input type="submit" name="up_email" value="Промени" style="background:#; border:1px solid #000; border-radius: 10px;"/>
</form><br /><hr />
'.$text.'';
}

просто трябва да смениш имената на колоните и таблиците с тези които ти трябват.

това е форма за промяна на емаил която показва емаила на потребителя
и при написване на нов емаил и натискане на бутона промени го променя.
 
Добре, ето го моето творение в последната му преработка. Искам създадената форма да й дам като action друг скрпит, кйто да ъпдейтва информацията в БД.
PHP:
<?php

$number=isset($_POST['search_number']) ? $_POST['search_number']: false;

if ($number== "") 
{ 
        die("Не сте въвели номер за търсене.");
}

$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");
mysql_set_charset("utf8");

$selectdb = mysql_select_db("enter_service")
or die ("Има проблем с достъпа. Обърнете се към администратор.");
#echo "Базата данни е избрана успешно";

$sqlquery = "SELECT * from `table1` where id='$number'";
$queryresult = mysql_query($sqlquery)
or die ("Няма техник с този номер.");
while( $row = mysql_fetch_array( $queryresult )) 
{
	//id = $row["id"];
	//$name = $row["name"];
	//$family_name = $row["f_name"];
      //$rights = $row["rights"];
	echo "<br>";
<form id="form_data" name="Data about technician" method="post" action="">
  <div align="center">
    <p class="style4 style2">Данни:</p>
    <p><strong>
      <label>Номер
       echo <input name="/tech_id/" type="text" id="/tech_id/" value =".$row["technician_id"]."/>
       </label>
    </strong></p>
    <p><strong>
      <label>Име
     echo <input name="name" type="text" id="name" value = ".$row["name"]." />
     </label>
    </strong></p>
   <p>
    <strong>
    <label>Фамилия</label>
      </strong>
      <label>
      echo <input name="f_name" type="text" id="f_name" value = ".$row["family_name"]." />
      </label>
   </p>
    <p><strong>Достъп до специани страници: </strong>
      <label>
      echo <input name="rights" type="checkbox" id="rcp" value = ".$row["rights_cp"]." />
    </label>
   </p>
    <p>
      <label>
      echo <input name="change" type="submit" id="change" value="Промяна" />
     </label>
    </p>
  </div>
</form>
}
?>
Коментарите са от предишни опити да взимам полетата като променливи, което заради checkbox - a ще е по - добре (ако трябва да го избегна и да го заменя с текстово поле). Въобще яко се омотах вече. :x :D
 
Абе, човек... ти знаеш ли как се слива HTML и PHP ?

Това, което си пуснал е направо ужас. Първо пишеш echo "<br>"; и след това веднага почваш формата, докато си в рамките на PHP блок. Това чудо, никога... ама никога няма да тръгне.

PHP:
while( $row = mysql_fetch_array( $queryresult )) 

{

	//id = $row["id"];

	//$name = $row["name"];

	//$family_name = $row["f_name"];

      //$rights = $row["rights"];

      ?>

<form id="form_data" name="Data about technician" method="post" action="">

  <div align="center">

    <p class="style4 style2">Данни:</p>

    <p><strong>

      <label>Номер

       <input name="tech_id" type="text" id="tech_id" value ="<?php echo $row['technician_id']; ?>"/>

       </label>

    </strong></p>

    <p><strong>

      <label>Име

     <input name="name" type="text" id="name" value = "<?php echo $row['name']; ?>" />

     </label>

    </strong></p>

   <p>

    <strong>

    <label>Фамилия</label>

      </strong>

      <label>

      <input name="f_name" type="text" id="f_name" value = "<?php echo $row['family_name']; ?>" />

      </label>

   </p>

    <p><strong>Достъп до специани страници: </strong>

      <label>

      <input name="rights" type="checkbox" id="rcp" value = "<?php echo $row['rights_cp']; ?>" />

    </label>

   </p>

    <p>

      <label>

      <input name="change" type="submit" id="change" value="Промяна" />

     </label>

    </p>

  </div>

</form>

<?php
}

?>


1. Не слагаше наклонените черти правилно
2. Използваш echo, а дори не използваш никакви кавички
3. Защо използваш echo само на input ?
4. <form id="form_data" name="Data about technician" method="post" action=""> WTF is this ?

Карат ми се хората от тука като правя забележки, но понякога имам чувството, че съм си в правото. Това са основни грешки и бас държа, че не си прочел и ред относно PHP(или си хвърчал из страниците).
 
Здравей, аз ти предлагам да изчетеш за хтмл от http://w3schools.com/ и след това да изгледаш видео уроците на гатакка за php - nau4i.me
 

Първо, писах че се занимавам от скоро. Второ, понеже нямам други ресурси, чета от нета и видях подобно генериране - само на полета, но се опитах да генерирам и форма през PHP. Което за теб може да е тъпо, но аз бях длъжна да пробвам и затова писах тук, за да може някой с опит да каже дали става. По - хубаво ли щеше е да взема нещо готово, да го преправя и да се имам за велик програмист? Трето, занимавам се с езика от 5 седмици и мисля, че навлизам бързо (главно понеже ми се налага). Вярно тук омотах логиката, но минах през доста варианти - така е като откриваш топлата вода сам. Прави си забележки, но навярно хората ти се карат, защото в коментарите ти се усеща арогантност, а не е редно. Така де, все пак и ти си бил новак и не ми казвай, че не си правил тъпи грешки, че не си губил логиката на моменти в кода, защото едва ли и най - добрите програмисти ще ти повярват. Благодаря ти, че все пак писа, защото си е помощ.

@nqkafff, благодаря ти за линка. Запозната съм с основните тагове, но всяка информация е добре дошла.

Благодаря на всички, но с помощта на един приятел реших проблема. След като си дръпна информацията от БД в променливи после в HTML кода вече (където съм си генерирала форма) на съответното поле си задавам value - то така:
HTML:
<input type="text" name="textfield" value = "<?php echo $name?>"/>

Благодаря на всички, които писаха. Регистрирах се тук, понеже когато си правих сесиите, четох едни уроци от сайта, намерих и форума и видях, че има стабилни и бързи отговори.
П.с. DirectX го е дал този вариант, но при мен без <?php не го разпознава. Когато съм го пробвала, не съм се сетила за това.
 

Back
Горе