PHP MySql Beviteli Probléma

PHP MySql Beviteli Probléma
2012-04-17T03:01:01+02:00
2012-04-21T14:51:19+02:00
2022-11-25T11:20:41+01:00
iThomas
Sziasztok

Megint elakadtam
[17-Apr-2012 02:46:29] PHP Warning: Unexpected character in input: '' (ASCII=16) state=0 in /Applications/MAMP/htdocs/admin/reg.php on line 9
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: id in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: usr in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: pass in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: email in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: regIP in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: class in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: firstname in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: lastname in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: address in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: avatar in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: phone in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: skype in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: facebook in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: msn in /Applications/MAMP/htdocs/admin/reg.php on line 7
[17-Apr-2012 02:46:29] PHP Notice: Undefined variable: dt in /Applications/MAMP/htdocs/admin/reg.php on line 7

<?php
ob_start();

define('INCLUDE_CHECK',true);
require '../connect.php';

$registration = "INSERT INTO users (id, usr, pass, email, regIP, class, firstname, lastname, address, avatar, phone, skype, facebook, msn, dt) VALUES ('$id','$usr','$pass','$email','$regIP','$class','$firstname','$lastname','$address','$avatar','$phone','$skype','$facebook','$msn','$dt')";

mysql_query($registration);
header("Location: ./userlist.php");

?>

<?php ob_end_flush(); ?>

Egyébként a userlist-el hibanélkül kész lettem nem is értem ez most miért nem hajlandó menni.
Mutasd a teljes hozzászólást!
Azt már csak zárójelben jegyzem meg (mert nem hiba), hogy az űrlapból érkező értékek külön változóba rakása csak akkor lehet "elegáns" megoldás, ha azokat még az adatbázissal való "érintkezés" előtt szeretnéd levédeni a támadásoktól, például így:

Akkor is elegáns lehet, ha dolgozni akarsz vele és pl $_POST['minekezide'] helyett $minekide változót akarsz pötyögni:)
Mutasd a teljes hozzászólást!

  • Hol kapnak az insert-ben használt php változók értéket? Mert itt nem látszik értékadás. Nem lehet, hogy a register globals az off, tehát $id helyett $_POST['id']-nek (vagy $_GET...) kéne ott lennie? Vagy global $id; módon kéne esetleg deklarálni őket?
    Mutasd a teljes hozzászólást!
  • Már próbálgattam ". nélkül mindenhogyan és nem jó. van valami más ötleted?

    <?php
    ob_start();

    define('INCLUDE_CHECK',true);
    require '../connect.php';

    $id = ".$_POST['id'].";
    $usr = ".$_POST['usr'].";
    $pass = ".$_POST['pass'."];
    $email = ".$_POST['email'].";
    $regIP = ".$_POST['regIP'].";
    $class = ".$_POST['class'].";
    $firstname = ".$_POST['firstname'].";
    $lastname = ".$_POST['lastname'].";
    $address = ".$_POST['address'].";
    $avatar = ".$_POST['avatar'].";
    $phone = ".$_POST['phone'].";
    $skype = ".$_POST['skype'].";
    $facebook = ".$_POST['facebook'].";
    $msn = ".$_POST['msn'].";
    $dt = ".$_POST['dt'].";

    $registration = "INSERT INTO users (id, usr, pass, email, regIP, class, firstname, lastname, address, avatar, phone, skype, facebook, msn, dt) VALUES '('".$_POST['id']."','".$_POST['usr']."','".$_POST['pass']."','".$_POST['email']."','".$_POST['regIP']."','".$_POST['class']."','".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['address']."','".$_POST['avatar']."','".$_POST['phone']."','".$_POST['skype']."','".$_POST['facebook']."','".$_POST['msn']."','".$_POST['dt']."')";

    mysql_query($registration);
    header("Location: ./userlist.php");

    ?>

    <?php ob_end_flush(); ?>
    Mutasd a teljes hozzászólást!
  • $_GET-tel is próbáltad? Meg mit keres az $_POST " karakterek között? Meg minek oda a pont? $id = $_POST['id']; oszt csókolom. Egyébként könyörgöm, honnan a francból kéne kitalálnunk, hogy honnan kapod ezeket a paramétereket, ha nem ismerjük a küdot, ahol a felhasználó vagy bármi más rögzíti ezeket az adatokat? Komolyan ilyen nehéz rendesen kérdezni?
    Mutasd a teljes hozzászólást!
  • Itt az INSERT-tel is vannak "gondok":

    a ...VALUES '(... résznél az aposztróf nem kell.

    Ezen felül, ha a POST-olt értékeket előzőleg változóba raktad (Árnyék hozzászólásának megfelelően javítva:
    $id=$_POST['id'];
    ), akkor az INSERT-ben elég csak a változókat beírni, és talán az aposztrófoktól sem jojózik majd a szemed.

    $registration = "INSERT INTO users (id, usr, pass, email, regIP, class, firstname, lastname, address, avatar, phone, skype, facebook, msn, dt) VALUES ('$id','$usr',...satöbbi)";

    Szerk.: Azt már csak zárójelben jegyzem meg (mert nem hiba), hogy az űrlapból érkező értékek külön változóba rakása csak akkor lehet "elegáns" megoldás, ha azokat még az adatbázissal való "érintkezés" előtt szeretnéd levédeni a támadásoktól, például így:

    $id=mysql_real_escape_string($_POST['id']);
    Mutasd a teljes hozzászólást!
  • Azt már csak zárójelben jegyzem meg (mert nem hiba), hogy az űrlapból érkező értékek külön változóba rakása csak akkor lehet "elegáns" megoldás, ha azokat még az adatbázissal való "érintkezés" előtt szeretnéd levédeni a támadásoktól, például így:

    Akkor is elegáns lehet, ha dolgozni akarsz vele és pl $_POST['minekezide'] helyett $minekide változót akarsz pötyögni:)
    Mutasd a teljes hozzászólást!
  • WTF?
    Mutasd a teljes hozzászólást!
  • Miért én kaptam a pontot?:D
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd