Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά λίγη βοήθεια, Χρησιμοποιώ Xampp για Windows και θέλω να φτιάξω ένα φάκελο με την PHP, οπότε γράφω :

 

if (!mkdir("/'$username'/")) {

die('Failed to create folders...');

}

 

Και ενώ δεν μου βγάζει το μήνυμα στο die δεν μπορώ να βρώ πουθενά το φάκελο.... Που στο καλό τον τοποθετεί ?

Δημοσ.

Αν θυμάμαι καλά, σε win σύστημα δε πρέπει να χρησιμοποιήσεις το πρώτο slash, επομένως τo σωστό είναι

>if (!mkdir($username)) {
die('Failed to create folders...');
}

 

Δοκίμασε επίσης να ενεργοποιήσεις το error reporting της php για να δεις τι σφάλμα σου βγάζει

Δημοσ.

γράψε το παρακάτω και πες μου, θα πρέπει να σου φτιάξει ένα φάκελο στο ίδιο φάκελο που βρίσκεται και το αρχείο

>
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
$username = "haris";
mkdir($username);
?>

Δημοσ.

Παρεπιπτόντως το E_ALL δεν αρκεί για να βλέπεις όλα τα μηνύματα λάθους στην PHP. Για να εμφανίζει όλα τα μηνύματα πρέπει να του δώσεις την παρακάτω εντολή:

>
error_reporting(E_ALL | E_STRICT);

Δημοσ.

Τώρα έχω άλλο πρόβλημα με το mkdir, Δεν δουλεύει όταν το καλώ σε scripts που έχουν γίνει include.

 

για παράδειγμα, έχω το SignUp.php

 

>
include("classes/UserClasses.php");

include("classes/DataConnect.php");
$newConnection = new GetConnection();
$con = $newConnection->Connect();

$username = $_POST['txtname'];
$psw = $_POST['txtpsw'];
$email = $_POST['txtemail'];
$psw = md5($psw);								
$NameExists = UserExists($con, $username);
if(!$NameExists){
//mkdir($username);
NewUser($username, $psw, $email,$con);
Header('location:index.php');
}else{
Header('location:index.php?UserExists=true');
}
?>

 

Σε αυτό το script παίρνω με post τα πεδία μιας φόρμας και θέλω να δημιουργήσω το χρήστη σε βάση δεδομένων με την μέθοδο NewUser που δηλώνεται στο "classes/UserClasses.php"

Το πρόβλημά μου είναι πως ενώ η mkdir δουλεύει αν κληθεί μέσα στο signup.php δεν δουλεύει αν κληθεί μέσα στη συνάρτηση NewUser()

 

Η NewUser()

 

>
function NewUser($username,$psw,$email, $con){
	$folder = "users";
	mkdir($folder);
	$sql="INSERT INTO Users (UserName, Password, Email, Enabled, Type) VALUES ('$username','$psw','$email', 1, 1) ";
	if (!mysql_query($sql,$con))
	  	{
	  		die('Error: ' . mysql_error());
	  	}

}

 

Ξέρει κάποιος τι κάνω λάθος ?

Δημοσ.

Γενικότερα η συνάρτηση παίζει; Βγάλε τα die(), δε βοηθάνε σε αυτές τις καταστάσεις. Επίσης, άλλαξε το include σε require μήπως και δε βρίσκει καν το αρχείο με τη συνάρτηση

Αν βάλεις κάνα echo στη συνάρτηση θα στο εμφανίσει; Δοκίμασε να αφαιρέσεις τις γραμμές που αφορούν τη ΒΔ, μήπως και είναι εκεί το πρόβλημα και ψάχνεις σε άλλο σημείο

Δημοσ.

Ναι η συνάρτηση παίζει, οι εγγραφές στη βάση γίνονται κανονικά, τα echo δεν φαίνονται πουθενά όταν τα καλώ από τη συνάρτηση. Θα δοκιμάσω αυτά που λες και θα ανανεώσω, αργότερα όμως γιατί τώρα το έκαψα! Λες να χτυπάει το die και να μην το βλέπω ? Αφού γίνονται τα insert.... Αργότερα αργότερα .

Δημοσ.

Αυτό πάντως δουλεύει σε μένα μια χαρά

SignUp.php

>
<form method="post">
<input type="text" name="txtname" >
<input type="submit" value="test">
</form>

<?php
include("classes/UserClasses.php");

//include("classes/DataConnect.php");
//$newConnection = new GetConnection();
//$con = $newConnection->Connect();

if(isset($_POST['txtname']))
{
$username = $_POST['txtname'];
$psw = $_POST['txtpsw'];
$email = $_POST['txtemail'];
$psw = md5($psw);                                                               
$NameExists = false;
if(!$NameExists){
       //mkdir($username);
       NewUser($username, $psw, $email,$con);
       Header('location:index.php');
}else{
       Header('location:index.php?UserExists=true');
}

}
?>

 

UserClasses.php

>
<?php
function NewUser($username,$psw,$email, $con){
               $folder = $username;
               mkdir($folder);
               $sql="INSERT INTO Users (UserName, Password, Email, Enabled, Type) VALUES ('$username','$psw','$email', 1, 1) ";
               if (!mysql_query($sql,$con))
                       {
                               die('Error: ' . mysql_error());
                       }

}
?>

Δημοσ.

ΠΦΦΦΦΦΦ.... Εντάξει παιδιά λύθηκε, ευχαριστώ για τη βοήθειά σας, τελικά είχε δημιουργηθεί duplicate αρχείο και άλλο έγραφα εγώ άλλο χρησιμοποιούσε το script. Νιώθω την ανάγκη να το ρίξω στα ναρκωτικά για κάποιο λόγο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...