Autor Zpráva
jazzdave
Profil
Zdravím,
Potřeboval bych poradit, jsem začínající lama, snažím se o funkční formulář a php script, který vloží data z formuláře do databáze, ale nefunguje mi to :(.

Může te mi prosím někdo poradit, kde je chyba?
Do Tabulky test, kde jsou dva sloupce cislo a vzkaz, se mi nic nevloží

Mám doubor s formulářem:
<HTML>
<HEAD>
<TITLE>Vloženní do databáze</TITLE>
</HEAD>
<BODY>
<h1>Vložení vzkazu</h1><br><br>
  <form method="post" action="odesli.php">
  Zadej číslo
<input type="text" size="10" name="cislo"> <br><br>
<br>
  
    Váš vzkaz:<br><textarea rows="6" name="vzkaz" cols="40"> </textarea><br>
    <input type="hidden" name="odeslano" value="true">
    <input type="submit" name="odeslat" value="Odeslat">
  </form>
</BODY>
</HTML>

A soubor odesli.php:
<HTML>
<HEAD>
<TITLE>formulář byl odeslanej</TITLE>
</HEAD>
<BODY>

<br>
Formůláš byl odeslán

<?php

require_once('odesli.php');

if(isset($_POST['submit']) && $_POST['submit'] == 'odeslat') 
{
   //prijmuti promnenych

       $cislo = $_POST['cislo'];
            $vzkaz = $_POST['vzkaz'];                   
           
      

   //ukladani dat do DB
   
   $connection=mysql_Connect("hz-mysql1", "spravnylogin", "spravneheslo");
   $database_connection=Mysql_Select_DB("mysql30434");

   mysql_select_db($database_connection, $connection);

   $insert_query = "INSERT INTO test(cislo, vzkaz) VALUES ('$cislo','$vzkaz',NOW())";
                                                       
                                                

   $result = mysql_query($insert_query, $connection) or die(mysql_error());
  

   if(!$result){
                  echo("Mas to rozbity");
}
} else{
               echo("blablabla ulozeno");
            
}
?>
</BODY>
</HTML>
mattyZEM
Profil
jazzdave:
$insert_query = "INSERT INTO test(cislo, vzkaz) VALUES ('$cislo','$vzkaz',NOW())";
Vkládáš do 2 sloupců 3 údaje které by měli jít do 3 sloupců.
jenikkozak
Profil
A také máš přehozené dole závorky, správně by to mělo být:
if(!$result){
echo("Mas to rozbity");
} else{
echo("blablabla ulozeno");
}
}


Edit: teď na to koukám, co to je za škaredou konstrukci v HTML? To se dělá, psát tři <br> za sebou? No fuj.
<form method="post" action="odesli.php">
Zadej číslo <input type="text" size="10" name="cislo"><br>
Váš vzkaz:<br><textarea rows="6" name="vzkaz" cols="40" style="margin-top:3ex"></textarea><br>
<input type="submit" name="odeslat" value="Odeslat">
</form>


A místo if(isset($_POST['submit']) && $_POST['submit'] == 'odeslat') do odesli.php zadej:
if(isset($_POST['cislo']))
jazzdave
Profil
Díky, moc za rady. Po té co jsem opravil počet spoupců a vkládaých hodnot a opavil závorky a místo if(isset($_POST['submit']) && $_POST['submit'] == 'odeslat') jsem dal if(isset($_POST['cislo'])), tak to funguje.


Díky moc všem za odpovědi!!!
Rafan
Profil
Dobrý den,

Začínám s tabulkami a chtěl bych se zeptat jak by vypadala tabulka pro tento příklad. Děkuji moc.
jenikkozak
Profil
Tabulka se jmenuje „test“, obsahuje sloupce cislo a vzkaz, přičemž cislo obsahovalo nějaký číslený typ (TINYINT, SMALLINT až BIGINT, vzkaz mohl obsahovat některý z řetězcových typů (VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT nebo LONGTEXT), dále obsahovala sloupec neznámého názvu, který obsahoval datový typ (DATE, možná DATETIME nebo nějaký jiný). Ale na tomto příkladu není čím se inspirovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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