Бланка за попълване + MySQL

DirectX

Registered
Значи трябва ми 1 php файл с няколко свободни полета (да има място за писане) като полетата, да са: Име, Години, Пол, Вашето мнение и mysql база данни в коята да се записва информацията и после да мога да я преглеждам :)

Ако някой ми помогне ще съм му много благодарен :)
 
Направих тук това, което ти трябва. Дано ти свърши работа.

Кода за базата данни:

Код:
CREATE TABLE `testova1`.`tablica1` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`ime` VARCHAR( 100 ) NOT NULL ,
`godini` INT( 2 ) NOT NULL ,
`pol` VARCHAR( 10 ) NOT NULL ,
`mnenie` MEDIUMTEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;

а тук ти е кода за самия php файл:

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>

<form action="index.php" method="post">
Въведете Вашето име: <br>
<input type="text" name="ime"><br><br>
На колко сте години: <br>
<input type="text" name="godini" maxlength="2"><br><br>
Вашият пол (моля изберете): <br>
<select name="pol"><option>Мъж</option><option>Жена</option></select><br><br>
Вашето мнение: <br>
<textarea name="mnenie"></textarea><br><br>


<input type="submit" name="sbmbtn" value="Изпрати">
</form>


<?php
$ime=$_POST['ime'];
$godini=$_POST['godini'];
$pol=$_POST['pol'];
$mnenie=$_POST['mnenie'];


$conn=mysql_connect("localhost", "username", "password");
mysql_select_db("ime_na_bazata_danni");

q="insert into tablica1 (ime, godini, pol, mnenie) value('".$ime."', '".$godini."', '".$pol."', '".$mnenie."')";
$res=mysql_query($q, $conn);

if(!$res)

{
echo'Записа не е осъществен!';

}

else
{
echo'Записа на данни е осъществен успешно!';
}





?>

</body>
</html>

име на базата данни при мене е testova1, при тебе незнам как ще е. И името на таблицата можеш да промениш. Там където е "username" и "password" са ти потр. име и паролата за базата данни. Пак ти си ги слагаш.
Ами това е ако има нещо питай.
 
Предполагам, защото това ще ти свърши работа..
add.php
Код:
<?php
include ("config.php");
?>

<form method="post" action=""> 
<table align="center" cellpadding="1" cellspacing="1">
<tr> 
<td align="left"><p class="margin">Име:</p></td>
<td align="left"><input name="name" type="text" id="name" maxlength="35" size="25" />
</td> 
</tr>
<tr> 
<td align="left"><p class="margin">Години</p></td>
<td align="left"><input name="years" type="text" id="year" maxlength="2" size="25" /></td>
</tr>
<tr> 
<td align="left"><p class="margin">Пол</p></td>
<td align="left">
<select name="gender" style="width: 175px">
<option value="">---</option>
<option value='1'>Мъж</option>
<option value='2'>Жена</option>
</select>
</td> 
</tr> 
<tr>
<td align="left"><p class="margin">Вашето мнение:</p></td>
<td align="left"><textarea name="desc" id="desc" rows="7" cols="30" wrap="virtual"></textarea></td>
</tr>
<tr> 
<td colspan="3" align="left">
<input name="submit" type="submit" id="button" value="Изпрати" />   <input name="reset" type="reset" id="button" value="Изчисти"></td> 
</tr> 
</table>
</form>

<?php
if(isset($_POST['submit'])){
if($_POST['name'] == ""){ 
echo "<script type=\"text/javascript\">alert('Не сте въвели Име!');</script>"; //при не попълнено поле т.е. name вади грешка..
} 
else 
if($_POST['desc'] == "") { 
echo "<script type=\"text/javascript\">alert('Не сте въвели Вашето мнение!');</script>"; //при не попълнено поле т.е. desc вади грешка.. íîâèíàòà!
} 
else { 
$uname = trim(strip_tags(addslashes($_POST['name'])));
$year = trim(strip_tags(addslashes($_POST['years'])));
$gender = trim(strip_tags(addslashes($_POST['gender'])));
$desc = nl2br(strip_tags(addslashes($_POST['desc'])));
$sql = "INSERT INTO `blanka` (`id`,`uname`, `year`, `gender`, `desc`) 
VALUES (NULL, '$uname', '$year', '$gender', '$desc');"; 
$result = mysql_query($sql)or die(mysql_error()."<br />Грешка: ".__LINE__); 
if($result == true){ 
echo '<meta http-equiv="refresh" content="1;url=index.php">';
echo "Моля почакайте страницата да презареди..."; 
}
else { 
echo "възникна грешка..";
}}}
?>

config.php
Код:
<?php
$dbuser = "USER";
$dbpass = "PASS"; 
$dbname = "DBNAME";
$dbhost = "localhost";
$connection = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Сайтът не може да се свърже към базата данни 1");
$db = mysql_select_db("$dbname",$connection)or die("Сайтът не може да се свърже към базата данни 2");  
?>

sql.sql
Код:
CREATE TABLE `blanka` (
  `id` int(11) NOT NULL auto_increment,
  `uname` varchar(35) NOT NULL,
  `year`  int(5) NOT NULL,
  `gender` int(5) NOT NULL default '0', 
  `desc` TEXT NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM ;

index.php
Код:
<?php
include ("config.php");
$query = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$name = $row['uname'];
$years = $row['year'];
$desc = $row['desc'];
echo "
Име: $name<br>
Години: $years<br>
Пол: ";
$gender = $row['gender'];
if($gender == '1') {
echo 'Мъж';
}
if($gender == '2') {
echo 'Жена';
}
else {
echo 'не е посочил';
}
echo "<br>
Вашето мнение: $desc<br>";
}
?>
 
@nom3r1 - мерси много брат ! :)

Сега ще му сложа и дизайн :)

амм .. това как се правя други полета, за писане?
смисъл ако искам още полета като " вашето мнение "
да добавя в sql-a това:

Код:
`egn` MEDIUMTEXT NOT NULL ,
и после във add.php
<td align="left"><p class="margin">ЕГН:</p></td>

нали ? :)
 
Добави следното:

CREATE TABLE `blanka` (
`id` int(11) NOT NULL auto_increment,
`uname` varchar(35) NOT NULL,
`year` int(5) NOT NULL,
`egn` int(10) NOT NULL,
`gender` int(5) NOT NULL default '0',
`desc` TEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;


add...
<?php
include ("config.php");
?>

<form method="post" action="">
<table align="center" cellpadding="1" cellspacing="1">
<tr>
<td align="left"><p class="margin">Име:</p></td>
<td align="left"><input name="name" type="text" id="name" maxlength="35" size="25" />
</td>
</tr>
<tr>
<td align="left"><p class="margin">Години</p></td>
<td align="left"><input name="years" type="text" id="year" maxlength="2" size="25" /></td>
</tr>
<tr>
<td align="left"><p class="margin">ЕГН;</p></td>
<td align="left">
<input name="egn" type="text" id="egn" maxlength="10" size="25" />
</td>
</tr>

<tr>
<td align="left"><p class="margin">Пол</p></td>
<td align="left">
<select name="gender" style="width: 175px">
<option value="">---</option>
<option value='1'>Мъж</option>
<option value='2'>Жена</option>
</select>
</td>
</tr>
<tr>
<td align="left"><p class="margin">Вашето мнение:</p></td>
<td align="left"><textarea name="desc" id="desc" rows="7" cols="30" wrap="virtual"></textarea></td>
</tr>
<tr>
<td colspan="3" align="left">
<input name="submit" type="submit" id="button" value="Изпрати" />   <input name="reset" type="reset" id="button" value="Изчисти"></td>
</tr>
</table>
</form>

<?php
if(isset($_POST['submit'])){
if($_POST['name'] == ""){
echo "<script type=\"text/javascript\">alert('Не сте въвели Име!');</script>"; //при не попълнено поле т.е. name вади грешка..
}
else
if($_POST['desc'] == "") {
echo "<script type=\"text/javascript\">alert('Не сте въвели Вашето мнение!');</script>"; //при не попълнено поле т.е. desc вади грешка.. íîâèíàòà!
}
else {
$uname = trim(strip_tags(addslashes($_POST['name'])));
$year = trim(strip_tags(addslashes($_POST['years'])));
$gender = trim(strip_tags(addslashes($_POST['gender'])));
$desc = nl2br(strip_tags(addslashes($_POST['desc'])));
$egn = trim(strip_tags(addslashes($_POST['egn'])));
$sql = "INSERT INTO `blanka` (`id`,`uname`, `year`, `gender`, `egn`, `desc`)
VALUES (NULL, '$uname', '$year', '$gender', '$egn', '$desc');";
$result = mysql_query($sql)or die(mysql_error()."<br />Грешка: ".__LINE__);
if($result == true){
echo '<meta http-equiv="refresh" content="1;url=index.php">';
echo "Моля почакайте страницата да презареди...";
}
else {
echo "възникна грешка..";
}}}
?>

index.php
<?php
include ("config.php");
$query = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$name = $row['uname'];
$years = $row['year'];
$desc = $row['desc'];
$egn = $row['egn'];
echo "
Име: $name<br>
Години: $years<br>
ЕГН: $egn<br>
Пол: ";
$gender = $row['gender'];
if($gender == '1') {
echo 'Мъж';
}
if($gender == '2') {
echo 'Жена';
}
else {
echo 'не е посочил';
}
echo "<br>
Вашето мнение: $desc<br>";
}
?>


Добавените полета са тези в червено.
 
а в sql=a

`egn` int(10) NOT NULL,

какво озн. това int(10) и защо някъде е 5, 10 и 35? това да не е броя на символите който се събират? :)
 
DirectX каза:
а в sql=a

`egn` int(10) NOT NULL,

какво озн. това int(10) и защо някъде е 5, 10 и 35? това да не е броя на символите който се събират? :)

int - е само за числа. За повече информация виж тук:
http://ebergen.net/wordpress/2005/07/29/mysql-int11-and-int3-store-the-same-values/

ето ти още една информация: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
Успех :)
 

Back
Горе