Βοήθεια σε προσθήκη url σε βάση

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Priss_
Δημοσιεύσεις: 5
Εγγραφή: 22 Ιουν 2011 20:29

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Priss_ » 24 Ιουν 2011 05:29

<?php

//start a new session
session_start();

// syndeomai me th bash
require("connect_to_db.php");
$db = connect_database();

$url = mysql_real_escape_string($_POST['url']);
$title = mysql_real_escape_string($_POST['title']);
$summary = $_POST['summary'];
$tags = explode("," ,$_POST['tags']);

//h wra pernetai apo thn sql funtion now()
$sql="INSERT INTO bookmark (bm_user ,URL, title, summary, tags, bookmark_date)
VALUES
('$_SESSION['id_user']', '$url', '$title', '$summary', '$tags', NOW())";

if (!mysql_query($sql,$db))
{
die('Error: ' . mysql_error());
}


mysql_close($cn);
?>
<h1>Η προσθήκη ήταν επιτυχής!</h1>

Εμφανίζει πρόβλημα στην γραμμή 18:
('$_SESSION['id_user']', '$url', '$title', '$summary', '$tags', NOW())";

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING


Μπορεί κάποιος να με βοηθήσει ?? Ευαριστώ παρα πολύ

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από fafos » 24 Ιουν 2011 05:48

kane to $_SESSION['id_user'] var prin to insert kai meta dose to sto values.. p.x:

$userid = $_SESSION['id_user'];

.....

('$userid', '$url', '$title', '$summary', '$tags', NOW())";
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Priss_
Δημοσιεύσεις: 5
Εγγραφή: 22 Ιουν 2011 20:29

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Priss_ » 24 Ιουν 2011 06:08

Tο είχα δοκιμάσει και αυτό και βγάζει αυτό το λάθος στην γραμμή της δήλωσης του $userid=$SESSION_['id_user']

Error: Cannot add or update a child row: a foreign key constraint fails (`database11`.`bookmark`, CONSTRAINT `CONUSER` FOREIGN KEY (`bm_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE)

Ειλικρινά δεν μπορώ να καταλάβω τι δεν πάει καλά..

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Christianago » 24 Ιουν 2011 14:00

Error: Cannot add or update a child row: a foreign key constraint fails (`database11`.`bookmark`, CONSTRAINT `CONUSER` FOREIGN KEY (`bm_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE)
Αυτο σημαινει οτι δεν εχει προβλημα η μεταβλητη, αλλα η εισαγωγη στη βαση ειναι προβληματικη.
Ελεγξε τους πινακες σου στην MySql τι τυπο τιμων παιρνουν το πρωτευον και το ξενο κλειδι και τι δεδομενα εχουν.
Δεν μπορει πχ. η στηλη με το ξενο κλειδι να εχει διαφορετικα δεδομενα απο τη στηλη με το πρωτευον κλειδι.
Υστερα, πρωτα θα κανεις εισαγωγη στον πινακα με το πρωτευον κλειδι και μετα σε αυτον με το ξενο.
Για να δεις οτι δουλευει ο νεος κωδικας σου, κανε προσωρινη εισαγωγη σε στηλη που δεν ειναι κλειδι.

Priss_
Δημοσιεύσεις: 5
Εγγραφή: 22 Ιουν 2011 20:29

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Priss_ » 24 Ιουν 2011 17:07

Άλλαξα την βάση, κάνει την προσθήκη αλλά εμφανίζει άλλο πρόβλημα, στην γραμμή 14 Notice: Undefined index: id_user

ο κώδικας είναι:
<?php

//start a new session
session_start();

// syndeomai me th bash
require("connect_to_db.php");
$db = connect_database();

$url = mysql_real_escape_string($_POST['url']);
$title = mysql_real_escape_string($_POST['title']);
$summary = $_POST['summary'];
$tags = explode(",",$_POST['tags']);
$userid= $_SESSION['id_user'];



$sql= "INSERT INTO bookmark (bm_user, url, title, summary, tags, bookmark_date)
VALUES ('$iduser','$url','$title','$summary','$tags', NOW()) ";

if (!mysql_query($sql,$db))
{
die('Error: ' . mysql_error());
}

?>
<h1>Η προσθήκη ήταν επιτυχής!</h1>

και οι πίνακες της βάσης αυτοί:

CREATE TABLE bookmark(
id int(10) NOT NULL AUTO_INCREMENT,
URL varchar(255) NOT NULL,
title text NOT NULL,
summary varchar(255) NOT NULL,
tags varchar(255) NOT NULL,
bookmark_date datetime NOT NULL,
bm_user int(10) NOT NULL,
PRIMARY KEY (id),
UNIQUE(url)
)DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_general_ci
CHARSET=utf8 COLLATE=utf8_general_ci;

CREATE TABLE user(
id_user int(10) NOT NULL AUTO_INCREMENT,
email VARCHAR(40) NOT NULL,
username VARCHAR(40) NOT NULL,
password VARCHAR(40) NOT NULL,
user_type int(2) NOT NULL default '0',
PRIMARY KEY (id_user),
UNIQUE(email)
)DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_general_ci
CHARSET=utf8 COLLATE=utf8_general_ci;

ALTER TABLE bookmark
ADD CONSTRAINT CONUSER FOREIGN KEY (bm_user)
REFERENCES user (email) ON DELETE CASCADE ON UPDATE CASCADE;

δεν ξέρω ειλικρίνά τι να κάνω..

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Christianago » 25 Ιουν 2011 21:14

Το session ή εχει λήξει ή δεν έχει τεθει ή όπως και να έχει χρησιμοποιείς μια μεταβλητη session που δεν υπαρχει για την php.

Κώδικας: Επιλογή όλων

$userid= $_SESSION&#91;'id_user'&#93;;  
Πρώτα

Κώδικας: Επιλογή όλων

$_SESSION&#91;'id_user'&#93; = 'kati';
και μετά

Κώδικας: Επιλογή όλων

$userid= $_SESSION&#91;'id_user'&#93;;

Priss_
Δημοσιεύσεις: 5
Εγγραφή: 22 Ιουν 2011 20:29

Βοήθεια σε προσθήκη url σε βάση

Δημοσίευση από Priss_ » 28 Ιουν 2011 15:40

Ευχαριστώ πάρα πολύ για την απάντηση !

Το πρόβλημα λύθηκε !! :)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης