Anonymní profil kozusnik – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil kozusnik – Programujte.comAnonymní profil kozusnik – Programujte.com

 

Příspěvky odeslané z IP adresy 188.175.31.–

kozusnik
PHP › Nevkládá zápis do DB
30. 3. 2012   #155721

Dobrý den, mám problém s vkládáním záznamu do databáze. Když do textového pole napíšu text,.... tak se to do databáze zapíše bez problémů. Jenže když do textového pole vložím obrázek nebo odkaz pomocí tlačítka udělanáho v JS, tak to do databáze nevloží. Pokud obrázek napíšu ručně, tak není problém. Taktéž s odkazem.
 SOUBORY: 

tvorba_clanku.php


<?php

 
$zobraz_formular = true;
if (isset($_POST['vytvorit'])) {
    if (trim($_POST['nazev']) == "") {
        $errors[] = "Název je povinný údaj";
    }
    if (trim($_POST['obsah']) == "") {
        $errors[] = "Text je povinný údaj";
    }
	
    if (!isset ($errors)) {
		echo"Článek byl vytvořen";
		$zobraz_formular = false;
        $autor = $_SESSION['username'];
        $timezone = new DateTimeZone("Europe/Prague");
        $date = new DateTime();
        $date->setTimezone($timezone);
        $datum = $date->format('d.m.Y  H:i');
        $nazev = $_POST['nazev'];
		$obsah = $_POST['obsah'];
        $picture = $_POST['obrazek'];
        $sql = "insert into clanky (nazev, datum, autor, obsah, image) values ('$nazev', '$datum', '$autor', '$obsah', '$picture')";
        $res = mysql_query($sql);
    } else {
		$zobraz_formular = true;
        foreach ($errors as $error){
            echo $error."<br />";
        }
    }
}
if($zobraz_formular==true) { include("tvorba_formular.php"); }
if($zobraz_formular==false) {include("clanek_inc.php"); }
?>

tvorba_formular.php:

<form method="post" name="tvorba" action="<?php /*if(!isset($_POST['vytvorit']))echo $PHP_SELF;*/ ?>">
    <table>
        <tr><td>Nazev</td></tr>
        <tr><td><input type="text" name="nazev" class="nazev"></td></tr>
        <tr><td>Obrázek k článku</td></tr>
        <tr><td><?php 
$sql_vypisobrazky = "SELECT id, soubor, nazev from images";
$res_vypisobrazky = mysql_query($sql_vypisobrazky) or die("Chyba. Nelze provést akci! Prosím kontaktujte administrátora");
echo"<select name='obrazek'>";
echo"<option value='preview.jpg'>DEFAULT";
while ($zaznam_vypisobrazky = mysql_fetch_array($res_vypisobrazky)) {	
echo"<option value='".$zaznam_vypisobrazky['soubor']."'>".$zaznam_vypisobrazky['soubor'];
	}
echo"</select>";		
		 ?></td></tr>
        <tr><td>Text</td></tr>
        <tr><td>     
<a href="javascript:insertAtCursor(obsah, '<b>', '</b>');">  <b>B</b>  </a>
<a href="javascript:insertAtCursor(obsah, '<i>', '</i>');">  <i>I</i>  </a>
<a href="javascript:insertAtCursor(obsah, '<u>', '</u>');"> <u>U</u>  </a>
<a href="javascript:insertAtCursor(obsah,'<a href=\'example.com\'>text odkazu</a>','')">  Odkaz</a>
<a href="javascript:insertAtCursor(obsah,'<img src=\'example.com/image.jpg\' target=\'_blank\' />','')">Obrázek</a>
</td></tr>
        <tr><td><textarea name="obsah" id="obsah"></textarea></td></tr>
        <tr><td><input type="submit" name="vytvorit" value="Vytvorit clanek"></td></tr>
    </table>
</form>

javascript - kód pro vložení:
 

<script language="javascript" type="text/javascript">
// http://www.alexking.org - LGPL 
function insertAtCursor(myField, prefix, postfix) { 
      var re = new RegExp("^(.*\\S)(\\s*)$"); 
  myField.focus(); 
  //IE support 
  if (document.selection) { 
    sel = document.selection.createRange(); 
            var selection = sel.text; 
            var wasEmpty = (selection == ""); 
            var space = ""; 
            if (!wasEmpty) { 
                  var matches = selection.match(re); 
                  if (matches) { 
                        selection = RegExp.$1; 
                        space = RegExp.$2; 
                  } 
            } 
    sel.text = prefix+selection+postfix+space; 
            sel.collapse(false); 
            if (wasEmpty) { 
                  sel.moveEnd('character',-(prefix.length+1)) 
            } 
            sel.select(); 
  } 
  //MOZILLA/NETSCAPE support 
  else { 
            if (myField.selectionStart || myField.selectionStart == '0') { 
                  var startPos = myField.selectionStart; 
                  var endPos = myField.selectionEnd; 
                  var selection = myField.value.substring(startPos, endPos); 
                  var wasEmpty = (startPos == endPos); 
                  var space = ""; 
                  if (!wasEmpty) { 
                        var matches = selection.match(re); 
                        if (matches) { 
                              selection = RegExp.$1; 
                              space = RegExp.$2; 
                        } 
                  } 
                  myField.value = myField.value.substring(0, startPos) 
                                                            + prefix+selection+postfix+space 
                                                            + myField.value.substring(endPos, myField.value.length); 

                  var newPosition; 
                  if (wasEmpty) { 
                        newPosition = startPos+prefix.length; 
                  } else { 
                        newPosition = startPos+prefix.length+selection.length+postfix.length+space.length; 
                  } 
                  myField.setSelectionRange(newPosition, newPosition); 
            } else { 
                  myField.value += prefix+postfix; 
                  myField.setSelectionRange(startPos+prefix.length, startPos+prefix.length); 
            } 
      } 
}
</script>

OMLOUVÁM SE, ŽE JE TOHO TOLIK, ale nevím, kde je chyba, tak jsem to radši hodil celé. Moc děkuji za odpovědi.


 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý