Ερωτηση αρχαριου

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

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

Απάντηση
del74
Δημοσιεύσεις: 4
Εγγραφή: 12 Μαρ 2014 20:49

Ερωτηση αρχαριου

Δημοσίευση από del74 » 12 Μαρ 2014 21:53

Καλησπέρα δεν ξέρω καν αν πόσταρα στο σωστό μέρος ζητω συγγνώμη αν έχω κάνει λάθος.Το πρόβλημα μου είναι το εξής προσπαθώ μέσο φόρμας να βάλω στην sql κάποιες εγγραφες
ο κώδικας είναι αυτός

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

$text = trim($_POST['links']);

foreach(explode("\n", $text) as $line); 
	{
    $quotes = array&#40;"/\"/","/<a href/","/border=0/","/<\/a>/"&#41;;
	$replacements = array&#40;"","mysql_query&#40;\"INSERT INTO images &#40;code&#41; VALUES &#40;'<a href","width=253 height=183 border=0","</a>'&#41;\"&#41;;"&#41;;
	$newlinks = preg_replace&#40;$quotes, $replacements, $line&#41;;
	eval&#40;"$newlinks"&#41;;
&#125;
οι εγγραφες δεν γινοντε γίνονται σωστά οταν το link που βάζω είναι σαν αυτο

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

<a href='http&#58;//mysite.gr/img-53206dec0261b.html'><img src='http&#58;//www.mystie/upload/small/2014/03/12/53206dec0216e.jpg' alt='image' /></a> 
οταν το link ειναι ετσει γινοντε κανονικα

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

<a href='http&#58;//mysite.gr/img-53206dec0261b.jpg'><img src='http&#58;//www.mystie/upload/small/2014/03/12/53206dec0216e.jpg' alt='image' /></a>
τι θα πρέπει να αλλάξω στο κώδικα που γράφω παραπάνω για να δέχεται την εγγραφει και σαν .html και όχι μονο .jpg
ευχάριστω προκαταβολικά

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ερωτηση αρχαριου

Δημοσίευση από alou » 12 Μαρ 2014 23:25

Κάνε echo αντι για eval και θα δεις ότι το πρόβλημα δεν είναι εκεί, το string σωστά φαίνεται να δημιουργείται.

Το δεν είναι σωστές βέβαια είναι σχετικό, τι θα ήθελες να γίνει και δε γίνεται ακριβώς?

del74
Δημοσιεύσεις: 4
Εγγραφή: 12 Μαρ 2014 20:49

Ερωτηση αρχαριου

Δημοσίευση από del74 » 12 Μαρ 2014 23:36

alou έγραψε:Στο πεδίο images θες να βάλεις html σελίδα, ΟΚ το προσπερνάμε. Όταν το φέρνεις από τη βάση, πως θα το απεικονίσεις? σαν εικόνα ή σαν link?

Με άλλα λόγια, το (συγκεκριμένο) πρόβλημα, δεν είναι στο function που αποθηκεύεις αλλά σε όποιο function το δημιουργείς. Και βέβαια στη (μη) λογική να αποθηκεύσεις link και εικόνα στο ίδιο πεδίο.
Kalispera loipon to script (selida) doulevei mia xara opos prepei me to deytero link dld afto

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

<a href='http&#58;//mysite.gr/img-53206dec0261b.jpg'><img src='http&#58;//www.mystie/upload/small/2014/03/12/53206dec0216e.jpg' alt='image' /></a>
kai emfanizi sto site miaikona (thumb) pou an kaneis klik se paei sto site pou eine host i pic
To provlima den eine i emfanisi sto site giati an valo to link xirokinita stin db to site to dixni kanonika otan vazeis ta link apo tin forma tou site enw grafei oti perastikan stin db stin pragmatikotita den exei perasti tipota den exei kanei kamia egrafi
Me sinxoris gia ta greekglish alla garfw poio grigora etsei

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ερωτηση αρχαριου

Δημοσίευση από alou » 13 Μαρ 2014 00:03

del74 έγραψε: Me sinxoris gia ta greekglish alla garfw poio grigora etsei
Όταν ζητάς βοήθεια ίσως θα ήταν πιο λογικό να σκέφτεσαι αν διαβάζει ό άλλος πιο γρήγορα / εύκολα, όχι αν διευκολύνει εσένα. Το πρόβλημα είναι σίγουρα στο eval, το αποφεύγεις έτσι και αλλιώς.

Δοκίμασε έτσι

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

foreach&#40;explode&#40;"\n", $text&#41; as $line&#41; &#123;
		    	$quotes = array&#40;"/"/","/<a href/","/border=0/","/<\/a>/"&#41;;
				$replacements = array&#40;"","<a href","width=253 height=183 border=0","</a>"&#41;;
				$html = preg_replace&#40;$quotes, $replacements, $line&#41;;
				mysql_query&#40;"INSERT INTO images &#40;code&#41; VALUES &#40;'".$html."'&#41;"&#41;;
			
		&#125;

del74
Δημοσιεύσεις: 4
Εγγραφή: 12 Μαρ 2014 20:49

Ερωτηση αρχαριου

Δημοσίευση από del74 » 13 Μαρ 2014 00:33

alou έγραψε:
del74 έγραψε: Me sinxoris gia ta greekglish alla garfw poio grigora etsei
Όταν ζητάς βοήθεια ίσως θα ήταν πιο λογικό να σκέφτεσαι αν διαβάζει ό άλλος πιο γρήγορα / εύκολα, όχι αν διευκολύνει εσένα. Το πρόβλημα είναι σίγουρα στο eval, το αποφεύγεις έτσι και αλλιώς.

Δοκίμασε έτσι

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

foreach&#40;explode&#40;"\n", $text&#41; as $line&#41; &#123;
		    	$quotes = array&#40;"/"/","/<a href/","/border=0/","/<\/a>/"&#41;;
				$replacements = array&#40;"","<a href","width=253 height=183 border=0","</a>"&#41;;
				$html = preg_replace&#40;$quotes, $replacements, $line&#41;;
				mysql_query&#40;"INSERT INTO images &#40;code&#41; VALUES &#40;'".$html."'&#41;"&#41;;
			
		&#125;
Oχι δεν δουλευει νομιζω το προβλημα ειναι στο $quotes η στο $replacements

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ερωτηση αρχαριου

Δημοσίευση από alou » 13 Μαρ 2014 08:01

To eval σου ξαναλέω μην το χρησιμοποιείς, ειδικά σε post χωρίς κανένα έλεγχο που από μόνο του είναι επικίνδυνο.

Αν κάνεις echo αντί για eval θα δεις ότι δεν είναι εκεί το πρόβλημα.
$text = "<a href='http://mysite.gr/img-53206dec0261b.html'><img src='http://www.mystie/upload/small/2014/03/ ... c0216e.jpg' alt='image' /></a>splitter<a href='http://mysite.gr/img-53206dec0261b.jpg'><img src='http://www.mystie/upload/small/2014/03/ ... c0216e.jpg' alt='image' /></a>";

foreach(explode("splitter", $text) as $line) {
$quotes = array("/\"/","/<a href/","/border=0/","/<\/a>/");
$replacements = array("","<a href","width=253 height=183 border=0","</a>");
$html = preg_replace($quotes, $replacements, $line);
//mysql_query("INSERT INTO images (code) VALUES ('".$html."')");
echo "'".$html."'";
}
Το post που παίρνεις το έχεις ελέγξει, αν έχει αυτό που υποθέτεις?

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ερωτηση αρχαριου

Δημοσίευση από gvre » 13 Μαρ 2014 09:47

del74 έγραψε:Καλησπέρα δεν ξέρω καν αν πόσταρα στο σωστό μέρος ζητω συγγνώμη αν έχω κάνει λάθος.Το πρόβλημα μου είναι το εξής προσπαθώ μέσο φόρμας να βάλω στην sql κάποιες εγγραφες
ο κώδικας είναι αυτός

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

$text = trim&#40;$_POST&#91;'links'&#93;&#41;;

foreach&#40;explode&#40;"\n", $text&#41; as $line&#41;; 
	&#123;
    $quotes = array&#40;"/"/","/<a href/","/border=0/","/<\/a>/"&#41;;
	$replacements = array&#40;"","mysql_query&#40;"INSERT INTO images &#40;code&#41; VALUES &#40;'<a href","width=253 height=183 border=0","</a>'&#41;"&#41;;"&#41;;
	$newlinks = preg_replace&#40;$quotes, $replacements, $line&#41;;
	eval&#40;"$newlinks"&#41;;
&#125;
οι εγγραφες δεν γινοντε γίνονται σωστά οταν το link που βάζω είναι σαν αυτο

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

<a href='http&#58;//mysite.gr/img-53206dec0261b.html'><img src='http&#58;//www.mystie/upload/small/2014/03/12/53206dec0216e.jpg' alt='image' /></a> 
οταν το link ειναι ετσει γινοντε κανονικα

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

<a href='http&#58;//mysite.gr/img-53206dec0261b.jpg'><img src='http&#58;//www.mystie/upload/small/2014/03/12/53206dec0216e.jpg' alt='image' /></a>
τι θα πρέπει να αλλάξω στο κώδικα που γράφω παραπάνω για να δέχεται την εγγραφει και σαν .html και όχι μονο .jpg
ευχάριστω προκαταβολικά
Επειδή ο συγκεκριμένος κώδικας δεν είναι και ό,τι καλύτερο, μπορείς να δώσεις ένα παράδειγμα, χωρίς κώδικα, που να αναφέρει ενδεικτικά περιεχόμενα του $_POST['links'] και ποιο ακριβώς θέλεις να είναι το αποτέλεσμα;

Απάντηση

Επιστροφή στο “MySQL”

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

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