ugrás a tartalomhoz

Archívum - Ápr 2006

április 29

HTML űrlap + a fájlfeltöltés problémái

a.d.a.m · 2006. Ápr. 29. (Szo), 11.13
Sziasztok!

Valamikor rég készült egy html űrlap, mivel azonban alkotója nem tulzottan értette a php, így megkért engem (vak vezet világtalant alapon), hogy ugyan készítsek már egy olyan php kódot ami feltölti az űrlapon keresztül a képet, ráadásul az űrlap adtait is elmenti egy fájlba. Ez megtörtént. Egy ideig nem is volt semmilyen gond, azonban az idő múlásával szaporodni kezdtek a jelen: hol a kép nem mentár, hol a szöveg fele hiányzott. Ezért többszörösen is átdolgozásra került az űrlap, míg végül elérte jelenlegi állapotát, ami mint egy kevéssé sem baráti e-mailból kiderült ismét nem tökéletes. Minthogy én nem vagyok túl nagy ÁSZ a PHP terén a segítségeteket szeretném kérni e probléma megoldásában.
Az oldal a www.orszagoslovasar.hu címen található, ezen belül a hirdetés feladás - eladó ló menüpont alatt.

Az oldal kódja a következő:
[colorer=php]<?php
session_start();
if ( $_POST['kuldes'] == "feltolt" )
{
unset($_SESSION['return']);
if (isset($_FILES["kep"]["tmp_name"]) == true)
{
if ($_FILES["kep"]["size"]>=3000001)
{
$_SESSION['return'] = "false";
echo "<script>window.alert('A kép feltöltése sikertelen! A feltöltött kép mérete nem megfelelő!');</script>";
}
else
{
move_uploaded_file($_FILES["kep"]["tmp_name"], "hirdetesek/".$_FILES["kep"]["name"]);
$_SESSION['return'] = $_FILES["kep"]["name"];
echo "<script>window.alert('A kép feltöltése sikeresen befejeződött!');</script>";
}
}
else
{
$_SESSION['return'] = "false";
echo "<script>window.alert('A kép feltöltése sikertelen');</script>";
}

$keys = array_keys($_POST);
$count = count($_POST);
for ( $array_index=0; $array_index<=($count-1); $array_index++ )
{
if ($keys[$array_index]!="MAX_FILE_SIZE" or $keys[$array_index]!="s")
{$_SESSION[$keys[$array_index]] = $_POST[$keys[$array_index]];}
else
{}
}

echo "<script>window.location.replace('felad-elado-felsz.php?s=".$_POST['s'].$link."');</script>";
}
?>
<html>

<head>
<title>Hirdet&eacute;s felad&aacute;s: elad&oacute; felszerel&eacute;s</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta name="generator" content="Microsoft FrontPage 5.0">
<meta name="description" content="Lovat, felszerelést eladna, vagy venne? Adja fel hirdetését nálunk!">
<meta name="keywords" content="Lovas, lóvásár, eladó ló, apróhirdetés, lovassport ">
</head>

<script>
function feltolt()
{
document.adatok.kuldes.value="feltolt";
document.adatok.submit();
}
function elkuld()
{
document.adatok.kuldes.value="elkuld";
return formCheck(document.adatok);
}
function formCheck(formobj){
var fieldRequired = Array("megr_nev", "megr_cim", "penz", "fajta", "neme", "alkalmas", "elerhetoseg");
var fieldDescription = Array("Megrendelő neve", "Megrendelő címe", "Pénzfeladás módja", "Fajta", "Neme", "Mire vaLÓ", "Elérhetőség");
var alertMsg = "Kérem töltse ki az alábbi mező(ke)t:\n";

var l_Msg = alertMsg.length;

for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}

if (alertMsg.length == l_Msg){
formobj.action = "hirdetes.php";
formobj.submit();
return true;
}else{
alert(alertMsg);
return false;
}
}
</script>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" background="images/hatter.jpg">
<form name="adatok" method="post" enctype="multipart/form-data">

<p style="line-height:120%; margin-top:15pt; margin-bottom:0%;" align="center"><img src="images/fej-b1.gif" width="100%" border="0"></p>

Aktív fórum témák meghatározása, mint a Weblaboron

Anonymous · 2006. Ápr. 29. (Szo), 11.09
Sziasztok!

Van egy saját kis fórum "motorom". Ehhez szeretnék késziteni egy olyan modult, ami itt a Weblaboron is szerepel, és amelynek a segítségével meg tudom mutatni az utolsó x db aktív fórum témát. Tehát azokat, amelyekbe az utolsó hozzászólások érkeztek.

Ehhez nekem meg kéne határoznom az adatbázistáblámból 5 db ft_id mezo erteket időrendben, de úgy, hogy ne szerepeljen benne kétszer ugyanaz az érték...

Tehát az alábbi kódhoz hasonlóan:

	$sql = "select * from forum_comments order by date desc limit 5";
	$result = mysql_query($sql) or die(mysql_error());

	echo "
		<h2>Új fórumtémák</h2>
		<ul id='new_topic'>";

	while ($r = mysql_fetch_array($result)) {
	
		echo "<li><a href='#'>$r[ft_id]</a></li>";
	}
	
	echo"</ul>";

Mindössze annyit kéne valahogy javítani vagy a lekérdezésen vagy php segítségével, hogy ugyanaz az $r[ft_id] érték nem szerepelhet benne. Hiszen, ha ugyanahhoz a témához érkezik az utolsó 5 hozzászólásból mondjuk 4, akkor a kimenet így fog kinézni:

<h2>Új fórumtémák</h2>
<ul id='new_topic'>
<li><a href='#'>2</a></li>
<li><a href='#'>4</a></li>
<li><a href='#'>2</a></li>
<li><a href='#'>2</a></li>
<li><a href='#'>2</a></li>
</ul>
Mi lehet a megoldás?
 

Tábla sor helyett új táblát generál minden sorra a kódom

Kaoru · 2006. Ápr. 29. (Szo), 09.12
Sziasztok, a következő problémám támadt:

Egy táblázatba szeretném lekérdezni a táblám sorait, de sehogy sem akar működni. Minden sornak csinál egy új üres táblát.
Élőben itt található:

Mivel nem vagyok még valami gyakorlot a php és mysql-ben, ezért kérném a segítésgeteket a hibaszűrésben.

A kód maga így néz ki:
<?php 
include("connect.php");

$sql="SELECT * FROM $mysql_table";
$result=mysql_query($sql);

while ($row=mysql_fetch_array($result))
{
?>
<table width="75%" border="1" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td>ID</td><td>Dancers</td><td>Country</td>
</tr>
<td><? echo $rows['id'];?></td><td><? echo $rows['fname1'];?> - <? echo $rows['fname2'];?></td> <td><? echo $rows['country'];?></td>
</tr>
</table>
<BR>
<?
}
mysql_close(); //close database
?>
Segítségeteket előre is köszönöm!
 

A Dojo.Storage a következő lépés az AMASS után

Hojtsy Gábor · 2006. Ápr. 29. (Szo), 08.31
András októberben adott hírt Brad Neuberg AMASS nevű projektjéről, mely a Flash adattároló képességeit adta a JavaScript fejlesztő kezébe, segítségével a hagyományos süti alapú kliens oldali adattárolási módnál jelentősen jobb lehetőségeket adva. Brad új fejlesztése az AMASS utóda, a Dojo.Storage, melyről részletesen ír bemutató blog bejegyzésében. A Dojo.Storage egy általános adattároló felületet szeretne adni, nem csak böngészőben futtatott JavaScript kódok számára.

Get the rendered style of an element

Hojtsy Gábor · 2006. Ápr. 29. (Szo), 06.29
HTML elemek végső stílus információjának lekérdezése
 

április 28

Függvény meghívása annyiszor, amennyiszer szeretném

Anonymous · 2006. Ápr. 28. (P), 20.14
Sziasztok!
Lenne egy kérdésem: Van egy egy függvény és azt szeretném ha többször végrehajtaná, anyiszor ahányszor szeretném.
Előre is kössz
 

Typography for Headlines

Hojtsy Gábor · 2006. Ápr. 28. (P), 19.45
Cikk/blog bejegyzés fejléc tipográfiai gyűjtemény
 

Magpie Unit tests

Hojtsy Gábor · 2006. Ápr. 28. (P), 18.51
Segíthet Magpie hibák felfedezésében
 

Böngészőben generált grafikonok a PlotKit-tel

Hojtsy Gábor · 2006. Ápr. 28. (P), 17.58
Februárban András blogmarkolta a CanvasGraph.js nevű projektet. A szerző, Alastair Tse ennek folytatásaként jelentette meg március végén a PlotKit nevű Javascript kódkönyvtárat. A névváltoztatás oka főleg az, hogy most már nem csak canvas támogatással rendelkezik a kód, hanem SVG segítségével is meg tud jeleníteni különböző grafikonokat. A MochiKit 1.3 vagy újabb verzióra építő megoldás lehetővé teszi, hogy a kliens oldalon generáljuk a megjeleníteni kívánt grafikonokat.
 

JavaScript speed test

Hojtsy Gábor · 2006. Ápr. 28. (P), 17.23
Különböző módszerek sebességtesztje (vigyázat, leköti a gépet!)