Autor Zpráva
Horacy
Profil *
Drazí !!!

Na svém webu jsem si udělal formulář a právě pracuji na tom, abych ho mohl archivovat, když ho budou vyplnovat uživatelé.

Formulář mám udělaný. Dodělal jsem si PHP, který mi odesílá všechny hodnoty na mail. Bohužel touto metodou se mi nedaří zprovoznit posílání fotografii, které uživatel přidá k formuláři. Můžete mi poradit nejjednodušší způsob nebo odkaz an něco, jak sis s tím poradit. Nejspíš to bude třeba databázi MySQL, kterou k dispozici mám, ale nedaří se mi to tam nějak dostat. Řešení s databázi (narozdíl od posílání na meil) je tipuji mnohem inteligentnější, profesionálnější, ale nemálo obtížné.

Můžete mi poradit nejjednodušší řešení pro ukládání dat z formulářů včetně fotografii ?

Za jakoukoliv radu děkuji pěkně
dtr
Profil *
No a když se fotka uloží na server, tak znáte její url, ne? Proč si na email neposílat tuto url?
Horacy
Profil *
Bohužel tomu nerozumím, i když rychle hltám informace v této oblasti. Můžete mi sdělit, jak mohu uložit fotku na server ? Vím, jak si poslat informace z formuláře na email, to ano, ale na fotografii. Ukládat různé věci jde nejspíš do MSQL databáze, ale to se mi dneska bohužel nepodařilo. Jakým způsobem lze ukládat fotografie na server a jak se k nim pak dostanu, to opravdu nevím. Za jakoukoliv radu velký dík
Horacy
Profil *
Drazí ! Nemáte někdo s tím zkušenosti ? Dtabaáze MySQL je nejspíš zbytečmě komplikovaná, i když myslím, že schází mi už jen (vlastně to základní) propojení formuláře s tou databázi.

Jde mi především o to, abych mohl ukládat fotografie, které uživatel nahraje na formulář, který vyplní. Šlo by to i nějak vytvořit si na FTPku adresář, kde by tyto fotografie byly posílany, je to tak ? Nevíte někdo jak na to ? Vážit si budu každý tip
imploder
Profil
Horacy:
Na archivaci fotky a pár textových políček opravdu není databáze potřeba. Pokud se má jenom zaznamenat, jak byl formulář vyplněn (včetně fotky), stačí vytvořit adresář (funkce mkdir), v něm otevřít soubor (fopen), zapsat hodnoty políček formuláře (fwrite), soubor zavřít, pak ještě jako druhý soubor nakopírovat do toho adresáře obrázek (na uložení uploadovaného souboru je speciální funkce move_uploaded_file).
Horacy
Profil *
Děkuji Vám za radu, ale pořád se mi nedaří spojit všechny tyto kody v jeden PHP kod. Je mi jasné, že si měl tento kod nejprve pečlivě nastudovat a pak se do něho takhle aktivně pouštět. Budu to zkoušet dál
Horacy
Profil *
S tím dostudováním jsem to samozřejmě myslel o sobě
unlucky
Profil
            
<form method='post' action='?page=upload' enctype='multipart/form-data'>
 <table>
  <tr>
   <th>File</th><td><input type='file' name='file_upl' class='tlacitko'/></td>
  </tr>
  <tr>
    <th>
    <input type=text name=text>
    </th>
  </tr>
  <tr>
   <th colspan='2'><input name=uploadni type='submit' value='Action' class='tlacitko'/></th>
  </tr>
 </table>
<?php
function upload($winner,$looser,$race_winner,$race_looser,$map,$description,$autor){

$upload_dir="./replays/";
		if(file_exists("$upload_dir/".$_FILES["file_upl"]["name"])==0){
			$tmp=move_uploaded_file($_FILES["file_upl"]["tmp_name"],"$upload_dir/".$_FILES["file_upl"]["name"]);
			if($tmp==1){echo "<p class='info'>File <b>".$_FILES["file_upl"]["name"]."</b> has been uploaded</p>\n";}
		}
    else{
			echo "<p class='error'>File already exists</p>\n";
    }
$soubor=$_FILES["file_upl"]["name"];

$sql="INSERT INTO replays (soubor, winner , looser , race_winner , race_looser , map , description,autor) VALUES ('$soubor','$winner','$looser','$race_winner','$race_looser','$map','$description','$autor')";
$udelej=mysql_query($sql);
if (!$udelej){echo "chyba sqlka pri uploadu";}	    
}?>                         


hodne stary skript, se podivej a upravuj :P
Horacy
Profil *
Já jen tady mám obavy, zda se držím koncepce, kterou navrhl imploder, čili bez použití MySQL. Tady v tomhle zápisu je uvedeno MySQL, což je pro mě poněkud matoucí. Každopádně v kořenovém adresáři vytvořil jsem složku "replays", nicméně bohužel nenacházím tam uploadované fotografie z formuláře. Budu zkoušet dál - je to takové moje druhé setkání s PHP, dříve jsem si pomáhal tágem echo.

