Autor Zpráva
Lamiška
Profil *
Zdravím,

Mám problém(no jo, nečekaně) a to v tom že odkazem předávám proměnnou action=XxX a ve skriptu ji switchem zpracuju noo a pro case add šecko faká a pro case delete se nevykoná nic...přikladám kód, doufám že se v něm vyznáte :-) Fakt už mi z toho hrabe, nemůžu najít chybu(ale bude to zas nějaká volovina)

<?php 
 include("mysql.php"); 
 include("functions.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <script type="text/javascript" src="lightbox.js"></script>
  <link rel="stylesheet" type="text/css" href="lightbox.css" />
  <title></title>
  </head>
  <body>
  <h1>Přidat fotku do fotogalerie</h1>
 <form action="index.php?action=add" method="post" enctype="multipart/form-data"> 
 <input type="file" name="image" /> <br />
 <input type="submit" name="submit" value="Přidat obrázek"; />
</form>

<table border="0">

<?php 

$dotaz = mysql_query("SELECT * FROM galerie");
$radky = mysql_num_rows($dotaz);

if ($radky == 0) {
 echo "Žádné obrázky !";
 exit;
} else {

 while($data = mysql_fetch_array($dotaz) ) {
 
 $cesta = "images/$data[nazev]";
 $rozmery = getimagesize($cesta);
 $vyska = $rozmery[0];
 $sirka = $rozmery[1];
 
 $rozmery = Zmensi($vyska,$sirka,150,150);
 
 ?>
 
 <tr>
 <td> <a href="images/<?php echo $data['nazev']; ?>" rel="lightbox" title="<?php echo $data['nazev']; ?>"><img src="images/<?php echo $data['nazev']; ?>" border="0" height="<?php echo $rozmery[0]; ?>" width="<?php echo $rozmery[1]; ?>" alt="obrazek" /></a></td><td><a href="index.php?action=delete&id=<?php echo $data['id']; ?>">Vymazat obrázek</a></td>
 </tr>

 
<?php } } ?>
 
</table>
</body>
</html>

<?php 

if(isset($_POST["submit"]) ) {

 $akce = $_GET["action"];
 $webka = "index.php";
 $max_size = "3000000";

switch ($akce) {

 case add:
 
 $image = $_FILES["image"];
 $directory = "./images/";
 $nazev = $_FILES["image"]["name"];
 
 if (!is_file($image['tmp_name']) ) {
  echo "Zapomněli jste přidat obrázek !"; //Ověření, zda uživatel něco vložil
  exit;
 }
 
 if ($image['size'] > $max_size) {
 echo "Obrázek je příliš velký ! Maximální velikost je 3 MB !"; // Ověření velikosti souboru
 exit;
 }
  
 if(!in_array($image["type"], array("image/jpeg","image/pjpeg","image/png","image/gif") ) ) {
  echo  "Povoleny jsou pouze obrázky formátu JPEG,GIF a PNG !";                                  // Ověření formátu souboru
  exit;
 }
 
 if(!move_uploaded_file($image["tmp_name"], $directory . $image["name"]) ) {
  echo "Při nahrávání obrázku došlo k chybě. Prosím opakujte pokus <a href='{$webka}'>Zde</a>"; //Kdyby se něco posralo....
 } 
 
$sql = mysql_query("INSERT INTO galerie (nazev,id) VALUES ('$nazev','') ");
 if ($sql) {
 echo "Obrázek byl úspěšně nahrán !";
}
 break;

 case delete:
 
 //TADY KDYZ NAPISU JAKYKOLIV PRIKAZY TAK SE NEVYKONAJ A NEVIM PROC KUA !!!!!!!!!!!!!!!
 
break;
 }
}

?>
Chamurappi
Profil
Reaguji na Lamišku:
Diskuse » PHP » Už z toho nervim....
Jestli máš problém s nervy, pošli je doktorovi a ne na diskusní fórum o webdesignu.
Při psaní titulku pro svůj dotaz jsi neviděl(a) text „Tento název prosím volte tak, aby vyjadřoval podstatu dotazu.“?

case add:
Já bych tu hodnotu instinktivně psal do uvozovek, ale nevím, PHP neznám, zaujaly mě jen ty tvé nervy.
Lamiška
Profil *
Když PHP neznáš tak mi aspoň blbě neraď....jo sorry ty jsi asi nikdy nebyl naštvanej tak promiň a samotnej příspěvek se týká webdesignu ne mejch nervů...pochybuju že by mi doktor pomohl s PHP no ale budiž.... a ten titulek...jo, to je moje chyba to uznávám...pane klidnej
tiso
Profil
Zammmknúť? Keď sa niekto nevie chovať...
Chamurappi
Profil
Reaguji na Lamišku:
Když PHP neznáš tak mi aspoň blbě neraď
Když se neumíš chovat podle pravidel, tak sem nepiš.

jo sorry ty jsi asi nikdy nebyl naštvanej
Mně je fuk, jestli jsi naštvanej. To si vyřeš s tím doktorem (nejlépe s psychologem).

jo, to je moje chyba to uznávám
Už jsem vymyslel lepší.
Majkl578
Profil
co pouzivat standardni zapis a pouzit uvozovky?!
Dero
Profil
Mohl bych některého z mmmoderátorů poprosit, aby z titulku odstranil zlomyslný dovětěk "hrabe mi"?
fuckin
Profil *
sorry ale v tom se fakt nevyznam, tvuj zpusob zapisu je hnus, zadne formatovani, zadne uvozovky, zadny styl, zadny napad...
A to ze ti z toho hrabe fakt nikoho nezajima a jestli sis myslel ze kdyz napises takovyto titulek ze nekoho zaujmes tak ses asi spletl...

Projed to pres nejaky debugger a testni si ty hodnoty promennych...
V tom case add bude chyba...
Chamurappi
Profil
Reaguji na fuckin:
jestli sis myslel ze kdyz napises takovyto titulek ze nekoho zaujmes tak ses asi spletl
Současný titulek jsem sestavil já. Původní zněl „Už z toho nervim“ a zaujal mě.

Projed to pres nejaky debugger
Celý problém je v tom, že při kliknutí na odkaz „index.php?action=delete&id=…“ není splněná podmínka „if(isset($_POST["submit"]))“, viz ten stávající titulek.
joe
Profil
Lamiška
case "add":
.
.
case "delete":


Chybu máš i tady
if ($radky == 0) {
 echo "Žádné obrázky !";
 exit;

Pokud tam to exit budeš mít, pak se ti nevypíše zbytek stránky. A jinak když už píšeš text "Žádné obrázky", pak by měl být asi v tabulky.
Dero
Profil
Poprosil jsem jednoho z mmmoderátorů, aby vyhověl mé žádosti v tomto vlákně (odstranění kousavého a zcela zbytečného dovětku). Ten tak učinil. Teď ale koukám, že je titulek zpět v podobě, do které ho Chamurappi upravil.

Pokud je ten dovětek tak důležitý, prosím dotyčného, který změnu provedl, aby mi to vysvětlil. Jako zdejšímu uživateli je mi takový přístup nepříjemný, jako moderátor ho nechápu. Nechci vytvářet tsunami ve sklenici vody, ale nelíbí se mi, jak svévolně, nadřazeně a nadutě se zde z pozice moci přistupuje k uživatelům, kteří se provinili jen tím, že mají horkou hlavu.
Alphard
Profil
neustále to tady někdo vytahuje kvůli tomu nadpisu, takže ten dovětek odstraňuji, i když se mi docela líbíl :-)
doufám, že se autor již poučil a jestli ne, tak je to asi marné
držte se prosím tématu

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: