Моя форма прекрасно подключается и вставляет в мою базу данных - за исключением того, что ни одно из значений формы не вставляется. Все пусто. Пожалуйста, взгляните на мой код и посмотрите, что мне не хватает. Я не помню, чтобы что-то изменилось, чтобы это произошло. Я включу только область формы (что, на мой взгляд, актуально. Если все в порядке, я добавлю больше, что может на нее повлиять. СПАСИБО!
(отредактировано с изменениями PHP и Html, как они предложены)
PHP
<?php
$link = mysqli_connect("localhost","eativft2_steven","sgmexican", "eativft2_artistsdb");
array_walk_recursive( $_POST, 'mysqli_real_escape_string' );
$Fname = $_POST['Fname'];
$Lname = $_POST['Lname'];
$Website = $_POST['Website'];
$Phone = $_POST['Phone'];
$Email = $_POST['Email'];
$Interests1 = $_POST['Interests1'];
$Interests2 = $_POST['Interests2'];
$Interests3 = $_POST['Interests3'];
$PersonalStatement = $_POST['PersonalStatement'];
if ($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$result = mysqli_query($link,"INSERT INTO User (Fname, Lname, Website, Phone, Email, Interest1, Interest2, Interest3, PersonalStatement) VALUES('$Fname', '$Lname', '$Website', '$Phone', '$Email', '$Interests1', '$Interests2', '$Interests3', '$PersonalStatement')");
if (!$result){
echo "ERROR: Could not execute $result. " . mysqli_error($link);
} else{
echo "<h2>We got you.</h2>";
}
mysqli_close($link);
?>
HTML
<div class = "modal-box" id = "modal-box">
<div class = "modal-content">
<span class = "close"> X </span>
<h2 id = "modal-title">Create a profile</h2>
<form action = "/Collaborate/indexxx.php" method = "post" name = "User">
<label for = "Fname">FIRST NAME</label><br>
<input type = "text" name = "Fname" placeholder = "first name" required> <br>
<label for = "Lname">LAST NAME</label><br>
<input type = "text" name = "Lname" placeholder = "last name" required> <br>
<label for = "Website">WEBSITE URL</label><br>
<input type = "text" name = "Website" placeholder = "show your work" required> <br>
<label for = "Phone">PHONE NUMBER</label><br>
<input type = "text" name = "Phone" placeholder = "1234567890" required> <br>
<label for = "Email">EMAIL ADDRESS</label><br>
<input type = "text" name = "Email" placeholder = "[email protected]" required><br>
<label for = "Interests1">INTERESTS</label><br>
<select class = "Interest1" id = "Interests1" name = "Interests1">
<optgroup label = "Audio">
<option>ADR</option>
<option>Audio Post</option>
<option>Composer</option>
<option>Electrician</option>
<option>Foley</option>
<option>Mixer</option>
<option>On-Set</option>
<option>Sound Design</option>
<option>Studio</option>
<option>Learning Audio</option>
</optgroup>
<optgroup label = "Animation">
<option>Modeling</option>
<option>Motion</option>
<option>Lighting</option>
<option>Backgrounds</option>
<option>Learning Animation</option>
</optgroup>
<optgroup label = "Culinary">
<option>Baker</option>
<option>Catering</option>
<option>Cuisine (specify)</option>
<option>Management</option>
<option>Learning Culinary</option>
</optgroup>
<optgroup label = "Fashion">
<option>Costume</option>
<option>Design</option>
<option>Marketing</option>
<option>Tailor</option>
<option>Wardrobe</option>
<option>Learning Fashion</option>
</optgroup>
<optgroup label = "Gaming">
<option>3D Artist</option>
<option>Animator</option>
<option>Art Director</option>
<option>Concept Artist</option>
<option>Environment Artist</option>
<option>Game Tester</option>
<option>Modeler</option>
<option>Motion Capture</option>
<option>Project Manager</option>
<option>Programmer</option>
<option>UI Artist</option>
<option>Learning Gaming</option>
</optgroup>
<optgroup label = "Industrial Design">
<option>Product</option>
<option>Learning Industrial Design</option>
</optgroup>
<optgroup label = "Interior Design">
<option>Commercial</option>
<option>Drafting</option>
<option>Environment</option>
<option>Hospitality</option>
<option>Institution</option>
<option>Residential</option>
<option>Learning Interior Design</option>
</optgroup>
<optgroup label = "Photo">
<option>Commercial</option>
<option>Event</option>
<option>Fashion</option>
<option>Narrative</option>
<option>Nature</option>
<option>Real Estate</option>
<option>Sports</option>
<option>Wedding</option>
<option>Learning Photo</option>
</optgroup>
<optgroup label = "Video">
<option>Cinematography</option>
<option>Director</option>
<option>Editor</option>
<option>Producer</option>
<option>Production Assistant</option>
<option>Scriptwriter</option>
<option>Learning Video</option>
</optgroup>
<optgroup label = "Web Design">
<option>Developing</option>
<option>Interface</option>
<option>Typography</option>
<option>User Experience</option>
<option>Learning Web Design</option>
</optgroup>
</select>
<label for = "Interests2">INTERESTS</label><br>
<select class = "Interest2" id = "Interests2" name = "Interests2">
<optgroup label = "Audio">
<option>ADR</option>
<option>Audio Post</option>
<option>Composer</option>
<option>Electrician</option>
<option>Foley</option>
<option>Mixer</option>
<option>On-Set</option>
<option>Sound Design</option>
<option>Studio</option>
<option>Learning Audio</option>
</optgroup>
<optgroup label = "Animation">
<option>Modeling</option>
<option>Motion</option>
<option>Lighting</option>
<option>Backgrounds</option>
<option>Learning Animation</option>
</optgroup>
<optgroup label = "Culinary">
<option>Baker</option>
<option>Catering</option>
<option>Cuisine (specify)</option>
<option>Management</option>
<option>Learning Culinary</option>
</optgroup>
<optgroup label = "Fashion">
<option>Costume</option>
<option>Design</option>
<option>Marketing</option>
<option>Tailor</option>
<option>Wardrobe</option>
<option>Learning Fashion</option>
</optgroup>
<optgroup label = "Gaming">
<option>3D Artist</option>
<option>Animator</option>
<option>Art Director</option>
<option>Concept Artist</option>
<option>Environment Artist</option>
<option>Game Tester</option>
<option>Modeler</option>
<option>Motion Capture</option>
<option>Project Manager</option>
<option>Programmer</option>
<option>UI Artist</option>
<option>Learning Gaming</option>
</optgroup>
<optgroup label = "Industrial Design">
<option>Product</option>
<option>Learning Industrial Design</option>
</optgroup>
<optgroup label = "Interior Design">
<option>Commercial</option>
<option>Drafting</option>
<option>Environment</option>
<option>Hospitality</option>
<option>Institution</option>
<option>Residential</option>
<option>Learning Interior Design</option>
</optgroup>
<optgroup label = "Photo">
<option>Commercial</option>
<option>Event</option>
<option>Fashion</option>
<option>Narrative</option>
<option>Nature</option>
<option>Real Estate</option>
<option>Sports</option>
<option>Wedding</option>
<option>Learning Photo</option>
</optgroup>
<optgroup label = "Video">
<option>Cinematography</option>
<option>Director</option>
<option>Editor</option>
<option>Producer</option>
<option>Production Assistant</option>
<option>Scriptwriter</option>
<option>Learning Video</option>
</optgroup>
<optgroup label = "Web Design">
<option>Developing</option>
<option>Interface</option>
<option>Typography</option>
<option>User Experience</option>
<option>Learning Web Design</option>
</optgroup>
</select>
<label for = "Interests3">INTERESTS</label><br>
<select class = "Interest3" id = "Interests3" name = "Interests3">
<optgroup label = "Audio">
<option>ADR</option>
<option>Audio Post</option>
<option>Composer</option>
<option>Electrician</option>
<option>Foley</option>
<option>Mixer</option>
<option>On-Set</option>
<option>Sound Design</option>
<option>Studio</option>
<option>Learning Audio</option>
</optgroup>
<optgroup label = "Animation">
<option>Modeling</option>
<option>Motion</option>
<option>Lighting</option>
<option>Backgrounds</option>
<option>Learning Animation</option>
</optgroup>
<optgroup label = "Culinary">
<option>Baker</option>
<option>Catering</option>
<option>Cuisine (specify)</option>
<option>Management</option>
<option>Learning Culinary</option>
</optgroup>
<optgroup label = "Fashion">
<option>Costume</option>
<option>Design</option>
<option>Marketing</option>
<option>Tailor</option>
<option>Wardrobe</option>
<option>Learning Fashion</option>
</optgroup>
<optgroup label = "Gaming">
<option>3D Artist</option>
<option>Animator</option>
<option>Art Director</option>
<option>Concept Artist</option>
<option>Environment Artist</option>
<option>Game Tester</option>
<option>Modeler</option>
<option>Motion Capture</option>
<option>Project Manager</option>
<option>Programmer</option>
<option>UI Artist</option>
<option>Learning Gaming</option>
</optgroup>
<optgroup label = "Industrial Design">
<option>Product</option>
<option>Learning Industrial Design</option>
</optgroup>
<optgroup label = "Interior Design">
<option>Commercial</option>
<option>Drafting</option>
<option>Environment</option>
<option>Hospitality</option>
<option>Institution</option>
<option>Residential</option>
<option>Learning Interior Design</option>
</optgroup>
<optgroup label = "Photo">
<option>Commercial</option>
<option>Event</option>
<option>Fashion</option>
<option>Narrative</option>
<option>Nature</option>
<option>Real Estate</option>
<option>Sports</option>
<option>Wedding</option>
<option>Learning Photo</option>
</optgroup>
<optgroup label = "Video">
<option>Cinematography</option>
<option>Director</option>
<option>Editor</option>
<option>Producer</option>
<option>Production Assistant</option>
<option>Scriptwriter</option>
<option>Learning Video</option>
</optgroup>
<optgroup label = "Web Design">
<option>Developing</option>
<option>Interface</option>
<option>Typography</option>
<option>User Experience</option>
<option>Learning Web Design</option>
</optgroup>
</select>
<br>
<label for = "PersonalStatement">PERSONAL STATEMENT</label><br>
<textarea name = "PersonalStatement" id = "PersonalStatement" minlength = "800" maxlength = "1500" rows = "5" cols = "20" placeholder = "Let us get to know you better." required></textarea><br />
<button id = "submit" name = "submit"> Submit my profile </button>
</form>
</div>
</div>
Вы пробовали мой ответ @steven?
Я перепробовал все ответы, но до сих пор ничего не работает. Еще более странно - я не могу так часто вставлять в свою базу данных. Я могу отправлять свою форму, может быть, раз в 5 минут (и да, она все равно отправляет пустую). Я могу запустить SQL в phpMyAdmin и просто вставить туда ... Я использую Bluehost, если это вообще имеет значение (например, есть ли какие-либо разрешения, на которые мне нужно посмотреть).
Проверил свой журнал ошибок - когда я не могу отправлять форму слишком часто, это связано с: [09-May-2018 08:21:30 UTC] Предупреждение PHP: mysqli_real_escape_string () ожидает, что параметр 1 будет mysqli, задано значение null в ***** / ***** / ***** / Collaborate / indexxx.php в строке 29 Строка 29 - die («ОШИБКА: не удалось подключиться.». mysqli_connect_error ()); Хм .... Я в недоумении ...






Не ставьте ' для переменных.
Проверь это:
$sql = "INSERT INTO User (Fname, Lname, Website, Phone, Email, Interest1, Interest2, Interest3, PersonalStatement) VALUES($Fname, $Lname, $Website, $Phone, $Email, $Interest1, $Interest2, $Interest3, $PersonalStatement)";
@ Стивен Герреро, вы пробовали этот ответ? Решило ли это проблему?
Во-первых: метод mysqli_real_escape_string () получает только один аргумент, например:
$Fname = mysqli_real_escape_string($_REQUEST['Fname']);
Второе: используйте $_POST вместо $_REQUEST. Вы можете увидеть причину здесь.
В-третьих: в вашем HTML установите свойство value = "some value" для элементов <option> из <select>.
Надеюсь, это поможет тебе.
Я сделал все это, но он все еще вставляет пустые данные.
Расширяя ответ Сохраба Юсефи, вы можете сократить свой код, рекурсивно повторяя $ _POST, чтобы использовать mysqli_real_escape_string ().
array_walk_recursive( $_POST, 'mysqli_real_escape_string' );
Для справки см. здесь.
Надеюсь это поможет.
Если кто-то похож на меня и хочет, чтобы их URL выглядел красиво. Не делайте этого с файлами php. Как только я отредактировал свой .htaccess, чтобы не вырезать .php, все снова заработало. Я не знаю, сработает ли изменение действия формы на [файл] (без .php). Но я не пытаюсь!
Рекомендую использовать заранее подготовленные заявления.