Page 1 of 1

php question

Posted: Tue Feb 01, 2011 2:03 pm
by *Natasa*
Η υπάρχουσα κατάσταση τώρα είναι η εξής: έχω μια σελίδα στην οποία συμπληρώνοντας μια φόρμα με ένα κωδικό κ πατώντας 'είσοδο' μπορώ να να βλέπω ένα προφίλ.
Η αρχική σελίδα στην οποία συμπληρώνω τα στοιχεία είναι www.blablablabla.gr/something.php
Αφότου μπω με τον κωδικό, με βγάζει στη νέα σελίδα -του προφιλ- και το λινκ παραμένει ίδιο.
Με ποιο τρόπο θα μπορώ να έχω ένα link το οποίο μπορώ να δίνω σε κάποιον τρίτο πχ κ πατώντας το να μπαίνει κατ'ευθείαν στη δεύτερη αυτή σελίδα χωρίς να χρειαστεί να εισάγει κάποιο κωδικό στη φόρμα;

No experience in php till now..

Re: php question

Posted: Tue Feb 01, 2011 3:26 pm
by cyberpython
Έχω την εντύπωση οτι αυτό που περιγράφεις αναιρεί κάθε λόγο ύπαρξης της προστασίας περιοχών του site σου με κωδικούς (όποιος πάει στο 2ο link αυτόματα βλέπει τα πάντα :) )...

Μπορείς στη σελίδα που παραπέμπει το 2ο link να αποθηκεύεις στο php session κάποια μεταβλητή που όταν παίρνει συγκεκριμένη τιμή πάει να πει οτι ο χρήστης είναι authorized και του δίνεις ένα link προς το προφίλ, οπότε κάνεις έλεγχο αν η τιμή είναι σωστή κατά την είσοδο στη σελίδα-προφιλ και αν ναι του τη δείχνεις κανονικά, αλλιώς ζητάς credentials.

Re: php question

Posted: Tue Feb 01, 2011 4:08 pm
by *Natasa*
cyberpython wrote:Έχω την εντύπωση οτι αυτό που περιγράφεις αναιρεί κάθε λόγο ύπαρξης της προστασίας περιοχών του site σου με κωδικούς (όποιος πάει στο 2ο link αυτόματα βλέπει τα πάντα :) )...
Πρόκειται για προσωπικό site, είναι εντελώς ακίνδυνο.. :smt002
Thanks για την απάντησή σου!

Re: php question

Posted: Tue Feb 08, 2011 5:10 pm
by Zifnab
Παιδιά έχω ένα σοβαρό πρόβλημα ... εδώ και ώρες παρατήρησα σε κάποιο σημείο του project ότι η array_unique και in_array δεν δούλευαν σωστά.
Και έτσι παρ' όλο που είχα ίδια strings τα md5 τους είναι διαφορετικά άρα σωστά δεν δούλευαν οι από πάνω - έχετε όμως κάποια ιδέα γιατί?? Πρέπει οπωσδήποτε να τα κάνω να φαίνονται ίδια - και γενικά δεν βρήκα κάτι με τις κωδικοποιήσεις κάνοντας τα ISO-8859-1 ή UTF-8 τα md5 έμειναν τα ίδια...

Ευχαριστώ εκ των προτέρων

Code: Select all

function in_array2($array,$needle) {
	foreach ( $array as $word) {
		echo "~~~".$needle."~~".$word."~~~<br/>";
		echo md5($needle)."~~".md5($word)."<br/>";
		if (md5($needle)== md5($word)){
			return true;
		}
	}
	return false;
	

}
~~~[toy story 3]~~3~~~
b2735dfe58580edee086689784765eb1~~eccbc87e4b5ce2fe28308fd9f2a7baf3
~~~[toy story 3]~~[toy story 3]~~~
b2735dfe58580edee086689784765eb1~~5859e843b9a57b9e3b198a31e3f7eb5c

~~~[toy story 3]~~coupon~~~
b2735dfe58580edee086689784765eb1~~d6e16e12d31ca5eaaf18ef8c8c6a3d82
~~~[toy story 3]~~story~~~
b2735dfe58580edee086689784765eb1~~bec670e5a55424d840db8636ecc28828
~~~[toy story 3]~~toy~~~
b2735dfe58580edee086689784765eb1~~10016b6ed5a5b09be08133fa2d282636
edit:
Προσέθεσα δοκιμαστικά output - αλλά βγαίνουν όλα unequal...

Code: Select all

echo ((string)$needle===(string)$word)?"equal<br/>":"unequal<br/>";
echo (strcmp($needle,$word)===0)?"equal<br/>":"unequal<br/>";
edit 2:
Χρησιμοποιώντας την συνάρτηση που μετατρέπει ένα string σε binary

Code: Select all

function str2bin($str, $mode=0) {
    $out = false;
    for($a=0; $a < strlen($str); $a++) {
        $dec = ord(substr($str,$a,1));
        $bin = '';
        for($i=7; $i>=0; $i--) {
            if ( $dec >= pow(2, $i) ) {
                $bin .= "1";
                $dec -= pow(2, $i);
            } else {
                $bin .= "0";
            }
        }
        /* Default-mode */
        if ( $mode == 0 ) $out .= $bin;
        /* Human-mode (easy to read) */
        if ( $mode == 1 ) $out .= $bin . " ";
        /* Array-mode (easy to use) */
        if ( $mode == 2 ) $out[$a] = $bin;
    }
    return $out;
}
έκανα ανάλυση του [toy story 2] και του [toy story 2]
και έχουν διαφορετική binary μορφή στο τέλος... :smt021 - για να δούμε τί κρύβεται.. έχετε κάποια ιδέα τί είναι αυτό με το κόκκινο ? :smt022 :smt022
01011011 01110100 01101111 01111001 00100000 01110011 01110100 01101111 01110010 01111001 00100000 00110010 01011101
01011011 01110100 01101111 01111001 00100000 01110011 01110100 01101111 01110010 01111001 00100000 00100000 00110010 01011101

edit 3:
Αυτά με το κόκκινο είναι η αναπαράσταση του 2 - που για κάποιο λόγο υπάρχει ένα επιπλέον κενό

edit 4:
problem solved - :smt021 :smt021
Το string περιείχε δύο κενά αλλά όταν γίνονται output είναι ένα αφού η html αγνοεί τα παραπάνω από ένα κενά

Re: php question

Posted: Wed Mar 16, 2011 8:31 pm
by barbarosa
Λοιπον έχω το εξής πρόβλημα. Σε μια δικτυακή εφαρμογή που φτιάχνω θέλω να βάλω σ ένα σημείο live search το οποίο θα πραγματοποιείται σε μια MSSQL Database. Δεν είχα κάνει κάτι παρόμοιο στο παρελθόν και μετά από λίγο ψάξιμο βρήκα αυτό -> http://www.w3schools.com/php/php_ajax_livesearch.asp

Παίρνω το html αρχείο clopy paste λοιπόν και φτιάχνω ένα δικό μου php αρχείο το οποίο εκτελεί το απαραίτητο query και επιστρέφει τ' αποτελέσματα.
Απ ότι φαίνεται όμως έχει πρόβλημα με το encoding των ελληνικών καθώς μου επιστρέφει πίσω ερωτηματικά τετραγωνάκια και τα γνωστά σχηματάκια που εμφανίζονται όταν υπάρχει κάποιο θέμα κωδικοποίησης.

Στα αρχεία μου έχω βάλει το κλασικό
<meta http-equiv="Content-Type" content="text/html; charset=windows-1253">
<meta http-equiv="Content-Language" content="el">
το οποίο δίνει στους browsers να καταλάβουν τα ελληνικά αλλά δεν είναι αρκετό και απ ότι φαίνεται το πρόβλημα είναι στη μεταφορά δεδομένων μέσω του AJAX.

Τι βελτιώσεις πρέπει να κάνω? Μπορεί να με βοηθήσει κάποιος?

Re: php question

Posted: Wed Mar 16, 2011 8:55 pm
by kwnccc
barbarosa wrote:Λοιπον έχω το εξής πρόβλημα. Σε μια δικτυακή εφαρμογή που φτιάχνω θέλω να βάλω σ ένα σημείο live search το οποίο θα πραγματοποιείται σε μια MSSQL Database. Δεν είχα κάνει κάτι παρόμοιο στο παρελθόν και μετά από λίγο ψάξιμο βρήκα αυτό -> http://www.w3schools.com/php/php_ajax_livesearch.asp

Παίρνω το html αρχείο clopy paste λοιπόν και φτιάχνω ένα δικό μου php αρχείο το οποίο εκτελεί το απαραίτητο query και επιστρέφει τ' αποτελέσματα.
Απ ότι φαίνεται όμως έχει πρόβλημα με το encoding των ελληνικών καθώς μου επιστρέφει πίσω ερωτηματικά τετραγωνάκια και τα γνωστά σχηματάκια που εμφανίζονται όταν υπάρχει κάποιο θέμα κωδικοποίησης.

Στα αρχεία μου έχω βάλει το κλασικό
<meta http-equiv="Content-Type" content="text/html; charset=windows-1253">
<meta http-equiv="Content-Language" content="el">
το οποίο δίνει στους browsers να καταλάβουν τα ελληνικά αλλά δεν είναι αρκετό και απ ότι φαίνεται το πρόβλημα είναι στη μεταφορά δεδομένων μέσω του AJAX.

Τι βελτιώσεις πρέπει να κάνω? Μπορεί να με βοηθήσει κάποιος?
Μήπως υπάρχει περίπτωση να θέλει κάτι τέτοιο

Code: Select all

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
αντί για windows-1253?

Re: php question

Posted: Wed Mar 16, 2011 9:05 pm
by cypher
Τσέκαρε με τα

Code: Select all

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
τι character set και collation εχει η βάση σου και βάλε το ίδιο στην php σελίδα. Δέν εχει νόημα να δοκιμάζεις random. :-p