Autor | Zpráva | ||
---|---|---|---|
drticipest Profil |
Čauec, prosím kde mám chybu? nějak mi script nefunguje u toh if a else
Moderátor Joker: Titulek „If a else“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší. <?php session_start(); if(!$_SESSION['login_ok']) { header("HTTP/1.1 301 Moved Permanently"); header("Location:http://www.zajimavosti.okamzite.eu/login.php"); header("Connection: close"); } include "../../funkce.php"; ?><?php include ("../pripojenikdatabazi.php"); $q = mysql_query("SELECT * FROM pc order by cislo desc limit 1") or die(mysql_error()); echo "<ul>"; while($data=mysql_fetch_array($q)) $cislo=$data["cislo"]+1; $id=("$cislo.php"); $popis=$HTTP_POST_VARS[Popis]; $obsah=$HTTP_POST_VARS[obsah]; $autor=$HTTP_POST_VARS[autor]; $nadpis=$HTTP_POST_VARS[nadpis]; $nazev_souboru= StrTr ($nadpis, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ ", "aacdeeeinoorstuuuyzaacdeeeinoorstuuuyz_"); $title=$HTTP_POST_VARS[title]; $klicovaslova=$HTTP_POST_VARS[klicovaslova]; echo "ahoj $nazev$odkaz$Popis"; include "../pripojenikdatabazi.php"; $odkaz=("http://www.zajimavosti.okamzite.eu/web/pc/clanky/$nazev_souboru.php"); $q = mysql_query("SELECT nazev FROM vse where nazev='$nazev_souboru' ") or die(mysql_error()); while($dataa[nazev]=mysql_fetch_array($q)) echo $dataa[nazev]; if ($nazev_souboru==$dataa[nazev]){ echo ("Duplicitni nazev clanku");} else { $sql="INSERT INTO pc(Nazev,Popis,odkaz,cislo,obsah,autor,nadpis,title,klicovaslova) VALUES('$nazev','$popis','$odkaz','$cislo','$obsah','$autor','$nadpis','$title','$klicovaslova')"; MySQL_DB_Query($conn_db,$sql,$spojeni) ?> <p>Článek byl vytvořen najdete ho na této adrese </p><?php echo ("$odkaz")?> <?php $obsah5 ='<html><head><meta http-equiv="Content-Language" content="cs"><meta http-equiv="Content-Type" content="text/html; charset=windows-1250"><title>'; $obsah6='</title><link rel="stylesheet" type="text/css" href="../../style.css"> <meta name="keywords" content="'; $obsah7='"><meta name="description" content="'; $obsah8='">'; $obsah9='<body>'; $obsah12='<div class="obsah">'; $obsah13='</div>'; $obsah14='<div class="autor">'; $obsah15='</div>'; $obsah18='<div class="nadpis">'; $obsah19='</div>'; $obsah16='<?php include ("../../styly.php");include ("../../azpomenu.php");include ("../../menu.php");?>'; $obsah17=' <?php include ("../../pripojenikdatabazi.php"); include ("../../bannery.php"); include ("../../paticka.php");?>'; $akce=fopen("./clanky/$nazev_souboru.php","w"); chmod("./clanky/$nazev_souboru.php", 0777); fwrite($akce,"$obsah5$title$obsah6$klicovaslova$obsah7$popis$obsah8$obsah9$obsah16$obsah18$nadpis$obsah19$obsah11$obsah12$obsah$obsah13$obsah14$autor$obsah15$obsah17"); fclose($akce); } ?> |
||
Radek9 Profil |
#2 · Zasláno: 24. 7. 2010, 20:21:37 · Upravil/a: Radek9
drticipest:
1) Nečíselné indexy ([Popis] atp.) uzavírej do uvozovek (["Popis"]). 2) Nepoužívej $HTTP_POST_VARS, ale $_POST. |
||
Joker Profil |
#3 · Zasláno: 24. 7. 2010, 21:46:03
drticipest:
„prosím kde mám chybu?“ Chyb vidím hned několik: 1. Nicneříkající obecný titulek vlákna. Už bych ho změnil, kdyby nicneříkající nebyl i dotaz. 2. Popis problému slovy „nefunguje to“. Asi to bude rozbité. 3. Chybí jakékoliv bližší informace o problému. 4. „Kde mám chybu?“ a kupa zdrojáku. I když malé plus alespoň za přibližné určení problémového místa. |
||
drticipest Profil |
#4 · Zasláno: 24. 7. 2010, 21:53:06
Promiňte,
když zpracovávám několik údajů z předchozího formuláře, tak bych měl zjistit jeslti $nazev_souboru už je vložena v databázi - tabulce vse, a jesltiže tam už tento záznam je, tak by mě to mělo vypsat duplicitní název a skončit to a jesltiže ne, - else - tak pokračovat následujícím scriptem, no a když zpracuji z přechozího formuláře $nazev_souboru a dám obsah proměný stejný jako už mám v databázi tak mi to akorát vypíše ARRAY a provede se zbytek scriptu , přičermž ten by se provést neměl |
||
drticipest Profil |
#5 · Zasláno: 24. 7. 2010, 21:54:38
Ještě pro upřesnění, když si do pspadu vložím tento script, tak se mi uzavírací složená závorka u else nezobrazí jako že ukončuje tu první. Nevím jak to popsat, dyžtak to zkuste sami v pspadu
|
||
panther Profil |
#6 · Zasláno: 24. 7. 2010, 22:05:57 · Upravil/a: panther
drticipest:
„Ještě pro upřesnění, když si do pspadu vložím tento script, tak se mi uzavírací složená závorka u else nezobrazí jako že ukončuje tu první.“ prtoože když je v textovém řetězci ?>, multihighlighter další kód jako PHP neobarvuje, nepokryje tedy závorku. Když si změníš zvýraznění syntaxe na PHP, závorky budou sedět. |
||
Radek9 Profil |
#7 · Zasláno: 24. 7. 2010, 22:07:13
drticipest:
Aha, ty do $data["nazev"] ukládáš celý array. Ukládej tam jen tu jednu hodnotu. |
||
drticipest Profil |
#8 · Zasláno: 24. 7. 2010, 22:26:41
A to mám udělat jak? Fakt se v tom moc nevyznám :)
|
||
drticipest Profil |
#9 · Zasláno: 24. 7. 2010, 22:27:04
panther:
Díky to by mě nikdy nenapadlo :-) |
||
Joker Profil |
#10 · Zasláno: 24. 7. 2010, 22:27:28
drticipest:
Na řádku 34, while($dataa[nazev]=mysql_fetch_array($q)) |
||
drticipest Profil |
#11 · Zasláno: 25. 7. 2010, 11:32:32
Joker:
bohužel i po umazání mi to vypisuje stále Array |
||
Joker Profil |
#12 · Zasláno: 25. 7. 2010, 11:42:02
drticipest:
Jak vypadají ty dva řádky teď? Jo a když jsme se konečně dobrali k problému, přejmenuji vlákno. |
||
drticipest Profil |
#13 · Zasláno: 25. 7. 2010, 11:50:52
$q = mysql_query("SELECT nazev FROM vse where nazev='$nazev_souboru' ") or die(mysql_error()); while($dataa=mysql_fetch_array($q)) echo $dataa; if ($nazev_souboru==$dataa) Neměl bych to spíš dělat přes mysql_num_rows a pak když if se rovná 1 tak jen vypsat echo atd. Nebylo by to lepší? |
||
Davex Profil |
#14 · Zasláno: 25. 7. 2010, 11:59:36 · Upravil/a: Davex
Chyba byla jen na řádku 32 u
while . Na ostatních mělo asi zůstat $dataa['nazev'] .
|
||
drticipest Profil |
#15 · Zasláno: 25. 7. 2010, 20:09:00
Tak jsem to nakonec vyřešil přes mysql_num_rows, jinak díkec za nápady :-)
|
||
Časová prodleva: 14 let
|
0