Űrlap feltöltése és lekérdezése
Sziasztok!
Egy php űrlapot szeretnék készíteni, ami a kitöltött mezőket feltölti egy adatbázis adott táblájába, majd ezeket a feltöltött adatokat egy másik php oldalon (admin oldalon) kilistázza.
Az űrlapom ennyi:
Az adatbázis azonosításához szükséges fájl:
És a bonyodalmak (a php oldal, aminek az adatokat fel kellene dolgozni és feltölteni az sql-be):
Ezt példa alapján csináltam és ha bár az űrlapba bevitt adatokat ki tudom íratni a php oldalra, nem tudom a módját, hogyan tudnám felölteni a táblába. Csak szövegről meg számokról lenne szó, semmi komolyabb. Nagyon fontos lenne a segítség.
Üdv
■ Egy php űrlapot szeretnék készíteni, ami a kitöltött mezőket feltölti egy adatbázis adott táblájába, majd ezeket a feltöltött adatokat egy másik php oldalon (admin oldalon) kilistázza.
Az űrlapom ennyi:
<form action="siker.php" method="get" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<input type="text" name="nev" id="nev" />
<input type="submit" name="gomb" id="gomb" value="Submit" />
</form>
<input type="text" name="nev" id="nev" />
<input type="submit" name="gomb" id="gomb" value="Submit" />
</form>
Az adatbázis azonosításához szükséges fájl:
<?php
$host ="localhost";
$user ="9139";
$pass ="******";
$database = "9139";
?>
$host ="localhost";
$user ="9139";
$pass ="******";
$database = "9139";
?>
És a bonyodalmak (a php oldal, aminek az adatokat fel kellene dolgozni és feltölteni az sql-be):
<?php
include "sql_eleres.php";
$kapcsolat = mysql_connect($host, $user, $pass);
mysql_select_db($database,$kapcsolat);
$parancs = "SELECT*FROM ajanlat";
$eredmeny = mysql_query($parancs, $kapcsolat);
while ($egy_sor = mysql_fetch_array($eredmeny))
{
$sorszam[] = $egy_sor["sorszam"];
$szoveg[] = $egy_sor["szoveg"];
}
mysql_close($kapcsolat);
?>
include "sql_eleres.php";
$kapcsolat = mysql_connect($host, $user, $pass);
mysql_select_db($database,$kapcsolat);
$parancs = "SELECT*FROM ajanlat";
$eredmeny = mysql_query($parancs, $kapcsolat);
while ($egy_sor = mysql_fetch_array($eredmeny))
{
$sorszam[] = $egy_sor["sorszam"];
$szoveg[] = $egy_sor["szoveg"];
}
mysql_close($kapcsolat);
?>
Ezt példa alapján csináltam és ha bár az űrlapba bevitt adatokat ki tudom íratni a php oldalra, nem tudom a módját, hogyan tudnám felölteni a táblába. Csak szövegről meg számokról lenne szó, semmi komolyabb. Nagyon fontos lenne a segítség.
Üdv
INSERT
A beküldött kóddal kapcsolatban: érdemes lenni lekezelned a hibákat és kivételeket (pl. ha nem hozható létre kapcsolat a mysql-lel, vagy nem létezik az adatbázis). Erre találsz példát a manualban a mysql_connect()-nél.
INSERT
INSERT
include "sql_eleres.php";
$kapcsolat = mysql_connect($host, $user, $pass);
mysql_select_db($database,$kapcsolat);
if (!$kapcsolat) {
die('Nem lehet csatlakozni ' . mysql_error());
}
echo('A csatlakozás sikerült');
$parancs = "SELECT*FROM ajanlat";
$eredmeny = mysql_query($parancs, $kapcsolat);
while ($egy_sor = mysql_fetch_array($eredmeny))
{
$sorszam[] = $egy_sor["sorszam"];
$szoveg[] = $egy_sor["szoveg"];
}
mysql_query(sprintf("INSERT INTO ajanlat (szoveg) VALUES(%s)",
mysql_real_escape_string($_GET['nev'])));
print $_GET['nev'];
mysql_close($kapcsolat);
?>
Az adatbázisomban a tábla neve ajanlat, 2 mező van benne: azonosito és szoveg. Az azonosító a kulcs és integer, valamint auto_increment-re van állítva. A szoveg text. Gondolom a siker.php-vel lehet a gond. A beküldött nevet kiírja és azt is, hogy a kapcsolat sikeres, de nem tölti fel az adatbázisba.
hiányzik
mysql_query(sprintf("INSERT INTO ajanlat (szoveg) VALUES(%s)",
mysql_real_escape_string($_GET['nev'])), $kapcsolat);
bár ez nem okoz hibát. A gondot inkább az okozhatja, hogy
2. hiányzik az aposztróf(') az értékek meghatározásánál:
mysql_query(sprintf("INSERT INTO ajanlat (szoveg) VALUES('%s')",
mysql_real_escape_string($_GET['nev'])));
Érdemes, a hibakeresés időtartamára, visszakapcsolni a hibaüzenetek megjelenítését: ini_set('display_errors', 1); Esetleg, ha nem vagy biztos az SQL lekérdezésedben teszteld azt valamilyen adatbázisfelületen (pl. PhpMyAdmin > SQL).
működik