ugrás a tartalomhoz

Mi a gond az űrlap kódommal?

mortuus · 2007. Nov. 13. (K), 09.11
Sziasztok, tudnátok segíteni? Ez egy egyszerű html űrlap, amin van 1 php kód:

<?php

$link=mysql_connect("$dbhost", "$dbuser", "$dbpass")
or die('Nem tudok csatlakozni: '. mysql_error());
echo 'A kapcsolódás sikerült';
mysql_select_db("$dbase")
or die('Nem sikerült kiválasztanom az adatbázist' . mysql_error());

if (isset($_POST['radiobutton']))
    {
    $radiobutton=$_POST['radiobutton'];
    $name       =$_POST['name'];
    $email      =$_POST['email'];

    if ($radiobutton == "radiobutton_yes")
        {
        include("success_hu.html");
        $mess = "Name: $name\r\nE-mail: $email\r\nChoice: $radiobutton\r\n";
        mail($cim, $subject, $mess);
        }
    elseif ($radiobutton == "radiobutton_no")
        {
        include("success_hu.html");
        $mess = "Name: $name\r\nE-mail: $email\r\nChoice: $radiobutton\r\n";
        mail($cim, $subject, $mess);
        }

    mysql_query(
        "INSERT INTO `$tabname`(`email`,`name`,`valasz`) ".
        "VALUES ('{$email}','{$name}','{$radiobutton}')",
        $link);
    }
else
    {
    include("failed_hu.html");
    }

;
mysql_close($link);
?>
a lényeg, hogy választhat 2 rádiobutton közül, majd a választás után vagy success v. failed html (nem) töltődik be, a válsztást dobja mysql-ben és emailben, ha működne, de nem
segítsetek pls pls
 
1

mi a hibajelenség

Hojtsy Gábor · 2007. Nov. 13. (K), 09.29
Miből következtetsz arra, hogy nem működik? Kiír egy hibaüzenetet, nem teszi, amit kellene, mindig ugyanazt teszi, ahelyett, hogy eltérően viselkedne... ?
2

felesleges feltételvizsgálat

zila · 2007. Nov. 13. (K), 09.45
Miért van két ágad a radiobutton ellenőrzésnek, ha mindkét ágban ugyanazt csinálod?

A kód szerint bármit választ a user a radiobutton-nal a success_hu.html-t tölti be, ha egyáltalán nem választ semmit, akkor pedig a failed_hu.html-t.

Egyébként csatlakozok az előttem szólóhoz: kifejthetnéd bővebben a "nem működik" jelenséget.
4

igaz

mortuus · 2007. Nov. 13. (K), 10.33
átírtam az if-et:

if ($radiobutton == "radiobutton_yes") or ($radiobutton == "radiobutton_no")
        {
        include("success_hu.html");
		$mess = "Name: $name\r\nE-mail: $email\r\nChoice: $radiobutton\r\n";
        mail($cim, $subject, $mess);
        }
nem működik: nincs succes sem failed válasz
5

debug

zila · 2007. Nov. 13. (K), 10.48
Kapcsold be a hibaüzenetek megjelenítését (display_errors on), állítsd be a hibajelentést a legmagasabb szintre (error_reporting(E_ALL)).

Ezek után futtasd a scripteded. Valahol elszáll a scripted (pl. mysql kapcsolódásnál)

typo:
if ($radiobutton == "radiobutton_yes") or ($radiobutton == "radiobutton_no") 
// helyett
if ($radiobutton == "radiobutton_yes" or $radiobutton == "radiobutton_no") 
6

Ürlapon...

Ronyn · 2007. Nov. 13. (K), 10.56
is ezeket a neveket használod? (radiobutton/yes/no)?
És post-al van küldve?
Szerintem azzal van valami gond...
Ki kell iratni valami tesztszoveget,ha isset($_POST["radiobutton"]...
Esetleg becopyzhatnád az ürlapot is...
7

Input type

mortuus · 2007. Nov. 13. (K), 11.38
ez a három input type van a html-ben:

<INPUT type=radio value=radiobutton 
              name=radiobutton_yes>
<INPUT type=radio value=radiobutton 
              name=radiobutton_no>
<INPUT type=submit value=Küld name=Submit>
8

Na lám már meg is van a probléma :)

zila · 2007. Nov. 13. (K), 11.59
A scriptedben radiobutton nevű form kontrollt vizsgálsz 'radiobutton_yes' és 'radiobutton_no' értékekre. Amint látod a formodban radiobutton_yes és radiobutton_no _nevű_ kontrollok vannak mindkettő 'radiobutton' értékkel...

Használj idézőjeleket a htmben (<input type="radio" name="radiobutton" value="radiobutton_yes">)
9

továbbra sem jó

mortuus · 2007. Nov. 13. (K), 12.56
Az adatbázis kapcsolattal nincs gond, a szkripttel van még mindíg bibi:

if (isset($_POST['radiobutton']))
    {
    $radiobutton=$_POST['radiobutton'];
    $name       =$_POST['name'];
    $cimzett    =$_POST['cimzett'];

    if ($radiobutton == "radiobutton_yes" or $radiobutton == "radiobutton_no")
        {
        include("success_hu.html");
		$mess = "Name: $name\r\nEmail: $cimzett\r\nChoice: $radiobutton\r\n";
        mail($cim, $subject, $mess);
        }
    mysql_query(
        "INSERT $tabname VALUES (
		'$email',
		'$name',
		'$radiobutton')",
        $link);
    }
else
    {
    include("failed_hu.html");
    }
;
az if (isset($_POST['radiobutton']))
FALSE, futtatáskor megjelenik a failed_hu és az ürlap is
szar a $_POST?
10

Biztosan user error

zila · 2007. Nov. 13. (K), 14.00
Mit értesz azalatt, hogy "szar a $_POST"? A php-ban biztosan jól kerülnek bele a http post-ból az értékek. Ha nálad mégsem, akkor elrontasz valamit, rossz dolgot vizsgálsz... Visszatérve a korábbi űrlap felépítési leveledre, javítottad az abban lévő hibákat? kb. ilyenre:
<input type="radio" name="radiobutton" value="radiobutton_yes"> Igen
<input type="radio" name="radiobutton" value="radiobutton_no"> Nem
11

Lényeg:

mortuus · 2007. Nov. 13. (K), 14.50
Kijavítottam a hibákat!
van egy emailem, amit elküldök sok mindenkinek php szkriptel, a név mindíg a $name-ban tárolódik,
van benne egy ciklus:

foreach($cimek as $sor)
    {
    $mezok = explode(",",$sor);
    $cimzett = str_replace("\"","",$mezok[1]);
    $name = str_replace("\"","",$mezok[2]);
    $uzenet = '';
    mail($cimzett, $targy, $uzenet, $fejlecek);

van benne egy link:
http://akármi.html?name=name&cimzett=cimzett
ha rákattintok, a saját oldalamra ugrik és át kellene hogy adja a name és cimzett értékeit,
amiket az ottani php szkriptben szeretném felhasználni (pl:adatbázisba mentés)

$name =$_GET['name'];
$cimzett =$_GET['cimzett'];

na ezzel lesz a baj
12

Kérdezz okosan

zila · 2007. Nov. 13. (K), 15.34
Amíg nem releváns kódrészleteket adsz, konkrét hibajelenség helyett "nem működik" "ezzel lesz a baj" és hasonló módon fogalmazod meg a problémát addig nem fogunk tudni segíteni. Eddigi hozzászólásaidban mindenhol a $_POST tömb volt, meg html form. Most meg $_GET-van és nem formból hanem url-ből... Ne feledd mi csak annyit tudunk, amennyit te átadsz. Nem ismerjük sem a feladatot, sem a megvalósításodat, annyi kódrészletből gazdálkodunk amit te átadsz.
3

Radiobutton

Ronyn · 2007. Nov. 13. (K), 10.30
nál,ha jol emlékszem mindig van egy default,szoval az egyik mindig be van jelolve,ugyhogy az else ág igy felesleges(gondolom egy ürlaprol érkezik a scripthez az adat),azt meg már jelezték hogy minkét if-elseif ágban ugyanazt az oldalt hivod meg,igy eleve nem is müködhet az elvárásodnak megfelelöen a script...
13

Ehh

PER · 2009. Május. 26. (K), 14.44
Már nem azért, de az OR parancs PHP-ben nem || ??? :D
14

nem csak

gex · 2009. Május. 26. (K), 14.58
http://www.php.net/manual/en/language.operators.logical.php

mellesleg nem parancs hanem operátor (műveletjel).

szerk: csak emiatt kár volt regisztrálni. :D