Erreur Notice: Uninitialized string offset
Résolu
evia93
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
evia93 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
evia93 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une erreur : Notice: Uninitialized string offset de la ligne : $a_errors[] = '<div class="artforms-errorwsize">Le fichier est vide<br />( '.$max_size.' KBytes )<br />fichier: '.$_FILES['attfile']['name'][$g].'</div>';
Pourriez-vous me dire pourquoi s'il vous plaît ?
j'ai une erreur : Notice: Uninitialized string offset de la ligne : $a_errors[] = '<div class="artforms-errorwsize">Le fichier est vide<br />( '.$max_size.' KBytes )<br />fichier: '.$_FILES['attfile']['name'][$g].'</div>';
Pourriez-vous me dire pourquoi s'il vous plaît ?
A voir également:
- Uninitialized string offset: 1
- Notice gratuite - Guide
- Notice télécommande universelle grundig - Forum Téléviseurs
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
6 réponses
Que veux tu tester avec la condition suivante ?
Es-tu sur que la variable $_FILES['attfile']['name'][$g] existe ? Ne serait-il pas plutôt la variable $_FILES['attfile']['name'] ?
if ($_FILES['attfile']['name'][$g] != '')
Es-tu sur que la variable $_FILES['attfile']['name'][$g] existe ? Ne serait-il pas plutôt la variable $_FILES['attfile']['name'] ?
Salut,
Ton erreur provient surement de ce code :
En effet, la variable $_FILES['attfile']['name'] est une chaine de caractères.
Tu peux accéder aux différents offset d'une chaine avec la notation [], exemple :
Je ne sais pas à quoi correspond ta variable $g, mais sa valeur correspond à un offset non défini de ta chaine $_FILES['attfile']['name'].
Bonne journée
Ton erreur provient surement de ce code :
$_FILES['attfile']['name'][$g]
En effet, la variable $_FILES['attfile']['name'] est une chaine de caractères.
Tu peux accéder aux différents offset d'une chaine avec la notation [], exemple :
$machaine = 'test'; echo $machaine[0]; // affiche t echo $machaine[1]; // affiche e echo $machaine[2]; // affiche s echo $machaine[3]; // affiche t echo $machaine[4]; // erreur Uninitialized string offset: 4 -> cet offset n'existe pas
Je ne sais pas à quoi correspond ta variable $g, mais sa valeur correspond à un offset non défini de ta chaine $_FILES['attfile']['name'].
Bonne journée
Salut, merci pour ta réponse, je vois ce que tu veux dire mais je n'arrive toujours pas à résoudre mon problème.
Voici mon code depuis le début de la variable $g :
Voici mon code depuis le début de la variable $g :
$attachments = array(); for( $g = '0'; $g < $attfilescount; $g++ ) { //echo "error [" . $_FILES['attfile']['error'][$g] . "]"; if ( $_FILES['attfile']['error'][$g] == '4' && $_FILES['attfile']['name'][$g] == '' ){ // no file } elseif ($_FILES['attfile']['error'][$g] == 1 || $_FILES['attfile']['size'][$g] > ($max_size * 1024)){ // UPLOAD_ERR_INI_SIZE $a_errors[] = '<div class="artforms-error">Le fichier dépasse la taille maximum autorisée<br />(max. '.$max_size.' KBytes)<br />fichier : '.$_FILES['attfile']['name'][$g].'</div>'; } elseif ($_FILES['attfile']['size'][$g] == 0){ $a_errors[] = '<div class="artforms-errorwsize">Le fichier est vide<br />( '.$max_size.' KBytes )<br />fichier: '.$_FILES['attfile']['name'][$g].'</div>'; } elseif (!afMimeTypeIsInArray($_FILES['attfile']['type'][$g], $mimetypen_array)){ $chktypealert = '<div class="artforms-errorwtype">'; $chktypealert .= 'Type de fichier incorrect' .'<br />*.'.afGetFileExt( $_FILES['attfile']['name'][$g] ).' ('.$_FILES['attfile']['type'][$g].')<br /><br />fichier : '.$_FILES['attfile']['name'][$g].'<br />'; //$chktypealert .= '<br />'.JText::_( 'ARTF_ONLYFILESALLOWED' ).'<br /><a href="javascript:void(0);" onClick="javascript:if(document.getElementById(\'afallowedfilesspoiler'.$g.'\').style.display != \'\') { document.getElementById(\'afallowedfilesspoiler'.$g.'\').style.display = \'\';this.innerText = \'\'; this.value = \'Hide\'; } else { document.getElementById(\'afallowedfilesspoiler'.$g.'\').style.display = \'none\'; this.innerText = \'\'; this.value = \'Show\'; };">'.JText::_( 'ARTF_CLICKTOSHOW' ).'</a><div><div id="afallowedfilesspoiler'.$g.'" style="display: none;"><ul>'; foreach ($mtypes_key_array as $key){ $chktypealert .= "\n<li>".$mtypes_allowed[$key]['ext']."</li>"; } $a_errors[] = $chktypealert; } else { if ($_FILES['attfile']['name'][$g] != '' ){ $attachmentsname = str_replace(' ','-',$_FILES['attfile']['name'][$g]); $attachments[] = $artuplpfad.$attachmentsname; $attachmentstodb[] = $attachmentsname; move_uploaded_file($_FILES['attfile']['tmp_name'][$g],$artuplpfad.$attachmentsname); } } }
dès que j'enlève le [$g] je n'ai plus la même erreur, la page me donne : "you cannot load this page directly."
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question