What's new

Help Anu kaya kulang sa code ko?

loktoy

Eternal Poster
Joined
Oct 20, 2014
Posts
1,166
Solutions
2
Reaction
103
Points
496
Age
30
bakit kaya ganito error ko

Warning: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 94

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 94

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 98

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 98

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 109

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 109

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 110

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 110

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 116

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 116

ito code ko :
<div class="mt-3">
<input class="form-control" type="text" name="old-picture" value="<?php echo $picture; ?>">
<label for="formFile" class="form-label ">Upload Image</label>
<input class="form-control" type="file" name="new-profile" onchange ="displayPreview(this.files)" id="formFile">
</div>
<center>
<span id="preview"></span>
</center>
<hr class="my-4">
<button class="w-100 mb-2 btn btn-sm btn-lg rounded-3 btn-primary" name= "update" type="submit">Update</button>
</div>
</div>
</form>
<?php
if (isset($_POST['update'])){
$user_id =$_POST ['user_id'];
$payee_name = $_POST['fname'];
$email_address = $_POST['email'];
$username = $_POST['nname'];
$password = $_POST['pword'];
$cpword = $_POST['cpword'];
$old_picture = $_POST['old-picture'];
$new_picture = $_FILES['new-picture']['name'];
if($new_picture !==''){
$update_filename = $_FILES['new-picture']['name'];
}
else {
$update_filename = $old_picture;
}
$mysqli_query = "UPDATE registration SET payee_name = '$payee_name', email_address = '$email_address', username = '$username', password = '$password', confirm_password = '$cpword', image = '$update_filename' WHERE user_id = '$user_id'";
$query_run =mysqli_query($con, $mysqli_query);
if ($query_run){
if($_FILES['new-picture']['name'] !==''){
$image_name = $_FILES['new-picture']['name'];
$exploded_array = explode('.',$image_name);
$ext = end($exploded_array);
$image_name = "Profile_picture".rand(000,999).'.'.$ext;
$source_path = $_FILES['new-picture']['tmp_name'];
$destination_path = "photo_folder/".$image_name;

$uploadOk = 1;
if ($uploadOk == 1) {
if (move_uploaded_file($source_path, $destination_path)) {
$file_path = mysqli_real_escape_string($con, $destination_path);
unlink("photo_folder/" .$old_picture);
}else{
} }}
}}
?>
 
Ang error na iyong nakikita ay nagmumula sa mga undefined array keys at pag-access sa array offsets ng isang null value. Ito ay nangyayari dahil sa mga sumusunod na posibleng mga dahilan:

1. Undefined Array Key: Ito ay nagrerefer sa pag-access sa isang key sa isang array na hindi pa naideklara. Sa iyong code, nakikita natin ang mga undefined array keys na "new-picture" at "old-picture". Upang malunasan ito, siguraduhin na mayroong mga values para sa mga ito bago mo sila gamitin.

2. Trying to Access Array Offset on Value of Type Null: Ito ay nagrerefer sa pag-access sa isang offset ng isang array na ang value ay null. Ang mga undefined array keys na nabanggit sa itaas ay nagreresulta sa mga ganitong mga error. Upang malunasan ito, maaari mong suriin kung ang value ng array ay hindi null bago mo subukang ma-access ang offset nito.

Isa pang bagay na maaaring maging sanhi ng error ay ang hindi wastong paggamit ng variable names sa iyong code. Siguraduhin na ang mga variable names na iyong ginagamit sa pag-access ng mga values sa $_POST at $_FILES arrays ay tumpak at naaayon sa mga naideklarang mga keys.

Narito ang ilang mga pagpapayo upang maayos ang iyong code:

1. Palitan ang mga references sa "new-picture" at "old-picture" sa iyong HTML form ng tamang mga variable names. Halimbawa, palitan ang "new-profile" ng "new-picture" sa attribute na "name" ng input element.

2. Siguraduhin na may mga default values para sa "new-picture" at "old-picture" bago mo sila gamitin sa iyong PHP code. Maaari mong gamitin ang isset() function upang suriin kung mayroong mga values para sa mga ito.

3. I-update ang mga references ng mga undefined array keys sa iyong PHP code. Halimbawa, palitan ang "new-picture" ng "new-profile" at "old-picture" ng "old-picture" sa mga references ng $_FILES at $_POST arrays.

4. Suriin kung ang mga variable names na iyong ginagamit sa pag-access ng mga values sa $_POST at $_FILES arrays ay tumpak at naaayon sa mga naideklarang mga keys. Siguraduhing ang mga variable names na iyong ginagamit ay tumpak na nairepresenta ang mga naideklarang keys.

5. Surin ang iba pang bahagi ng iyong code upang matiyak na walang ibang mga error na nagdudulot ng mga warning na iyong nakikita.

Sana ay natulungan ka ng mga payo na ito. Kung mayroon kang iba pang mga katanungan, mangyaring sabihin lamang.
 

Similar threads

Back
Top