(php mysql téren) hogy tudnám ebbe a forráskódba beírni a last id-t? Konkrétan a mysqli_insert_id re dondoltam de nem vagyok benne biztos hogy ilyen nincs: mysqli_insert_last_id vagy mysqli_insert_lastid A forráskód:
<?php
if(isset($_POST['submit']))
{
$felhasznalonev = strip_tags($_POST['felhasznalonev']);
$email = strip_tags($_POST['email']);
$jelszo = strip_tags($_POST['password']);
$jelszoujra = strip_tags($_POST['repassword']);
if($felhasznalonev&&$email&&$jelszo&&$jelszoujra)
{
if($jelszo==$jelszoujra)
{
if(6<=strlen($jelszo)&&20>=strlen($jelszo))
{
if(4<=strlen($felhasznalonev)&&20>=strlen($felhasznalonev))
{
$kapcsolodas = mysql_connect('localhost','root','');
$adatbazis = mysql_select_db('users',$kapcsolodas);
$query = mysql_query("Select * From info WHERE username='$felhasznalonev'");
$numrows = mysql_num_rows($query);
if($numrows==0)
{
$query2 = mysql_query("Select * From info WHERE email='$email'");
$numrows2 = mysql_num_rows($query2);
if($numrows2==0)
{
$kapcsolodas = mysql_connect('localhost','root','');
$adatbazis = mysql_select_db('users',$kapcsolodas);
$password = md5($jelszo);
$datum = date("Y-m-d");
$query3 = mysql_query("
INSERT INTO info VALUES ('','$felhasznalonev','$password','$email','$datum')
");
die ("REGISZTRÁLTÁL! <a href='index.php'>Bejelentkezés</a>");
}
else
{
echo "Ez az E-mail már használatban van!";
}
}
else
{
echo "Ez a felhasználónév már létezik!";
}
}
else
{
echo "A felhasználónév 4 és 20 karakterszám között elfogadható!";
}
}
else
{
echo "A jelszó 6 és 20 karakterszám között elfogadható!";
}
}
else
{
echo "A két jelszó nem eggyezik meg!";
}
}
else
{
echo "Kérlek töltsd ki az összes sort!";
}
}
?>
<html>
<form action='regisztracio.php' method="POST">
<h1>Regisztráció
<br><br>
<table>
<tr>
<td>
Felhasználónév:
</td>
<td>
<input type="text" name="felhasznalonev" value="<?php if(isset($_POST['submit'])) {echo $felhasznalonev;} ?>">
</td>
</tr>
<tr>
<td>
E-mail:
</td>
<td>
<input type="text" name="email" value="<?php if(isset($_POST['submit'])) {echo $email;} ?>">
</td>
</tr>
<tr>
<td>
Jelszó:
</td>
<td>
<input type="password" name="password" value="">
</td>
</tr>
<tr>
<td>
Jelszó újra:
</td>
<td>
<input type="password" name="repassword" value="">
</td>
</tr>
</table>
<input type="submit" name="submit" value="Regisztráció">
</form>
</html>
Kedves vbadam7!
Alapvető hiba, amit a legtöbb kezdő, és autodidakta módon küzdő webfejlesztő sporttárs elkövet, hogy az adatbázis tábláiknak nem adnak ID-t. Ez egy követendő ajánlás, ami megkönnyítheti az életed, ha adatbázisokkal foglalkozol.
Minden(!) tábládnak legyen kötelező mezője egy 'id' mező, ami egy autoincrement elsődleges kulcs, lehetőleg INT(11) típusban.
Ez a mező, mivel autoincrement tulajdonságú, auomatikusan növekedik (többnyire 1-gyel), amikor új érték (sor/rekord) kerül beírásra a táblába. Ezzel a mezővel könnyen hivatkozhatsz bármelyik sorra, hiszen teljesen egyedi, minden sor más ID-t kap.
A mysql_insert_id függvény (ami létezik) visszaadja a legutóbbi INSERT művelet által előállított azonosítót, jelen esetünkben az id mező értékét.
Adatbázis táblába beszúráskor az ilyen id mező értékét nem kell megadnod, elég a helyére egy NULL vagy "" értéket betenni, és a mysql szerver automatikusan hozzáadja a következő id-t.
Egyébként az új php-ból lassan kivezetik a hagyományos mysql függvényeket, ezért jobb ha minél előbb megbarátkozol a mysqli függvényekkel, amikkel egyszerűbben, gyorsabban elérheted az adatbázis adatait.
Sok sikert!
Köszi a választ! A problémát már megoldottam. mysql ben beírtam ezt:
ALTER TABLE tablename AUTO_INCREMENT = value;
és müködött.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!