2013-09-15 3 views
0

Я пытаюсь ввести данные в базу данных mysql, используя форму php/html, но она не работает, и я не знаю почему. Запись не вставлена, и я получаю только пустую страницу после отправки формы.Вставить в mysql, используя форму php/html - не работает

Спасибо, Eugenie

Это моя база данных enter image description here

Это HTML форма:

<form method="post" action="http://thesoundclinic.co.uk/site/modules/cjaycontent/index.php?id=28"> 
<table class="outer" border="0" cellpadding="2" cellspacing="1" align="center"> 
<tbody> 

<tr> 
<td>Uid (See Main Menu) </td> 
<td><input name="uid" id="uid" size="3" maxlength="10" type="text"></td> 
</tr> 

<tr> 
<td width="300">Full Name</td> 
<td><input name="name" id="name" size="30" maxlength="30" type="text"></td> 
</tr> 

<tr> 
<td width="300">Location</td> 
<td><input name="location" id="location" size="20" maxlength="30" type="text"></td> 
</tr> 

<tr> 

<td>Profile</td> 

<td><textarea name="profile" id="profile" cols="25" rows="5">A bit about yourself... </textarea></td> 

</tr> 

<tr> 

<td>Prefered Genres</td> 

<td> 
<table border="0" cellpadding="5"> 
    <tr> 
    <td><input type="checkbox" name="genres[]" id="genres" value="Action">Action</td> 
    <td><input type="checkbox" name="genres[]" id="genres" value="Adventure">Adventrue</td> 
    <td><input type="checkbox" name="genres[]" id="genres" value="Horror">Horror</td> 
    <td><input type="checkbox" name="genres[]" id="genres" value="Romance">Romance</td> 
    </tr> 
    <tr> 
<td><input type="checkbox" name="genres[]" id="genres" value="Drama">Drama</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Comedy">Comedy</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Thriller">Thriller</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Sci-fi">Sci-fi</td> 
</tr> 
<tr> 
<td><input type="checkbox" name="genres[]" id="genres" value="Crime">Crime</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Epic">Epic</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Western">Western</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Fantasy">Fantasy</td> 
</tr> 
<tr> 
<td><input type="checkbox" name="genres[]" id="genres" value="Period">Period</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Experimental">Experimental</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Documentary">Documentary</td> 
<td><input type="checkbox" name="genres[]" id="genres" value="Animation">Animation</td> 
</tr> 

</table></td> 

</tr> 

<td width="300">Describe in one word the predominant feeling of your music (e.g. epic, bizarre, melancholic, etc)</td> 

<td><input name="style" id="style" size="20" maxlength="30" type="text"></td> 

</tr> 
<tr> 

<td>Areas of Interest</td> 

<td><textarea name="interests" id="interests" cols="25" rows="5"> Any particular interest (animation, period, etc.). </textarea></td> 

</tr> 


<td>How much in GBP do you normally charge for your work?</td> 

<td><textarea name="rates" id="rates" cols="25" rows="5"> Please explain... </textarea></td> 

</tr> 
<tr> 

<td>Every year we offer free sound design to up to 3 films taking part in the 48 Hour Film Challenge. Would you consider contributing your work for free? (This is a competition requirement). </td> 

<td><input type="radio" name="48hfilm" id="48hfilm" value="Yes">Yes 

<input type="radio" name="48hfilm" id="48hfilm" value="No">No</td> 

</tr> 
<tr> 

<td width="300" colspan="2" align="center"> 

<strong><br>Paste your youTube (embed)/SoundCloud (Widget) <i>iFrame</i> code in the following Fields. You can insert up to 8 codes.</strong><br> 

</td> 


<tr> 

<td ><h3>Clip 1</h></td> 

<td><input name="clip1" id="clip1" size="80" maxlength="200" type="text"></td> 

</tr> 

<tr> 

<td ><h3>Clip 2</h></td> 

<td><input name="clip2" id="clip2" size="80" maxlength="200" type="text"></td> 

</tr> 

<tr> 

<td ><h3>Clip 3</h></td> 

<td><input name="clip3" id="clip3" size="80" maxlength="200" 

type="text"></td> 

</tr> 

<td ><h3>Clip 4</h></td> 

<td><input name="clip4" id="clip4" size="80" maxlength="200" 

type="text"></td> 

</tr> 

<td><h3>Clip 5</h></td> 

<td><input name="clip5" id="clip5" size="80" maxlength="200" 

type="text"></td> 

</tr> 

<td ><h3>Clip 6</h></td> 

<td><input name="clip6" id="clip6" size="80" maxlength="200" 

type="text"></td> 

</tr> 

<td ><h3>Clip 7</h></td> 

<td><input name="clip7" id="clip7" size="80" maxlength="200" 

type="text"></td> 

</tr> 

<td ><h3>Clip 8</h></td> 

<td><input name="clip8" id="clip8" size="80" maxlength="200" type="text"></td> 

</tr> 

<tr> 

<td > <br> 

</td> 

<td> <input name="add" id="add" value="Submit" type="submit"></td> 

</tr> 

</tbody> 

</table> 

</form> 

И это код PHP:

<?php 

