2014-01-21 3 views
0
<?php 
     error_reporting(E_ALL); 
    ini_set('display_errors','1'); 

    if(isset($_POST["signupbtn"])) { 
     if ($log_username) { 
      /// getting data from submitted form into local variables 
      $yt = preg_replace('#[^a-z 0-9]#i', '', $_POST['youtubei']); 
      $t = preg_replace('#[^a-z 0-9]#i', '', $_POST['twitchi']); 
      $vt = preg_replace('#[^a-z 0-9]#i', '', $_POST['videotypei']); 
      $ip = preg_replace('#[^0-9.]#', '', getenv('REMOTE_ADDR')); 
      // ------------------------------------------- 
       if (is_numeric($t[0])) { 
       echo 'Twitch Account cannot begin with a number'; 
       exit(); 
      } else { $sqli = "UPDATE profilepage SET youtube='$yt' WHERE username='$log_username'"; 
        $query = mysqli_query($db_conx, $sqli); 
        $sqli = "UPDATE profilepage SET twitch='$t' WHERE username='$log_username'"; 
        $query = mysqli_query($db_conx, $sqli); 
        $sqli = "UPDATE profilepage SET videotype='$vt' WHERE username='$log_username'"; 
        $query = mysqli_query($db_conx, $sqli); 
         echo "Video feeds update"; 

       exit();  
       } 
     } 
    } 

    ?> 
    <?php { 
    echo('<form action="profile_interface/modules/videofeedform.php" method="POST" name="videoform">'); 
    echo('<input id="youtubei" value="YouTube Video Key" maxlength="16">'); 
    echo('<input id="twitchi" value="twrdodge" type="text" maxlength="16">'); 
    echo('<select id="videotypei"><option value="">Select Display video</option>'); 
    echo('<option value="yotubekey">YouTube</option>'); 
    echo('<option value="twitchuser">Twitch</option>'); 
    echo('</select>'); 
    echo('<input type="submit" id="signupbtn" name="signupbtn"></form>'); 
    } 
    EXIT(); 

    ?> 

Прежде всего, я пытаюсь изучить php. Я прочитал несколько книг и просмотрел много видео (я все еще изучаю).проблемы с другой формой

Теперь я пытаюсь поэкспериментировать с формами, обновляя информацию о базе данных. Таблица уже установлена ​​во время регистрации, и теперь я хотел бы ее обновить.

ОК, поэтому вышеуказанный код является формой и php для базы данных. Это встроено на страницу, в которой нет проблем с отображением этого содержимого, и страница называется user.php (страница профиля пользователя).

Теперь дело в том, что каждый раз, когда я заполняю форму и отправлю, она просто обновляет страницу, и когда я смотрю на базу данных, ничего не обновляется. Мне было интересно, сможет ли кто-нибудь указать, где я ошибаюсь.

Что я пробовал: 1) Я пробовал удалить все входные данные формы (и соответствующий код базы данных), за исключением одного ввода, и он просто обновляется. 2) Я попытался с помощью INSERT INTO

теперь $log_username не проблема, так как верхний скрипт делает проверку для этого, и все возвращается в порядке, так что я знаю, что это не проблема с $log_username.

Это не возвращает никаких ошибок, и соединение с базой данных также устанавливается через верхнюю часть INCLUDE_ONCE, что не является проблемой, поскольку она работает через веб-сайт.

Если бы кто-нибудь мог указать, где я иду здесь неправильно, и, возможно, вставьте правильный код в ответ, я буду очень этому благодарен. Спасибо, что нашли время прочитать это, и я с нетерпением жду вашего ответа.

+1

Где вы на самом деле отправки формы? Я не вижу ничего, что связывает кнопку отправки с отправкой формы. Кроме того, почему вы используете PHP для 'echo()' HTML? Если вы просто удалите окружающие ' ', Вы можете просто написать HTML – Dutchie432

+1

@ Dutchie432. В большинстве браузеров тег

+1

@DickW Я могу честно сказать, что я никогда не использовал тег'

ответ

1

Первое начало

Вам необходимо указать имя для отправки. У вас есть

<button id="signupbtn"> 

Я хотел бы предложить, чтобы сделать его как

<input type="submit" id="signupbtn" name="signupbtn"> 

Вы используете

if(isset($_POST["signupbtn"])) {) 

поэтому он не будет найти какой-либо POST с указанным именем, если ваша форма не имеет некоторые элемент с этим именем.

+0

Спасибо за ваш Я добавил код обновления в исходный код.Я проверил его, и страница все еще обновляется и не обновляет базу данных. Еще раз спасибо –

+1

Хмм может быть некоторая ошибка sql? Вы можете проверить, находится ли код внутри if (isset ($ _POST ["signupbtn"])) {}, выполняя эхо элементов формы. –

+0

, если вы имеете в виду, это как 'if (isset ($ _ POST [" signupbtn "])) {...... КОД ЗДЕСЬ .. ...} ', тогда да, весь код находится внутри' .... CODE ЗДЕСЬ .... ' –

1

$ _POST [ «signupbtn»] отрабатывает имени атрибута не изменения идентификатор один

всех ваших идентификаторов к именам и вы shoudl работу. Кроме того, вместо <button id="signupbtn">Submit</button> использовать <input type="submit" name="signupbtn" value="Submit" />

echo('<form action="profile_interface/modules/videofeedform.php" method="POST" name="videoform">'); 
echo('<input name="youtubei" value="YouTube Video Key" maxlength="16">'); 
echo('<input name="twitchi" value="twrdodge" type="text" maxlength="16">'); 
echo('<select name="videotypei"><option value="">Select Display video</option>'); 
echo('<option value="yotubekey">YouTube</option>'); 
echo('<option value="twitchuser">Twitch</option>'); 
echo('</select>'); 
echo('<input type="submit" name="signupbtn" value="Submit" /></form>'); 
+0

Благодарим вас за ответ. Я обновил его с именем сейчас, а также обновил код в исходном сообщении. Я по-прежнему получаю такую ​​же проблему без обновления базы данных и никаких данных, записываемых в базу данных –

+1

, вы получаете что-либо, что эхо из вашего скрипта? Если бы я не предложил бы добавить в '' if ($ log_username) '' else {echo 'log_username is false';} 'также что-то похожее на' if (isset ($ _ POST ["signupbtn]])' statement , таким образом вы можете видеть, где именно ваш скрипт терпит неудачу –

+0

Я пробовал то, о чем вы меня тоже спрашивали, и, похоже, ничего не говорит. вот изображение того, куда я положил код http://gyazo.com/52ec2e5984d48f1de781655073bccdb9 Спасибо за ваш ответ и время –

Смежные вопросы