Ne pouvez pas obtenir le $_POST Variable
Il doit être un multiple formulaire d'upload pour les photos
- Je obtenir le Code HTML d'un Formulaire de Téléchargement:
<form action="upload.php" method="post" id="uploadform" name="uploadform" enctype="multipart/form-data">
<label id="filelabel" for="fileselect">Choose the Pictures</label>
<input type="file" id="fileselect" class="fileuplaod" name="uploads[]" multiple />
<span class="text">Exist Album</span><br />
<select id="existAlbum" name="existAlbum" size="1">
<option value="noAlbum">SELECT ALBUM</option>
</select>
<span class="text">OR</span>
<span class="text">New Album</span><br />
<input id="newAlbum" name="newAlbum" type="text" maxlength="20" placeholder="ALBUM NAME"/>
<input type="submit">
</form>
Le lien du formulaire à l'uploaded.php. Mais là, je reçois:
Notice: Undefined index: existAlbum in E:\xampp\htdocs\fotokurs\upload\upload.php on line 11
Notice: Undefined index: newAlbum in E:\xampp\htdocs\fotokurs\upload\upload.php on line 12
Voici l'upload.php:
<?PHP
$allowedExtensions = array('png', 'jpg', 'jpeg');
$maxSize = 20971520;
$i = 0;
$first = 0;
$exist_album = $_POST['existAlbum'];
$new_album = $_POST['newAlbum'];
Où est ma faute? Je ne le trouve pas...
MODIFIER
Ajouter la suite de mon code:
if( isset( $_POST['existAlbum'] ) or isset( $_POST['newAlbum'] ) ){
$exist_album = $_POST['existAlbum'];
$new_album = $_POST['newAlbum'];
}else{
echo 'no album <br />';
}
print_r($_POST);
nouveau de sortie:
no album
Array ( )
Notice: Undefined variable: new_album in E:\xampp\htdocs\fotokurs\upload\upload.php on line 20
Notice: Undefined variable: exist_album in E:\xampp\htdocs\fotokurs\upload\upload.php on line 21
Notice: Undefined variable: new_album in E:\xampp\htdocs\fotokurs\upload\upload.php on line 22
Notice: Undefined variable: exist_album in E:\xampp\htdocs\fotokurs\upload\upload.php on line 23
- Que voyez-vous dans
print_r($_POST)
?
Vous devez vous connecter pour publier un commentaire.
L'une de vos questions, c'est que
existAlbum
n'a pas de valeurs réelles associées.Vous avez
<option>Select Album</option>
qui n'a pas de valeur associée à l'élément. Si aucune valeur n'est associée, la sélectionner l'élément n'est pas affiché sur le serveur. Vous devriez le changer:<option value="">Select Album</option>
MODIFIER
Puisque l'utilisateur n'a qu'à proposer l'un ou l'autre, vous devez utiliser les éléments suivants pour définir vos variables:
Une chose importante à noter est que Internet Explorer ne prend pas en charge l'attribut placeholder.
EDIT 2
Voici mon test rapide de la page qui a travaillé test.php:
upload.php
résultats
existAlbum
comme je l'ai suggéré. Même si vous ne voulez pas utiliser l'optionSelect Album
, vous devez lui donner une valeur devalue=""
. Jetez un oeil à mon montage sur la façon dont vous devez définir vos variables.$_POST['uploads']
parce que dans$_FILES['upload']
Essayer si la valeur existAlbum, se mettre, parce qu'il ne retourne aucune valeur si vous il n'y a rien choisi. Vous pourriez donner le existAlbum sélecteur par défaut='1' ou quelque chose comme:
Je pense qu'il ya quelque chose de mal avec la règle enctype="multipart/form-data". Essayez seulement de supprimer cela, il doit être réglé automatiquement par votre navigateur.
Vous n'avez pas de valeur pour l'option sélectionner l'album, même si vous n'avez pas l'intention que l'option pour être utilisées apportent une valeur telle que 0, de sorte qu'il sera toujours défini dans les variables POST.
Si select n'est pas repris vous n'obtiendrez pas ce à tous (vous vous attendez à ce qu'il soit vide, ce qui n'est pas vrai). Vous devez d'abord vérifier
et de même pour la case à cocher.
La
newAlbum
chose devrait fonctionner comme des saisies de texte sont toujours là. Voirpour voir ce qui est vraiment là-bas, et dans mon cas, c'est sur "vide" soumettez-je obtenir:
BTW: vous devez utiliser
<?php
plutôt que<?PHP
.print_r()
donc, cela signifie que vous utilisez toujours une erreur dans le codeprint $_POST Tableau à l'aide de
print_r($_POST);
assurez-vous que votre action est correcte