Nano Hash - криптовалюты, майнинг, программирование

Простая система оценок «нравится/не нравится» в php и MySQL.

Я хочу добавить простую рейтинговую систему на свой случайный видео-сайт (id = youtube id)
У меня нет большого опыта работы с php и MySQL, и я не знаю, как обновлять поле с помощью кнопок отправки таким образом. :

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name"rateform">
  <input name="rateup" type="image" src="up.png" id="rateup" value="rateup" />
  <input name="ratedown" type="image" src="down.png" id="ratedown" 
   value="ratedown" />
</form>
<?PHP
mysql_connect(",",",",",")or die(mysql_error());
mysql_select_db(",")or die(mysql_error());
if ($_POST['rateup'])
{
    mysql_query("UPDATE utube SET rating = rating + 1 
                WHERE (id = $pageid)");} else if ($_POST['ratedown']) {
    mysql_query("UPDATE utube SET rating = rating - 1 
                WHERE (id = $pageid)");}

?>

Есть ли что-то, что мне нужно сделать, чтобы связать html и php вместе?
Все операторы сами по себе возвращают правильные значения (например, $pageid)
, но когда я нажимаю кнопки, ни с какими полями ничего не происходит.

Когда я помещаю запрос mysql непосредственно в phpmyadmin, он также работает,
я просто не уверен, как html взаимодействует с php?
Я был бы признателен, если бы кто-нибудь сообщил мне, как это работает, поэтому я может заставить мой скрипт работать.

28.04.2011

  • Откуда $pageid? 28.04.2011
  • в вашем коде возможна SQL-инъекция, замените WHERE (id = $pageid)" на WHERE (id = '$pageid')" (обратите внимание на кавычки) и убедитесь, что $pageid экранирован с помощью mysql_real_escape_string(), см.: stackoverflow.com/questions/332365/ 28.04.2011
  • @mario @Johan Ого, я чувствую себя глупо из-за этого. $pageid должен быть в кавычках, так как это строка varchar. Добавление котировок все исправило и теперь рейтинг работает. $pageid просто возвращает случайное значение из моей таблицы идентификаторов (так что каждое обновление дает случайное видео для просмотра). Я посмотрю, как исправить SQL-инъекции, еще раз спасибо! 28.04.2011

Ответы:


1

Приступим к поиску проблемы: я могу представить только две причины этого:

  • PHP не подключается к БД. Попробуйте выполнить запрос непосредственно из вашего скрипта (извлекая его из оператора if.
  • Оператор if по какой-то причине неверен: попробуйте заменить mysql_query на print('up'); и print('down');.

Кстати, else if — это однословное утверждение. Вы можете заменить его на elseif.

28.04.2011
  • Большое спасибо за это, это помогло мне определить проблему. Определенно что-то не так с mysql_query, который я сделал. 28.04.2011

  • 2

    Кнопки изображения размещают значение координаты, по которому щелкнули, за исключением имени формы. inputname_x & inputname_y

    if ($_POST['rateup_x'])
    {
        mysql_query("UPDATE utube SET rating = rating + 1 
          WHERE (id = $pageid)");} else if ($_POST['ratedown_x']) {
        mysql_query("UPDATE utube SET rating = rating - 1 
          WHERE (id = $pageid)");}
    
    28.04.2011
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..