Hogyan kell adminisztrációs felületet programozni weboldalra?
Hát először is kicsit tanulgass php-zni főleg az adatbázis kezelés részét.
-Csinálsz egy html adatlapot (remélem ezt meg tudod)
-formal elküldöd egy php fájlnak ami ellenőrzás után beteszi Insert parancsal a mysql-be
Szerintem nem egy nagy ördöngősség, a php a legkönnyebben tanulható.
A php-t és a mysql-t már tanulgatom. Elég szépen haladok vele, csak úgy néz ki hogy túl nagy fába vágtam a fejszémet.
Csináltam egy olyan oldalt ahol autókat lehet feltölteni. Az a célja, hogy adminisztrációs felületen keresztül töltsünk ki egy adatlapot és küldjük el a weblapra ami a php kódok alapján kiolvassa az adatbázisból. Odáig eljutottam, hogy ha a phpmyadmin felületén töltjük fel a kocsikat akkor a weboldal képes kiolvasni és megjeleníteni a weblapon. Az admin felület beléptető rendszerét megcsináltam, működik. Amivel meggyűlt a bajom az a következő: úgy akartam megoldani az admin felületet hogy kiválasztom a kategóriát(két főkategória nincs szülő) utána tovább gomb és jön egy űrlap amin ugye azok az adatok szerepelnek amiket megadtam a phpmyadminon is. Küldés gomb, és kiteszi a weblapra a megfelelő kategóriába. Próbáltam utánanézni de csak jobban összezavarodtam és a végén betompultam. :)
Egy dolog nem világos számomra a leírásodból, hogy a kategória pontosan mit is jelent, Külön táblát, vagy van egy meződ a táblában, amiben a kategóriák vannak?
Ha a kategória külön táblát jelent:
Az űrlapon kiválasztott kategória értékét a php feldolgozóban berakod egy változóba (pl. $kategória).
$bevitel="INSERT INTO $kategória (mezo1, mezo2) VALUES ('$mezo1', '$mezo2')";
mysql_query($bevitel);
if(mysql_query(!$bevitel))
{print ('Az adatok beírása az adatbázisba nem sikerült!');}
mysql_close($kapcsolat);
Ha mezőben tárolod a kategóriákat (pl. a kategória meződ neve: kategoria, és az űrlapon levő értéket $kategoria változóban tárolod el):
$bevitel="INSERT INTO tablanev (mezo1, mezo2, kategoria) VALUES ('$mezo1', '$mezo2', '$kategoria')";
mysql_query($bevitel);
if(mysql_query(!$bevitel))
{print ('Az adatok beírása az adatbázisba nem sikerült!');}
mysql_close($kapcsolat);
A kód működését nem ellenőriztem. Remélem nem vétettem hibát benne!
Szia.
A kategoriak.php tartalma:
<h2>Válassz kategóriát!</h2>
<?php
$sql_host = 'localhost';
$sql_user = 'felh. név';
$sql_pass = 'jelszó (ha van)';
$sql_db = 'adatbazis neve';
$conn = mysql_connect($sql_host, $sql_user, $sql_pass);
$db = mysql_select_db($sql_db);
$utf8 = mysql_query("SET NAMES 'utf8'");
?>
<form name="kategoriak" action="reszletes_adatok.php" method="GET">
<label for="kategoria">Kategóriák</label>
<select name="kategoria">
<option value="0" selected="selected">Válassz...</option>
<?php
$sql = "SELECT * FROM kategoriak";
$query = mysql_query($sql);
while($kategoriak = mysql_fetch_array($query)) {
echo "<option value=\"".$kategoriak['id']."\">".$kategoriak['kategorianev']."</option>";
}
?>
</select>
<input type="submit" value="Tovább" />
</form>
A reszletes_adatok.php tartalma:
<?php
$sql_host = 'localhost';
$sql_user = 'felh. név';
$sql_pass = 'jelszó (ha van)';
$sql_db = 'adatbazis neve';
$conn = mysql_connect($sql_host, $sql_user, $sql_pass);
$db = mysql_select_db($sql_db);
$utf8 = mysql_query("SET NAMES 'utf8'");
?>
<?php
// Ha nem a kategoriak.php-ről lett megnyitva az oldal, vagy nem választottál kategóriát
if(!isset($_GET['kategoria']) || $_GET['kategoria'] == 0) {
header('Location: kategoriak.php'); // Átirányít a kategóriaválasztóhoz
}
?>
<form name="reszletes_adatok" action="feltoltes.php?kategoria=<?php echo $_GET['kategoria']; ?>" method="post">
<label for="auto_marka">Autó márkája</label>
<input type="text" name="auto_marka" />
<label for="auto_tipus">Autó típusa</label>
<input type="text" name="auto_tipus" />
...
<input type="submit" value="OK" />
</form>
A feltoltes.php tartalma:
<?php
$sql_host = 'localhost';
$sql_user = 'felh. név';
$sql_pass = 'jelszó (ha van)';
$sql_db = 'adatbazis neve';
$conn = mysql_connect($sql_host, $sql_user, $sql_pass);
$db = mysql_select_db($sql_db);
$utf8 = mysql_query("SET NAMES 'utf8'");
?>
<?php
// Ha az előző űrlapról lettél átirányítva a feldolgózó oldalra (erre) és minden beviteli mező ki volt töltve
if(isset($_POST) && !$_GET['kategoria'] == "" && !$_POST['auto_marka'] == "" && !$_POST['auto_tipus'] == "") {
$kategoria = $_GET['kategoria'];
$auto_marka = $_POST['auto_marka'];
$auto_tipus = $_POST['auto_tipus'];
// Adatok feltöltése az adatbázisba
$sql = "INSERT INTO hirdetesek (kategoria, auto_marka, auto_tipus) VALUES ('".$kategoria."', '".$auto_marka."', '".$auto_tipus."')";
$query = mysql_query($sql);
if(!$query) {
// Hiba esetén kiíratjuk a hiba okát a mysql_error() függvénnyel
echo "Hiba történt: " . mysql_error();
} else {
// Sikeres mentés esetén kiíratunk egy linket, új hirdetés feltöltéséhez
echo "Az autó adatai elmentve az adatbázisba! <br /> \n";
echo "<a href=\"kategoriak.php\"><< Új hirdetés feltöltése</a>";
}
} else {
// Ha nem volt kitöltve minden mező, vagy direktben lett megnyitva az oldal
echo "Néhány adat nem lett megadva, így nem tudom feltölteni a hirdetést!";
echo "<a href=\"javascript:;\" onclick=\"history.go(-1);\"><< Vissza</a>";
}
?>
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!