Autor | Zpráva | ||
---|---|---|---|
Martin011 Profil |
#1 · Zasláno: 10. 7. 2009, 19:43:22
Dobrý den, dá se nějak zamezit tomu, že se mi např. E-mail byl úspěšně odeslán zobrazí na samostatné stránce bez obsahu. Chtěl bych, aby se ta hláška zobrazila pod formulářem. Totéž mám problém s registraci-třeba Špatně zadaný e-mail-ale hláška se neotevře v novém okně, v tom samém, akorát bez obsahu a bez všeho, totéž anketa, když chci hlasovat se mi otevře sama bez veškerých jiných věcí. Po té můžu hlasovat. Dá se to nějak vyřešit.
Děkuji předem. |
||
Radek9 Profil |
#2 · Zasláno: 10. 7. 2009, 19:51:34
A tvůj kód si mám vyčarovat?
|
||
Martin011 Profil |
tak formulář vypadá takhle:
<html> <head> <title>Napište mi</title> <meta HTTP-AQUIV="Content-Type" CONTENT="text/html; charset=windows-1250"> </head> <body> <? function vypisForm($jmeno,$predmet,$text) { echo " <form method=post action=\"mail.php\"> <strong> Jméno:</strong><br> <input name=jmeno value=\"".$jmeno."\"><br> <strong> Předmět:</strong><br> <input name=predmet value=\"".$predmet."\"><br> <strong>Text zprávy</strong><br> <textarea style=\"width:200px; height:150px;\" name=text>".$text."</textarea><br><br> <input type=submit value=Odeslat> </form> <br><br> "; } if (empty($_POST)) vypisForm("","",""); /* V tuto chvíli je uživatel na stránce poprvé. Vypíšeme formulář. Protože uživatel ještě nic nenapsal, bude formulář prázdný. */ else { //uživatel odeslal data, zde následují kontroly if ($_POST["jmeno"]=="" || ereg("^ +$",$_POST["jmeno"])) { echo "Zadejte prosím své jméno."; vypisForm($_POST["jmeno"],$_POST["predmet"],$_POST["text"]); } /* První podmínka na kontrolu jména. Jsou zde použity regulární výrazy, které jsme zatím v našem seriálu neměli. Znamená to: pokud je jméno uplně prázdné nebo pokud obsauje POUZE libovolný počet mezer, vypiš varovnou hlášku. Zároveň se zpátky zobrazí formulář, který bude obsahovat veškerá data, která už uživatel napsal. */ elseif ($_POST["predmet"]=="" || ereg("^ +$",$_POST["predmet"])) { echo "Zadejte prosím předmět."; vypisForm($_POST["jmeno"],$_POST["predmet"],$_POST["text"]); } /* Druhá podmínka na kontrolu předmětu. Funguje uplně stejně, jako ta předchozí. */ elseif ($_POST["text"]=="" || ereg("^ +$",$_POST["text"]) || strlen($_POST["text"]) > 500) { echo "Text e-mailu by měl být v rozmezí 1-500 znaků."; vypisForm($_POST["jmeno"],$_POST["predmet"],$_POST["text"]); } /* Třetí podmínka na kontrolu textu. Funguje uplně stejně, jako ty předchozí, akorát navíc také kontroluje délku vzkazu. */ else { //nyní následuje samotné odesílání mailu if ($_SERVER["SERVER_ADDR"]!="127.0.0.1") Mail ("vaseadresa@server.cz",$_POST["predmet"],$_POST["text"],"From:".$_POST["jmeno"]); /* Tato podmínka je tu kvůli localhostu. Pokud tento script budete testovat doma, PHP samotnou funkci pro odesílání mailů přeskočí, jinak by vám to vyhodilo error a vy by jste neviděli krásnou větu... */ echo "E-mail byl úspěšně odeslán."; /* Na internetu to samozřejmě bude fungovat správně. */ } } ?> </body> </html> Důležitý je ten příkaz echo |
||
Martin011 Profil |
anketa takhle:
<HTML> <HEAD> <META CONTENT="text/html; charset=windows-1250" HTTP-EQUIV="Content-Type" content="text/html; charset=WINDOWS-1250"> <TITLE>Ankteta</TITLE> </HEAD> <style> .text { background-color:white; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; font-size : 11px; text-align : left; color : black; } .nadpis{ background-color : Black; color : White; font-size : 12px; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; padding-bottom : 2px; padding-top : 2px; padding-left : 2px; padding-right : 2px; text-align : center; } a:hover{ color : Red;} a:link {color: black} a:visited {color: black} a:active {color: black} </style> <BODY> <?php $souborip="anketa-ip.txt"; //soubor s ip adresami hlasujících $soubor="hlasuj.txt"; //soubor s hlasy $aktualni = $REMOTE_ADDR; //aktuální ip adresa $otazka = "Jak se vám líbí <br> tyto stránky?"; //Otázka $odp = array("Super","Dobré.","Ujdou.","Hrozné"); //Odpovědi //Kontrola existence souborů if (!file_exists($souborip)) { err ($souborip); exit; } if (!file_exists($soubor)) { err ($soubor); exit; } //Konec kontroly //Otevření a načtení hlasů $data = fopen($soubor, "r"); $cti = fread($data, filesize($soubor)+10); fclose($data); list($a, $b, $c, $d) = explode( "Đ", $cti); //Hlasování if (isset($odpoved)) { if (zjistiip($souborip, $aktualni)) { if ($odpoved == "a") {$a++;} elseif ($odpoved == "b") {$b++;} elseif ($odpoved == "c") {$c++;} elseif ($odpoved == "d") {$d++;} $zapsat = "$a" . "Đ" . "$b" . "Đ" . "$c" . "Đ" . "$d" . "Đ"; $kam = fopen($soubor, "w"); fwrite($kam, $zapsat); //zapsání nového hlasu do souboru fclose($kam); $ipsoubor = fopen($souborip, "r"); //zapsání ip adresy odesílatele hlasu $data = fread($ipsoubor, filesize($souborip)+10); fclose($ipsoubor); $write = $data.$aktualni."Đ"; $kam = fopen($souborip, "r+"); fwrite($kam,$write); fclose($kam); } } //Zobrazení výsledků $celkem = $a+$b+$c+$d; $lidi = $celkem; if ($celkem == 0) { $celkem = "1"; $lidi="0"; } $pr = $celkem/100; $a = number_format($a/$pr,1); $b = number_format($b/$pr,1); $c = number_format($c/$pr,1); $d = number_format($d/$pr,1); $pismeno = array ("a","b","c","d"); $procenta = array ("$a","$b","$c","$d"); $kolik = "4"; echo "<table border='0' cellpadding='0' cellspacing='0'>\n"; echo "<tr><td colspan='2' class='nadpis'>$otazka</td></tr>\n"; for ($i=0; $i<$kolik ;$i++ ) { if (zjistiip($souborip, $aktualni)) { echo "<tr><td colspan='2' class='text'><a href=anketa.php?odpoved=$pismeno[$i]>$odp[$i]</a></td></tr>\n"; } else { echo "<tr><td colspan='2' class='text' >$odp[$i]</td></tr>\n"; } echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n"; } echo "<tr><td colspan='2' class='nadpis'>Celkem hlasovalo: $lidi</td></tr></table>\n"; //Funkce pro vypsání chyby function err ($soubor) { echo "<font color=red><b>Chyba!</b></font><br>Nelze nalézt soubor <b>$soubor</b>!\n"; } //funkce pro zjištění ip adresy function zjistiip($souborip, $ip) { $ipsoubor = fopen($souborip, "r"); $data = fread($ipsoubor, filesize($souborip)+10); fclose($ipsoubor); $ipadresy = explode("Đ",$data); if (in_array($ip, $ipadresy)) { return false; //Pokud již bylo z dané ip adresy hlasováno } else { return true; // pokud nebylo z dané ip hlasováno } } //konec funkce ?> </BODY> </HTML> Ta se mi načte celá do toho nového okna |
||
Martin011 Profil |
a ještě registrace:
<?php ob_start(); if(isset($_POST['sent'])) $jmeno=trim($_POST['jmeno']); $heslo1=$_POST['heslo']; $heslo2=$_POST['heslo_znovu']; $mail=trim($_POST['mail']); $web=trim($_POST['web']); if($jmeno=="" or $heslo1=="" or $mail=="") echo "Nebyly vyplněny všechny povinné údaje!"; }else require "db.php"; i $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"),0); if($PocetStejnych!=0) echo "Zadané jméno nebo email je již používán někým jiným!!!"; }elseif($heslo1 != $heslo2) echo "Zadané hesla se neshodují!!!"; }else{ $heslo=md5($heslo1); if($web=="http://" or $web=="") $web=""; } $VlozData=mysql_query(" INSERT INTO uzivatele (`jmeno`,`heslo`,`mail`,`web`,`prava`) VALUES ('$jmeno', '$heslo', '$mail', '$web', '0') ") or die (mysql_error()); if($VlozData){ echo "Data byla uložena"; } } } }else{ echo "Nebyl odeslán formulář"; } echo "<a href='index.php'>index</a>"; // header ("Location: index.php"); ob_end_flush(); ?> Jde mi o ty hlášky, co tam mám. |
||
fuckin Profil |
jaks to zkousel? Jake mas napady?
Jestli jen potrebujes upravit kod bez tve snahy tak je tu sekce prace a zakazky. "dulezity je ten prikaz echo" Aha, no tak to je hned jasny...odbornik se pozna. Moderátor Str4wberry: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Lexter Profil |
#7 · Zasláno: 10. 7. 2009, 23:18:54 · Upravil/a: Lexter
Bohužel neporadím (za což se omlouvám, že se ti vtírám do vlákna), ale:
fuckin Nechtěl by ses trochu krotit? Ať se podívám do jakéhokoli vlákna, je velká šance, že musím přeskokovat ty tvoje výkřiky. Ještě jsem nezažil, že bys někomu pomohl, jen prudíš. Budu moc rád, když se trochu zklidníš, rád bych si ve vláknech početl ty odborníku. |
||
grimword Profil |
#8 · Zasláno: 11. 7. 2009, 10:50:45
Lexter
jenomže on má pravdu, nikdy jsem nepochopil co vás vede k tomu, aby jste řešili člověka co skopíruje dvěstě řádkový kód s komentářem "mně to nejede, udělejte s tím něco" |
||
Cargas Profil |
#9 · Zasláno: 12. 7. 2009, 13:15:52
dela se to takhle :
nejdriv ulozis do promenne napr. $email = "E-mail byl úspěšně odeslán"; a potom pomoci echo $email vypises kam je potreba pokud si nepochopil ptej se dal |
||
Martin011 Profil |
#10 · Zasláno: 12. 7. 2009, 14:37:12
jj, díky, nějak jsem to už udělal. Mohl bys mi ale ještě v něčem poradit?
|
||
Martin011 Profil |
#11 · Zasláno: 12. 7. 2009, 14:39:24
Když mám třeba nástěnku o více souborech a chci ji vložit do aktivní položky v php (třeba do index.php?str=nastenka), vložím akorát jenom ten hlavní soubor i tabulkou a tak, ale potom mi to píše, že ostatní soubory nenalezeno. Když chci třeba přidat příspěvek. Nevíš, jak by se to dalo udělat, aby to normálně fungovalo?
|
||
Cargas Profil |
#12 · Zasláno: 12. 7. 2009, 23:27:36
tak pouzij include
|
||
Časová prodleva: 15 let
|
0