introducere in baza de date la apasare buton submit

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

mousecat
New Member
Mesaje: 4
Membru din: Mar Iul 29, 2008 11:14 am

introducere in baza de date la apasare buton submit

Mesajde mousecat » Mie Iul 30, 2008 9:58 am

Hello ,
Cum introduc datele pe care le-am completat in formular
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
email <input type="text" name="email" />

<input type="submit" />
</form


in baza de date ?
Ma intereseaza cum leg de butonul submit actiunea din php :
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("contacte", $con);

$sql="INSERT INTO person_contact (name,email)
VALUES ..... bla bla bla


DANKE [/b]

Intre timp m-am prins cum stau lucrurile .



Avatar utilizator
azzuro
Senior Member
Mesaje: 297
Membru din: Mar Iul 05, 2005 2:30 am

Re: introducere in baza de date la apasare buton submit

Mesajde azzuro » Mie Iul 30, 2008 10:31 am

Cod: Selectaţi tot


<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
email <input type="text" name="email" />

<input type="submit" name="butt" value="trimite" />
</form>
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("contacte", $con);

if($_POST['butt']) { // daca s-a apasat butonul cu numele butt
   
   $name = $_POST['name']; // iei variabilele din formular
    $email = $_POST['email'];

    $sql="INSERT INTO person_contact (name,email)
VALUES('$name','$email')";
....... bla bla
}

Butonul tau de submit are un atribut name.

rc_andrei
Junior Member
Mesaje: 35
Membru din: Mie Oct 12, 2005 8:00 am
Localitate: Bucuresti

Mesajde rc_andrei » Joi Iul 31, 2008 2:47 am

Salutare sunt si eu intr o dilema pe acceasi tema, nu mai fac alt subiect nou. Vreau sa creez o agenda si am facut un index.php cu urmatorul cod:

Cod: Selectaţi tot

<html>
<head>
<title>Agenda - adaugare informatii in baza de date</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php

if(isset($_POST['add']))
{
include 'agenda/config.php';
include 'agenda/deschideb.php';
include 'agenda/introduce.php';
echo "Am adaugat cu succes informatiile in baza de date!";
}
else

{

echo "Ce pana mea!!";

}
include 'agenda/inchidedb.php';

<h3>Agenda - adaugare informatii in baza de date</h3>
<form name="agenda" action="introduce.php" method="post">

Nume:
<input type="text" name="nume" id="nume">

Prenume:
<input type="text" name="prenume" id="prenume">

Telefon Fix:
<input type="text" name="telfix" id="telfix">

<br>

Mobil:
<input type="text" name="telmob" id="telmob">
E-Mail:
<input type="text" name="mail" id="mail">

Informatii:
<input type="text" name="info" size="100" id="info">

<br>

<input name="add" type="submit" id="add" value="Adauga in baza de date">
</form>


</body>
</html>


Asa, eu inteleg de acilea ca daca se apasa butonul "add" atunci:

1. config.php se logheaza la baza de date:

Cod: Selectaţi tot

<?php
// Asta e scriptul de logare la baza de date.
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'paroladelamysql';
$dbname = 'localhost';
?>


2. deschide.php deschide baza de date catre folosire:

Cod: Selectaţi tot

<?php

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die                      ('Nu am putut sa ma loghez la baza de date!');
mysql_select_db($dbname);
?>


3. introduce.php ia valorile din campurile de la form si le pune in baza de date:

Cod: Selectaţi tot

<?php

$sql="INSERT INTO person (nume, prenume, telfix, telmob, mail, info)
VALUES
('$_POST[nume]','$_POST[prenume]','$_POST[telfix]','$_POST[telmob]','$_POST[mail]','$_POST[info]')";

?>


4. inchide.php inchide accesul la baza de date:

Cod: Selectaţi tot

<?php
mysql_close($conn);
?>


Din pacate nu mai apare form-ul cand accesez pagina - sunt destul de obosit si chiar nu imi dau seama de ce... daca influenteaza php cu ceva ar fi de ajutor sa imi aratati unde si ce... dar nu vreau totul mura n gura please - gen din seria "ti am modificat eu tot codul"

Am vrut sa incerc mai devreme varianta cu tot codul intr un singur fisier.php si am renuntat...ma gandesc totusi ca lipsesc bucatile astea de cod...si nu prea am idee unde ar trebui sa le plasez....

Cod: Selectaţi tot

$username = $_POST['username'];
$password = $_POST['password'];


ma rog cu modificarile de rigoare, insa am ajuns la ce se vede mai sus...mentioneaz ca e primul script pe care incerc sa il fac....Sper sa nu ma injurati...ca am dat buzna pe topicul asta dar mi se pare related 100% :D

Apropo pentru tutorial m am uitat pe http://www.php-mysql-tutorial.com/mysql-insert-php.php deci nu e facut de mine de la zero e doar din seria "m am uitat, am inteles (cat de cat), am modificat - merge - mi am imbogatit pachetul de cunostiinte in php, mysql" :P

Later Edit: Si da, da stiu RTFM 8O

Si mai later edit: Baza de date am creat o in phpmyadmin.

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Joi Iul 31, 2008 4:28 am

@rc_andrei
Pare corect doar ca ai uitat inainte de :
<h3>Agenda - adaugare informatii in baza de date</h3>
sa pui :
?>
pentru a inchide tag-ul <?php

Ramura else (aia cu "Ce pana mea!!";) nu-si are rostul, nu ajuta cu nimic.

Fisirele le poti include in afara de introduce.php al carui continut ar fi bine sa-l pui in introduce.php. Pe celelalte le poti refolosi dar pe asta nu prea (cand o sa mai ai o forma identica si o tabela la fel si cu acelasi nume.
Si continutul lui deschidedb.php nu prea e de folos sa-l tii separat.
Bafta !

rc_andrei
Junior Member
Mesaje: 35
Membru din: Mie Oct 12, 2005 8:00 am
Localitate: Bucuresti

Mesajde rc_andrei » Joi Iul 31, 2008 1:19 pm

Se pare ca nu e:

Not Found

The requested URL /agenda/introduce.php was not found on this server.

Later edit: salvasem fisierul ca introducere.php...

Si mai later edit: trebuie sa fac cumva sa scriu un "echo" undeva cu "datele au fost introduse cu succes in baza de date"...si un redirect....dar totusi se pare ca nu le baga in baza...phpmyadmin imi arata ca la baza de date nu exista records.


Si mai foarte later edit:

Cod: Selectaţi tot

<?php

$sql="INSERT INTO table_name (nume, prenume, telfix, telmob, mail, info)
VALUES
('$_POST[nume]','$_POST[prenume]','$_POST[telfix]','$_POST[telmob]','$_POST[mail]','$_POST[info]')";

?>


Aici se reduc toate posibilitatile de erori...deci eu am creat in phpmyadmin o baza de date noua cu numele agenda, in care am creat un tabel numit informatii. deci in loc de table_name ar trebui sa fie informatii si deci ar trebui sa mearga.... :?


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 44 vizitatori