У меня есть система, в которой пользователи должны зарегистрироваться и войти на мой сайт, чтобы добавить рецепты, которые могут просматривать незарегистрированные пользователи и явно зарегистрированные пользователи из внешнего интерфейса.
До сих пор я занимался страницей регистрации, страницей входа и страницей «Моя учетная запись», чтобы пользователи могли входить в систему и отправлять рецепты. Все работает, но теперь я пытаюсь добавить еще одну функциональность в мою систему, чтобы пользователи могли редактировать / удалять свои собственные рецепты. Я выполнил вход в систему путем создания сеанса, который содержит имя пользователя, а не выводил его в URL следующим образом: www.cooking.com/my-account.php?user_id=26.
Я хочу такого же рода вещи, но на этот раз я хочу, чтобы рецепты сохранялись в сеансе, а не идентификатор рецепта, отображаемый в URL. Я не знаю, как это сделать. У меня есть таблица «стартеров» в MySQL со следующими полями:
username ()
recipename
ingredients
method
time
id
Как только вы войдете в систему и захотите отредактировать / удалить загруженные вами рецепты, появится таблица, содержащая все загруженные вами рецепты. Я хочу, чтобы пользователь нажал на любой рецепт, и он переместится на другую страницу, где он сможет редактировать свои материалы.
Я пробовал это, но безуспешно. Ниже приведены коды, которые я использовал при отображении ошибки после нажатия кнопки «Изменить»:
РЕДАКТИРОВАНИЕ СТАРТЕРНОЙ СТРАНИЦЫ (editstarters.php)
<?php
session_start();
require_once '../database.php';
if (isset($_SESSION['myusername'])){
echo "Welcome ". $_SESSION['myusername'];
}
?>
<br /><br />You have uploaded the following starters:
<br /><BR />
<?php
include '../database.php';
$userid = $_SESSION["myusername"];
$result = mysql_query("SELECT * FROM starters WHERE username = '". $_SESSION['myusername']."' ");
echo "<table border='1'><table border width=65%><tr><th>Recipie Name</th><th>Ingredients</th><th>Method</th><th>Time</th></tr>";
while($getrecipie = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $recipiename = $getrecipie['recipename']. "</td>";
echo "<td>" . $ingredients = $getrecipie['ingredients']. "</td>";
echo "<td>" . $method = $getrecipie['method']. "</td>";
echo "<td>" . $time = $getrecipie['time']. 'minutes'."</td>";
?>
<td><a href = "startersedited.php?rec=<?php echo $getrecipie['id'] ?>" >Edit</a></td>
<td><a href = "DELETE1.php?rec=<?php echo $getrecipie['Recipie_ID'] ?>&id=<?php echo $user_id?>" >Delete</a></td>
<!--using the stu_id value in the URL to select the correct data when wego to the relevant pages -->
<?php
}
echo "</tr>";
echo "</table>";
?>
СТАРТЕРЫ РЕДАКТИРОВАННАЯ СТРАНИЦА (startersedited.php)
<?php
session_start();
require_once '../database.php';
if (isset($_SESSION['myusername'])){
echo "Welcome ". $_SESSION['myusername'];
}
?>
<br /><br />EDIT/DELETE YOUR STARTERS
<br /><BR />
<?php
include '../database.php';
$userid = $_SESSION["myusername"];
$result = mysql_query("SELECT * FROM starters WHERE username = '". $_SESSION['myusername']."' AND recipie_id='{$_GET['rec']}'");
$getrecipie = mysql_fetch_array($result);
$recipie = $getrecipie['recipename'];
$ingredients = $getrecipie['ingredients'];
$method = $getrecipie['method'];
$time = $getrecipie['time'];
?>
<h1>Edit Recipies</h1>
<p> </p>
<form name="form1" method="post" action="startereditsuccess.php?rec=<?php echo $_GET['id']?>">
<table width="609" height="250" border="0">
<tr>
<td width="155">Recipie Name</td>
<td width="347"><label for="recipiename"></label> <input type="text" name="recipename" value="<? echo $recipe ?>" id="recipename" >
</td>
</tr>
<tr>
<td>Ingredients</td>
<td><label for="ingredients"></label> <textarea name="ingredients" cols="50" rows="5" id="ingredients"><? echo $ingredients ?></textarea></td>
</tr>
<tr>
<td>Method</td>
<td><label for="method"></label> <textarea name="method" cols="50" rows="5" id="method"><? echo $method ?></textarea></td>
</tr>
<tr>
<td>Time</td>
<td><label for="time"></label> <input type="text" name="time" value="<? echo $time ?>" id="time"></td>
</tr>
</table>
<p>
<input type="submit" name="update" id="update" value="Update">
</p>
</form>
Это ошибка, которую я получаю:
Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, логическое значение, указанное в /home/jahedhus/public_html/cook/editdelete/startersedited.php в строке 55
Пожалуйста, помогите мне, Я ПОТЕРЯЛ!