Autor Zpráva
robbie
Profil
Pomohl by někdo prosím s php kodem.
1. Pro odeslání formuláře do databáze jsem vytvořil send.php
2. po odeslání se mi objeví prázdná stranka, hlásí to, že send.php neexistuje, ja bych ale potřeboval, aby se objevila stránka odeslano.html, nevím jak ji přidružit ke kodu send.php.
3. nejsem si uplně jistý těmi uvozovkami, psal sem to podle učebnice a taky to tak dopadlo:(
Děkuji moc

send.php vložený do form action="send.php" v index.html:

<?php
//-- Pripojeni k databazi --//
$db_spojeni= mysqli_connect("...","...","...","...",3306);
// Nastaveni cestiny   //

$objekt_vysledku=mysqli_query($db_spojeni, "SET NAMES 'cp1250'");

// Vytvorreni prikazu sql //

$sql_prikaz="INSERT INTO xy (jméno,e-mail,částka)"."VALUES(
                    '".mysqli_real_escape_string($db_spojeni, $_POST['jmeno'])."'
                      .mysql_real_escape_string($db_spojeni,$_POST['e-mail'])."'                      
                      .mysql_li_real_escape_string($db_spojeni,$_POST['castka']."')";

// Zaslani sql prikazu  do databaze//

$objekt_vysledku=mysqli_query($db_spojeni,$sql_prikaz);


//Odpojeni od databaze   //
if ($db_spojeni)
 mysqli_close($db_spojeni);

?>

kod, který jsem vložil do index.html pro zobrazení výsledku:
<?php
//-- Pripojeni k databazi --//
$db_spojeni= mysqli_connect("...","...","...","...",3306);
// Nastaveni cestiny   //

$objekt_vysledku=mysqli_query($db_spojeni, "SET NAMES 'cp1250'");



// Zaslani sql prikazu  do databaze//

$objekt_vysledku=mysqli_query($db_spojeni,'SELECT * FROM ... ORDER BY castka DESC LIMIT 5');
//Zobrazeni vracenych vysledku    //

while ($radek=mysqli_fetch_array($objekt_vysledku)){
echo '<hr/>  ';
echo 'Přihodil:'.$radek['jméno'].'('.$radek['částka'].')<br>';
echo '<br>';

}

//Zavreni objektu vysledku//

mysqli_free_result($objekt_vysledku);


//Odpojeni od databaze   //
if ($db_spojeni)
 mysqli_close($db_spojeni);

?> 

KONEC
Davex
Profil
Tady je chyb příliš mnoho. To ti ani není divné, že se stejná funkce nebo proměnná jmenují různě?
DarkMeni
Profil
Nejdřív bude potřeba vyřešit 2. (proč to říká že send.php neexistuje). Je index.php a send.php ve stejné složce? Nepoužíváš html tag <base>?

Úvozovky by měly vypadat takle:
$sql_prikaz="INSERT INTO xy (jméno,e-mail,částka)"."VALUES(
                    '".mysqli_real_escape_string($db_spojeni, $_POST['jmeno'])."',
                    '".mysqli_real_escape_string($db_spojeni,$_POST['e-mail'])."',                      
                    '".mysqli_real_escape_string($db_spojeni,$_POST['castka']."')";
Používej editor, který umí vybarvovat kód podle syntaxe (třeba Notepad++), uvidíš pak hned, že je něco špatně.

A stejně bych to napsal jinak:
$osetrene_jmeno = mysqli_real_escape_string($db_spojeni, $_POST['jmeno']);
$osetreny_email = mysqli_real_escape_string($db_spojeni, $_POST['email']);
$osetrena_castka = intval($_POST['castka']); // cislo je lepsi osetrit funkci intval, pripadně floatval, doubleval. jinak to zpusobi chybu na strane databaze kdyz budes do sloupce s ciselnym typem ukladat (osetreny) retezec

$sql_prikaz="INSERT INTO xy (jméno,e-mail,částka) VALUES ('$osetrene_jmeno', '$osetreny_email', $osetrena_castka)";

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:

0