include("mainfile.php"); 
include(XOOPS_ROOT_PATH."/header.php"); 

$DBhost = "localhost"; 
$DBuser = "------"; 
$DBpass = "----"; 
$DBName = "---"; 
$table = "--l"; 
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database"); 

@mysql_select_db("$DBName") or die("Unable to select database $DBName"); 

$sqlquery = "INSERT INTO $table 
VALUES('$_POST[id]','$_POST[uid]','$_POST[name]','$_POST[location]', '$_POST[profile]',    '$_POST[genres]', '$_POST[48hfilm]', '$_POST[clip1]', '$_POST[clip2]', '$_POST[clip3]', '$_POST[clip4]',  '$_POST[clip5]', '$_POST[clip6]', '$_POST[clip7]', '$_POST[clip8]', '$_POST[rates]', '$_POST[style]', '$_POST[interests]')"; 



$results = mysql_query($sqlquery); 

{ 
Print "<table class='editor'>"; 
Print "<tr>"; 
Print "<th>Name:</th> <td>$_POST[name]</td> "; 
Print "<tr>"; 
Print "<th>Location:</th> <td>$_POST[location]</td> "; 
Print "<tr>"; 
Print "<th>Profile:</th> <td>$_POST[profile]</td> "; 
Print "<tr>"; 
Print "<th>Genres:</th> <td>$_POST[genres]</td> "; 
Print "<tr>"; 
Print "<th>48h Film Challenge?</th> <td>$_POST[48hfilm]</td> "; 
Print "<tr>"; 
Print "<th>Style:</th> <td>$_POST[style]</td> "; 
Print "<tr>"; 
Print "<th>Interests:</th> <td>$_POST[interests]</td> "; 

} 
Print "</table>"; 



?> 

<?php 
$host="localhost"; // Host name 
$username="----"; // Mysql username 
$password="----"; // Mysql password 
$db_name="--c"; // Database name 
$tbl_name="---l"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// get value of id that sent from address bar 
$uid=$_POST['uid']; 

$sql = "Select * from $tbl_name WHERE uid='$uid'"; 
$result = mysql_query($sql) or die(mysql_error()); 


while($row = mysql_fetch_array($result)) { 

echo "<h2></h><br><p>"; 
echo "<div align='center'><h1>GALLERY</h><p><br></div>"; 
echo "<h2>Clip 1 </h><p><p>"; 

if($row['clip1'] != ''){ 
echo "<h2>Clip 1 </h><p><p>"; 
echo "<div align='center'>" . $row['clip1'] . "</div><p><br>"; 
} 
if($row['clip2'] != ''){ 
echo "<h2>Clip 2 </h><p><p>"; 
echo "<div align='center'>" . $row['clip2'] . "</div>"; 
} 
if($row['clip3'] != ''){ 
echo "<h2>Clip 3 </h><p><p>"; 
echo "<div align='center'>" . $row['clip3'] . "</div>"; 
} 
if($row['clip4'] != ''){ 
echo "<h2>Clip 4 </h><p><p>"; 
echo "<div align='center'>" . $row['clip4'] . "</div>"; 
} 
if($row['clip5'] != ''){ 
echo "<h2>Clip 5 </h><p><p>"; 
echo "<div align='center'>" . $row['clip5'] . "</div>"; 
} 
if($row['clip6'] != ''){ 
echo "<h2>Clip 6 </h><p><p>"; 
echo "<div align='center'>" . $row['clip6'] . "</div>"; 
} 
if($row['clip7'] != ''){ 
echo "<h2>Clip 7 </h><p><p>"; 
echo "<div align='center'>" . $row['clip7'] . "</div>"; 
} 
if($row['clip8'] != ''){ 
echo "<h2>Clip 8 </h><p><p>"; 
echo "<div align='center'>" . $row['clip8'] . "</div>"; 
} 
} 



?> 
+1

'@' - это подавитель ошибок. Удалите его из '@ mysql_select_db' – j08691

+0

Я думаю, что имена полей формы не должны начинаться с числа, например, в' name = "48hfilm" '. –

+0

На самом деле после выполнения определенного тестирования, вернул ошибку синтаксического анализа с «Печать» 48h Film Challenge? $ _POST [48hfilm] ";', так что и все остальные поля форм, начинающиеся с числа, будут вызывать ошибки /проблемы. Поэтому я предлагаю вам разместить письмо перед всеми полями, начинающимися с числа. Например, '$ _POST [hfilm48]' –

ответ

1

Форма поля имена не должны начинаться с числа, как в 012 Например,.

После выполнения определенного количества испытаний, я вернулся синтаксическая ошибка с Print "<th>48h Film Challenge?</th> <td>$_POST[48hfilm]</td> ";

Изменение:

<td><input type="radio" name="48hfilm" id="48hfilm" value="Yes">Yes 

<input type="radio" name="48hfilm" id="48hfilm" value="No">No</td> 

Для:

<td><input type="radio" name="hfilm48" id="hfilm48" value="Yes">Yes 

<input type="radio" name="hfilm48" id="hfilm48" value="No">No</td> 

или запустить его с письмом, такие как name="a_48hfilm"

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