Zkouším dál, ale jde to těžce
Horacy
Profil *
Jestliže tedy použiji výše zmíněný PHP kod, pak po odeslání formuláře opravdu netuším, kde se tato fotografie a informace uložily. Zkoušel jsem vytvářet adresáře - tady v tomhle konkrétním případě například složku "replays" v kořenovém adresáři a pořád nic. Zkoušel jsem kontrolovat i velikost FTPčka, velikost se nemění, čili fotografie a informace se mi nikde neukládají. Kejsnu už na tom nějakou dobu a pořád mi to nejde. Za jakoukoliv radu budu vděčný
unlucky
Profil
nastavit chmod pro zapis

nefunguje to, protoze tam mam odlisny form a jiny upload, takze musis zmenit ty promenne podle potreby

<?php 
include_once("./includy/upload_funkce.php");

if ($_SESSION['login']=="1"){
$action=$_POST['action'];
if ($action=="Add_replay"){


$winner=$_POST['winner'];
$looser=$_POST['looser'];
$race_winner=$_POST['race_winner'];
$race_looser=$_POST['race_looser'];
$map=$_POST['map'];
$description=$_POST['description'];
$autor=$_SESSION['id'];

if ($winner !="" and $looser != ""){
upload_replay($winner,$looser,$race_winner,$race_looser,$map,$description,$autor);
}

}

?>

<table cellpadding="2" cellspacing="0" border="0" width="474" class="tab">
	<tr>
		<td colspan="8" class="title , name" height="23">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upload a replay</td>
	</tr>

	<tr>
		<td height="10"></td>
	</tr>
	
<form method='post' action='?page=uploadrep' enctype='multipart/form-data'>
<tr>
	<td class="ar">File:</td>
	<td colspan="2" class="small , name"><input type="file" class="frm" name="file_upl"></td>
</tr>
<tr>
	<td valign="top" class="ar">Map:</td>
	<td colspan="2">
		<select name=map class=frm>
		    <option value="Lost Temple">Lost Temple</option>
		    <option value="Luna">Luna</option>
		    <option value="Hunters">Hunters</option>
		    <option value="Fastest">Fastest</option>
		    <option value="Other">Other</option>
		</select>
	</td>
	<td width="10"></td>
</tr>
<tr>
	<td class="ar">Winner:</td>
	<td  class="small , name"><input type="text" class="frm" name="winner"></td>
	<td class="ar">Looser:</td>
	<td  class="small , name"><input type="text" class="frm" name="looser"></td>
</tr>
<tr>
	<td valign="top" class="ar">Race:</td>
	<td colspan=2>
		<select name=race_winner class=frm>
		    <option value="Terran">Terran</option>
		    <option value="Zerg">Zerg</option>
		    <option value="Protoss">Protoss</option>
		    <option value="Random">Random</option>
		</select>
	</td>
	<td width="10" colspan=2>
  		<select name=race_looser class=frm>
		    <option value="Terran">Terran</option>
		    <option value="Zerg">Zerg</option>
		    <option value="Protoss">Protoss</option>
		    <option value="Random">Random</option>
		</select></td>

</tr>
<tr>
	<td class="ar" rowspan=4 colspan=4>Description:&nbsp;
<textarea type="text" cols="45" rows="10" class="frm" name="description"></textarea></td>
<td></td>
</tr>


<tr>
	<td></td>
	<td valign="top" class="small , name"></td>
	<td class="ar">
		<br />
		<input type="hidden" name="action" value="Add_replay">
		<input type="submit" name="submit" class="btn" value="&nbsp;OK&nbsp;" onfocus="this.blur()" />
		
	</td>
</tr>
</form>
	<tr>
		<td height="10"></td>
	</tr>

</table>

<br />

<?php 

}
?>

function upload_replay($winner,$looser,$race_winner,$race_looser,$map,$description,$autor){

$upload_dir="./replays/";
		if(file_exists("$upload_dir/".$_FILES["file_upl"]["name"])==0){
			$tmp=move_uploaded_file($_FILES["file_upl"]["tmp_name"],"$upload_dir/".$_FILES["file_upl"]["name"]);
			if($tmp==1){echo "<p class='info'>File <b>".$_FILES["file_upl"]["name"]."</b> has been uploaded</p>\n";}
		}
    else{
			echo "<p class='error'>File already exists</p>\n";
    }
$soubor=$_FILES["file_upl"]["name"];
//$sql="INSERT INTO replays (soubor, winner , looser , race_winner , race_looser , map , description) VALUES ('$soubor', '$winner', '$looser', '$race_winner','$race_looser','$map,'$description')";
$sql="INSERT INTO replays (soubor, winner , looser , race_winner , race_looser , map , description,autor) VALUES ('$soubor','$winner','$looser','$race_winner','$race_looser','$map','$description','$autor')";
$udelej=mysql_query($sql);
if (!$udelej){echo "chyba sqlka pri uploadu";}	    
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: