Autor Zpráva
rihot
Profil
Jak to že mi to nezapíše do tabulky zadané údaje ? Zkoušel jsem různé kombinace a nikdy se mi to tam nezapsalo :(. Když dokončím registraci tak mi to vyhodí jenom prázdnou stránku ragistrace_complete.php Tady je kód.
<?php
require "errors.php"; // chybove hlasky a zpravy
// byl odeslan formular ?
if(!IsSet($_POST['sent'])) {      
  $uziv_jmeno = $_POST['uziv_jmeno'];
  $heslo = $_POST['heslo'];
  $heslo_2 = $_POST['heslo_2'];
  $jmeno = $_POST['jmeno'];
  $prijmeni = $_POST['prijmeni'];
  $email = $_POST['email'];
  $adresa = $_POST['adresa'];
  $tel = $_POST['tel'];
 // byly vyplneny vsechny povinne udaje ?
  if($uziv_jmeno=="" || $heslo=="" || $heslo_2=="" || $email=="" || $jmeno=="" || $prijmeni=="" || $adresa=="" || $tel=="" ) {
    $error[] = 6;
  }
  
  // pokud byl zadan email, zkontroluje jeho platnost
  if($email != "" && (!EregI("^[a-z0-9]+[a-z0-9\._-]*@[a-z0-9]+[a-z0-9\._-]*\.[a-z]{2,10}$", $email) || EregI("\.{2,}", $email) || EregI("_{2,}", $email) || EregI("-{2,}", $email))) {
    $error[] = 7;
  }
  // rovnaji se hesla ?
  if($heslo!=$heslo_2) {
    $error[] = 8;
  }
  
  require 'db_connect.php';  // pripoji k databazi
  // existuje zadany login ?
  $query = MySQL_Query("SELECT uziv_jmeno FROM zakaznici WHERE uziv_jmeno LIKE '$uziv_jmeno'") or Weblog_Error(2);
  if(MySQL_Num_Rows($query) != 0) {
    $error[] = 9;
  } 
  
  if(!IsSet($error)) {
    $heslo = MD5($heslo);
    $query = mysql_query($q="INSERT INTO zakaznici VALUES ('', '$uziv_jmeno', '$heslo', '$jmeno', '$prijmeni', '$email', '$adresa', '$tel')") or print ("Došlo k chybě v dotazu: ".$q."<br>".mysql_error()); 
             
    // prihlaseni pomoci session
    Session_Start();
    $_SESSION['auth'] = Array(
    'id_zakaznika' => $id_zakaznika = MySQL_Insert_ID(),
    'uziv_jmeno' => $name,
    'jmeno' => $name,
    'prijmeno' => $prijmeni,
    'email' => $email,
    'time' => Time()+1800
    );
    
    MySQL_Close();
    
    // presmerovani do administracni casti
    $message = 6;
    Header('Location: http://'. $_SERVER['HTTP_HOST'] . 'uziv_rozhrani.php' . $message . '&' . SID);
    exit;
  }
  MySQL_Close();
}

// chybove hlasky
if(IsSet($error)) for($i=0;$i<Count($error);$i++) echo '<p class="error">' . $msg_error[$error[$i]] . '</p>'; 
?>

Moderátor Chamurappi: Titulek „PHP a MYSQL“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
panther
Profil
rihot:
kdybys @nepotlačoval chybové hlášky, snáze bys zjistil příčinu.
rihot
Profil
I když jsem odstranil všechny @ před příkazama tak to stále nic nehlásí :(
panther
Profil
rihot:
Kde máš mysql_error()?
rihot
Profil
Jak to tam mám zapsat?
$query = MySQL_Query("INSERT INTO zakaznici VALUES ('', '$uziv_jmeno', '$heslo', '$jmeno', '$prijmeni', '$email', '$adresa', '$tel')") OR die MYSQL_ERROR();


Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP5.2.10\www\antikvariat\registrace_complete.php on line 36
kokolino
Profil *
rihot:
skus is vypisat mysql_error ()
$vysledek = mysql_query($q="select nebo jiny sql prikaz...") or print("Došlo k chybě v dotazu: ".$q."<br>".mysql_error());
panther
Profil
rihot:
... or die (mysql_error());
rihot
Profil
Opět to nic nehlásí
$query = MySQL_Query("INSERT INTO zakaznici VALUES ('', '$uziv_jmeno', '$heslo', '$jmeno', '$prijmeni', '$email', '$adresa', '$tel')") OR die (mysql_error());
rihot
Profil
2kokolino:
Zkusil jsem to a taky nic žádná chyba žádný zapsání do databáze.
kokolino
Profil *
rihot:
skus toto, ze ak zadas do tabulky zakaznici, tak tam daj aj to co presne tam vkladas
$query = mysql_query($q="INSERT INTO zakaznici(tuto neviem co mas '',uziv_jmeno,heslo,jmeno,prijmeni,email,adresa,tel) VALUES ('', '$uziv_jmeno', '$heslo', '$jmeno', '$prijmeni', '$email', '$adresa', '$tel')") or print ("Došlo k chybě v dotazu: ".$q."<br>".mysql_error());
rihot
Profil
Opět stále je to stejné :( .. Mám dát i obsah tabulky?

-- http://www.phpmyadmin.net
--
-- Počítač: localhost
-- Vygenerováno: Čtvrtek 26. listopadu 2009, 17:57
-- Verze MySQL: 5.1.37
-- Verze PHP: 5.2.10

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Databáze: `antikvariat`
--

-- --------------------------------------------------------

--
-- Struktura tabulky `zakaznici`
--

CREATE TABLE IF NOT EXISTS `zakaznici` (
  `id_zakaznika` int(5) unsigned NOT NULL AUTO_INCREMENT,
  `uziv_jmeno` varchar(20) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  `heslo` varchar(16) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  `jmeno` varchar(20) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  `prijmeni` varchar(30) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  `email` varchar(40) CHARACTER SET latin2 COLLATE latin2_czech_cs NOT NULL,
  `adresa` varchar(120) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  `tel` varchar(12) CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
  PRIMARY KEY (`id_zakaznika`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Vypisuji data pro tabulku `zakaznici`
--
F4R3LL
Profil *
Hele nejsem si jistý ale tohle by melo byt naopak:
<?
if(isset($_POST["send"])) {
// kod
}
?>

a ne tohle:
<?
if(!isset($_POST["send"])) {
// kod
}
?>

to prvni se provede pokud existuje promenna $_POST["send"] to druhe je kdyz neexistuje
rihot
Profil
Též to nefunguje. :( tady máte kód formuláře.
<div class="form">
  <form action="registrace_complete.php" method="post">
  <input type="hidden" name="sent" value="">
  <div class="formrow">
    <div class="formdesc">Login</div><div class="forminput"><input type="text" name="uziv_jmeno" size="30" value="<?php if(IsSet($uziv_jmeno)) echo $uziv_jmeno ?>" maxlength="10"></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Heslo</div><div class="forminput"><input type="password" name="heslo" size="30" maxlength="10"></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Heslo znovu</div><div class="forminput"><input type="password" name="heslo_2" size="30" maxlength="10"></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Jméno</div><div class="forminput"><input type="text" name="jmeno" size="30" value="<?php if(IsSet($jmeno)) echo $jmeno ?>" maxlength="30"></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Příjmení</div><div class="forminput"><input type="text" name="prijmeni" size="30" value="<?php if(IsSet($prijmeni)) echo $prijmeni ?>" maxlength="30"></div>
  </div>
   <div class="formrow">
    <div class="formdesc">Email</div><div class="forminput"><input type="text" name="email" size="30" value="<?php if(IsSet($email)) echo $email ?>" maxlength="30"></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Adresa</div><div class="forminput"><textarea type="text" rows="10" name="adresa" cols="30" value="<?php if(IsSet($adresa)) echo $adresa ?>" maxlength="50"></textarea></div>
  </div>
  <div class="formrow">
    <div class="formdesc">Telefonní číslo: </div><div class="forminput"><input type="text" name="tel" size="30" value="<?php if(IsSet($tel)) echo $tel ?>" maxlength="30"></div>
  </div>
  <div class="formrowsubmit">
    <input class="prihlasit" type="submit" name="send" value="Registrovat" class="submit">
  </div>

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: